Разработчик (ы)) | Gerard J. Holzmann |
---|---|
Первоначальный выпуск | 1989 (1989) |
Стабильный выпуск | 6.5.2 / 6 декабря 2019 г.; 10 месяцев назад (06.12.2019) |
Репозиторий | |
Написано в | C |
Операционной системе | Linux. Microsoft Windows. Mac OS X |
Доступно на | английском языке |
Тип | Проверка модели |
Лицензия |
|
Веб-сайт | http://spinroot.com/ |
SPIN - это общий инструмент для проверки правильности параллельного программного обеспечения моделирование строго и в основном автоматизировано. Он был написан Джерардом Дж. Хольцманном и другими сотрудниками первоначальной группы Unix Исследовательского центра вычислительных наук в Bell Labs, начиная с 1980 года. Программное обеспечение было свободно доступно с 1991 года. и продолжает развиваться, чтобы идти в ногу с новыми разработками в этой области.
Системы, подлежащие проверке, описаны в Promela (Process Meta Language), который поддерживает моделирование асинхронных распределенных алгоритмов как недетерминированных автоматов (SPIN означает «Простой переводчик Promela»). Проверяемые свойства выражаются в виде формул линейной временной логики (LTL), которые инвертируются и затем преобразуются в автоматы Бюхи в рамках алгоритма проверки модели. Помимо проверки модели, SPIN также может работать как симулятор, следуя одному из возможных путей выполнения в системе и представляя пользователю полученную трассировку выполнения.
В отличие от многих средств проверки моделей, SPIN на самом деле не выполняет проверку модели, а вместо этого создает исходные коды C для средства проверки конкретной проблемы. Этот метод экономит память и повышает производительность, а также позволяет напрямую вставлять фрагменты кода C в модель. SPIN также предлагает большое количество опций для дальнейшего ускорения процесса проверки модели и экономии памяти, таких как:
С 1995 года (приблизительно) ежегодные семинары SPIN проводились для пользователей SPIN, исследователи и те, кто обычно интересуется проверкой моделей.
В 2001 году Association for Computing Machinery наградила SPIN своей наградой за системное программное обеспечение.