Я обнаружил, что маркированные переходные системы являются хорошей моделью для моего приложения, а именно есть статья о моделировании вариантов использования с использованием LTS. Вопрос в том, что можно легко доказать о LTS? Я хотел бы повторно использовать существующие решения, чтобы увидеть, являются ли они полезными для моего приложения. Я хотел бы знать, какие свойства LTS (и вариантов использования) можно легко доказать автоматически, поэтому я могу решить, есть ли практический аналог проблемы для вариантов использования.
13
Ответы:
Формулы логики Хеннеси-Милнера очень легко доказать о меченых системах переходов. Однако эта логика достаточно невыразительна (нет способа указать свойства бесконечных путей), поэтому вам, вероятно, захочется рассмотреть некоторые ее расширения, такие как линейная временная логика. У LTL есть решаемая, но полная PSPACE проблема.
Средство проверки моделей SPIN является широко используемым инструментом для проверки свойств LTL моделей.
источник
Еще два инструмента, дополняющих один из предложенных Neel, - это muCRL и mCRL2 . Оба набора инструментов имеют довольно широкий набор инструментов для определения LTS на разных уровнях абстракции. Инструменты визуализации пространства состояний и проверки моделей также доступны. Основной логикой является исчисление модальных высказываний , которое гораздо более выразительно, чем LTL, но все еще разрешимо. Другие полезные инструменты позволяют выполнять уменьшение пространства состояний по модулю бисимуляции, чтобы получить наименьшее представление о вашей системе.
источник
Чтобы расширить ответ Дейва, модальное исчисление му также связано с понятием игр с бесконечной четностью. Здесь есть очень хороший набор лекционных заметок: http://pub.ist.ac.at/gametheory/, которые представляют связь. Как примечание стороны, не только разрешимо модальное исчисление мю, это в (см. Примечания лекции).Н П ∩ c o - N P
источник
Свойства CTL могут быть проверены за линейное время (см. Кларк и др. ).
Давным-давно я работал в компании, где многие коллеги использовали Rulebase для проверки интегральных схем. Язык свойств PSL , он стандартизирован IEEE и является своего рода CTL на стероидах.
источник
В ходе курса я познакомился с Изабель , «ассистентом по общему доказательству». Он поддерживает (полное) функциональное программирование (близкое к ML) и логику высшего порядка. Вы можете сами определить (или найти) языки для LTS и LTL и доказать теоремы о них. Я не знаю, насколько это легко, но это, безусловно, работает.
источник
Если ваш фон интерпретируется как CTL через структуры Крипке, и вы ищете что-то похожее, интерпретируемое через LTS, то ACTL (CTL на основе действий) может быть интересным.
Еще в 1990 году Р. Де Никола и Ф. Ваандрагер представили ACTL как CTL на основе действий (« Действие против логики на основе состояний» для систем переходов , Семантика систем параллельных процессов (1990), с. 407-419). Он был дополнительно изучен в 1993 г. (Р. Де Никола, А. Фантехи, С. Гнеси, Г. Ристори: основанная на действии структура для проверки логических и поведенческих свойств параллельных систем , компьютерных сетей и систем ISDN, том 25, № 7, с. 761-778.) И совсем недавно, в 2008 г. (Р. Меолич, Т. Капус, З. Брезочник: ACTLW - логика дерева вычислений на основе действий с оператором , кроме тех , кто работает, Information Science, 178 (6) , стр. 1542-1557.)
Основная идея ACTL (не путать с подмножеством CTL с той же аббревиатурой) состоит в том, чтобы иметь такие же операторы и алгоритмы проверки моделей, как и для CTL. Более того, операторы определяются выражениями с фиксированной запятой, аналогичными тем, которые используются для CTL. Сложность (я не уверен насчет выразительности) ACTL находится где-то между HML и модальным µ-исчислением высказываний.
источник