NuSMV - NuSMV

NuSMV
Разработчики)FBK-irst (Тренто, Италия), CMU (Питтсбург, Пенсильвания), Генуйский университет (Италия), Университет Тренто (Италия)
Стабильный выпуск
2.6.0 / 14 октября 2015 г.; 5 лет назад (2015-10-14)
Написано в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 (Построение и анализ распределенных процессов), набор инструментов для формального проектирования асинхронных параллельных систем.

Рекомендации

  1. ^ К.Л. Макмиллан. Проверка символьной модели. В Kluwer Academic Publ., 1993.
  2. ^ А. Биэр, А. Чиматти, Э. Кларк, Ю. Чжу. Проверка символьной модели без BDD. В «Инструменты и алгоритмы для построения и анализа систем», в TACAS’99, март 1999 г.

внешняя ссылка