г. Новосибирск, 15-17 октября 2012 г.

Тумуров Э.Г.  

Применение логики программы для спецификации и верификации реактивных систем

Цель настоящей работы -- расширить понятие логики программы для представительного подкласса программ  -- реактивных систем.

В работе [1] определено понятие логики для программ, невзаимодействующих с внешним окружением программы. Логика такой программы – предикат (логическое утверждение), определяющий логику решения задачи и являющийся точным эквивалентом программы. Эффективно и просто строится логика императивных и функциональных программ для различных выражений, операторов и типов, за исключением указателей. На базе логики программы определена формула тотальной корректности программы относительно спецификации в виде предусловия и постусловия. Разработана система правил доказательства корректности программ для различных операторов, а также разработан метод дедуктивной верификации предикатных [2] программ, имеющий преимущества по сравнению с классическим  методом Хоара [3].

Для реактивной системы логика программы – набор предикатов на переменных состояния системы. Предикат из этого набора истинен после исполнения некоторой очередной акции трассы, составленной перемешиванием акций параллельных взаимодействующих процессов. Акция – максимальный фрагмент кода программы процесса (без циклов внутри), для которого логика легко строится. Содержательное описание алгоритма функционирования реактивной системы формализуется в виде спецификации, представленной машиной мета-состояний, как аппроксимации логики программы на множестве трасс.

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

 

Литература

 

[1]  Шелехов В.И. Логика невзаимодействующих программ //
4-я Российская школа-семинар "Синтаксис и семантика логических систем".  -- 2012.

[2] Карнаухов Н.С., Першин Д.Ю., Шелехов В.И. Язык предикатного программирования P. Новосибирск, 2010. -- 42с. (Препр. / ИСИ СО РАН; N 153).

[3]  Hoare C. A. R. An axiomatic basis for computer programming // Comm. of the ACM. 1969. Vol. 12 (10). P. 576-585.

 

Работа выполнена при поддержке РФФИ, проект 12-01-00686.

Тезисы доклада:abstracts_138077_ru.pdf
Файл с полным текстом: Tumurov_ReacLog.pdf


К списку докладов

Комментарии

Имя:
Код подтверждения: