Модель Крипке
Модель Крипке (англ. Kripke structure) — это один из вариантов недетерминированного конечного автомата, который был предложен Солом Крипке. Этот вид НКА применяется при проверке моделей для представления поведения системы.
Модель Крипке является простой абстрактной машиной, позволяющей описать идеи вычислительной машины без добавления особых сложностей. Модель представляется ориентированным графом, вершины которого описывают достижимые состояния системы, а ребра — переходы из состояния в состояние.
Функция пометок сопоставляет каждой вершине множество свойств, которые выполняются в соответствующем состоянии.
Формальное определение
Пусть [math]\displaystyle{ AP }[/math] множество атомарных высказываний (булевых выражений над множеством переменных, констант и предикатных символов). Моделью Крипке[1] назовем четверку [math]\displaystyle{ M = (S,\; I,\; R,\; L) }[/math] состоящую из:
- конечного множества состояний [math]\displaystyle{ S\; }[/math];
- множества начальных состояний [math]\displaystyle{ I \subseteq S }[/math];
- отношения перехода [math]\displaystyle{ R \subseteq S \! \times \! S \; }[/math], где [math]\displaystyle{ \; \forall s \! \in \! S, \; \exist s^' \!\! \in \! S }[/math] такое, что [math]\displaystyle{ (s,s^') \in R }[/math];
- функции пометок [math]\displaystyle{ L: S \rightarrow 2^{AP} }[/math].
Условие накладываемое на отношение R утверждает, что каждое состояние имеет следующее. Если требуется эмулировать взаимную блокировку, в модель Крипке необходимо просто добавить ребро из состояния блокировки в себя.
Функция пометок L для каждого состояния s ∈ S определяет множество L(s) всех атомарных утверждений верных в s.
См. также
Примечания
- ↑ Кларк Э. М., Грамберг О., Пелед Д. Верификация моделей программ. Model Checking. М.: МЦНМО. 2002.