NuSMV - NuSMV
Разработчики) | FBK-irst (Тренто, Италия), CMU (Питтсбург, Пенсильвания), Генуйский университет (Италия), Университет Тренто (Италия) |
---|---|
Стабильный выпуск | 2.6.0 / 14 октября 2015 г. |
Написано в | ANSI C |
Операционная система | Linux, Mac OS X, Майкрософт Виндоус |
Тип | Проверка модели |
Лицензия | LGPL v2.1 |
Интернет сайт | nusmv.fbk.eu |
NuSMV является повторной реализацией и расширением символического SMV модель проверки, первый инструмент проверки модели, основанный на Диаграммы двоичных решений (BDD).[1]Инструмент был разработан как открытая архитектура для проверки модели. Он нацелен на надежную проверку промышленных образцов, для использования в качестве серверной части для других инструментов проверки и в качестве инструмента исследования для формальная проверка техники.
NuSMV был разработан как совместный проект ITC-IRST (Istituto Trentino di Cultura в Тренто, Италия ), Университет Карнеги Меллон, то Генуэзский университет и Университет Тренто.
NuSMV 2, версия 2 NuSMV, наследует все функции NuSMV. Кроме того, он сочетает в себе BDD проверка модели на основе СИДЕЛ -проверка модели.[2] Он поддерживается Fondazione Bruno Kessler, правопреемник ITC-IRST.
Функциональные возможности
NuSMV поддерживает анализ спецификаций, выраженных в CTL и LTL. Взаимодействие с пользователем осуществляется с помощью текстового интерфейса, а также в пакетный режим.
Интерактивный запуск NuSMV
Оболочка взаимодействия NuSMV активируется из системной подсказки следующим образом:
[system_prompt] $ NuSMV -intNuSMV> впередNuSMV>
NuSMV сначала пытается прочитать и выполнить команды из файла инициализации, если такой файл существует и доступен для чтения, если -s передается в командной строке. Файл master.nusmvrc ищется в каталоге, определенном в переменной среды NUSMV _LIBRARY_PATH или в пути к библиотеке по умолчанию, если такая переменная не определена. Если такого файла не существует, домашний каталог и текущий каталог пользователя также будут проверены. Команды в файле инициализации выполняются последовательно. По завершении фазы инициализации отображается оболочка NuSMV, и теперь система готова к выполнению пользовательских команд.
Команда NuSMV обычно состоит из имени команды и аргументов вызываемой команды. Можно заставить NuSMV читать и выполнять последовательность команд из файла с помощью параметра командной строки -источник:
[system_prompt] $ NuSMV-источник cmd_file
Запуск пакета NuSMV
Если параметр -int не указан, NuSMV запускается как пакетная программа, имеющая следующую форму:
[system_prompt] $ NuSMV [команда параметры линии] input_file
Проверка спецификации LTL или спецификации CTL
NuSMV можно использовать для проверки наличия предопределенных LTL или же CTL Ограничения существуют для определенной модели. Например, у нас есть спецификация CTL, которую мы хотим проверить:
CTLSPECEF(proc5.государственный=критический);
Эта спецификация проверяет, существует ли такой путь выполнения, при котором состояние процесса 5 в какой-то момент является критическим. Пользователь может проверить, соответствует ли его модель этой спецификации, используя следующие команды.
[system_prompt] $ NuSMV [команда параметры линии] input_fileNuSMV> впередNuSMV> check_ctlspec
Если спецификация верна, NuSMV сообщит вам
- спецификация EF proc5.state = critical верно>NuSMV
Однако, если спецификация не выполняется в каком-либо состоянии, NuSMV вернет полную трассировку выполнения, показывающую, как это не удается.
Смотрите также
- Проверка модели вращения средство проверки общей модели для асинхронных программных систем
- CADP (Построение и анализ распределенных процессов), набор инструментов для формального проектирования асинхронных параллельных систем.
Рекомендации
внешняя ссылка
- Сайт NuSMV
- Веб-сайт Nuseen: набор инструментов на основе eclipse для проверки моделей NuSMV.