<<
>>

Модель Крипке

Введём понятие множество атомарных предложений (элементарных высказываний) - предложений, внутренняя структура которых не может изменяться. Атомарные предложения (AP)- это базовые предложения, которые могут быть сделаны.

Примерами атомарных предложений являются предложения «X больше 0» или «xравно 1» для некоторой переменной X. Атомарные предложения определяются над множеством переменных x, y, ..., констант 0, 1, 2, ..., функций max, gcd,... и предикатов таких как, например, X = 2, X mod 2 = 0. Также допускаются предложения вида max(x, y) ≤ 3 или X = y.

Выбор множества атомарных предложений APважен, так как он фиксирует базовые свойства, которые могут быть сформулированы для исследуемой программы. Поэтому фиксация множества атомарных предложений может быть названа первой ступенью абстракции. Если, например, не позволить множеству APссылаться на некоторые переменные программы, то ни одно свойство, ссылающееся на эти переменные, не может быть сформулировано, и, как следствие, ни одно такое свойство не может быть проверено.

Моделью Крипке (структурой Крипке)[1]над множеством атомарных предложений APназывается тройка (S, R, Label), где

• S - непустое множество состояний;

• R czS х S - тотальное отношение переходов на S, которое сопоставляет

элементу s ∈ S его возможных потомков;

• Label: S → 2apсопоставляет каждому состоянию s є Sатомарные предложения Label(s),которые верны в s.

Отношение R ⊂ S ? Sназывается тотальным, если оно ставит в соответствие каждому состоянию sє Sкак минимум одного потомка (Vsє S: Ξs'є S: (s, s') є R).

Иногда требуют, чтобы для модели Крипке был задан набор начальных состояний S0 ⊂ S.

Путь в модели Крипке из состояния s0 - это бесконечная

последовательность состояний π = s0 si s2... такая, что для всех i ≥ 0 выполняется R(si, si+1).

Модель Крипке может обеспечить различную степень детализации переходов. Переходы в модели Крипке должны моделировать атомарные переходы исходной программы.

При этом нельзя допускать ситуации, когда модель Крипке содержит состояния, которые не наблюдаются в верифицируемой программе. В этом случае может оказаться, что при верификации будут найдены не существующие ошибки.

Для пояснения приведем пример из книги [1]. Рассмотрим программу с двумя переменными х, у и двумя переходами αи β,которые могут выполняться параллельно:

α: х:= х+ у,

β: у:=у+ х.

В начальном состоянии х = 1 л у = 2. Рассмотрим более детальную реализацию переходов αи β,в которой используются команды ассемблера:

α0: load R1, х β0: load R2, у

α1: add R1, у β1: add R2, х

α2: store R1, х β2: store R2, у

Если в программе выполняется сначала переход а, а затем переход β,то она попадает в состояние x = 3 л у = 5. Если переходы выполняются в обратном порядке, то программа попадает в состояние x = 4 л у = 3. Если же переходы совмещаются в следующем порядке: α0, β0, α1, β1, α2, β2,то в результате она попадет в состояние x = 3 л у = 3.

Пусть состояние x = 3 л у = 3 является ошибочным для программы, и требуется проверить, может ли система оказаться в этом состоянии. Допустим также, что система реализована так, что переходы αи βвыполняются атомарно. В этом случае система не может оказаться в ошибочном состоянии. Однако если построить модель Крипке с более детальными переходами, то в процессе верификации будет найдена ошибка, которой не существует в исходной программе.

Пусть теперь, программа реализована детально, и возможно выполнение последовательности α0, β0, α1, β1, α2, β2.Тогда программа неверна, поскольку может попасть в ошибочное состояние. Однако если построить модель Крипке с использованием лишь переходов αи β, то верификация покажет, что программа верна, но это будет неправильным результатом.

1.7.

<< | >>
Источник: Лукин Михаил Андреевич. Верификация автоматных программ. Диссертация на соискание ученой степени кандидата технических наук. Санкт-Петербург - 2014. 2014

Еще по теме Модель Крипке:

  1. Основные расчетные модели силового сопротивления железобетона
  2. Построение имитационной модели коммутационного устройства
  3. Структурная модель устройства коммутации с параллельно­конвейерной диспетчеризацией пакетов
  4. Развитие теории хеджирования и ценообразования опционов после открытия модели Блэка-Шоулса
  5. 2.2. Анализ метода квантильного хеджирования в рамках модели Блэка-Шоулса
  6. §1. Историческое развитие и современные модели организации нотариата
  7. МЕТОД И АЛГОРИТМ КОММУТАЦИИ С ПАРАЛЛЕЛЬНО­КОНВЕЙЕРНОЙ ДИСПЕТЧЕРИЗАЦИЕЙ ПАКЕТОВ. СТРУКТУРНАЯ МОДЕЛЬ КОММУТАЦИОННОГО УСТРОЙСТВА
  8. Особенности применения метода хеджирования ожидаемых потерь в зависимости от параметров модели
  9. Анализ метода хеджирования ожидаемых потерь в рамках модели Блэка-Шоулса
  10. 65 Понятие, объекты и субъекты патентного права. Условия патентноспособности.
  11. Структурная организация коммутационного устройства
  12. СОДЕРЖАНИЕ
  13. Свойства эванесцентных волн в электрически поляризованном ди­электрике. Скомпенсированный АФМ.
  14. 2.3. Численный анализ чувствительности метода квантильногс хеджирования
  15. П1 Уравнения связи и спектр нормальных магнитных поляритонов в нескомпенсированном ЦС АФМ или ЦАС АФМ
  16. Список литературы
  17. ЗАКЛЮЧЕНИЕ