КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Модели программ
Для решения задач автоматической генерации программных инвариантов в качестве модели программ используются U-Y схемы программ над памятью, интерпретированные над алгебрами данных. В этой модели программу представляет инициальный ориентированный граф с выделенными заключительными вершинами. Вершины этого графа называются состояниями, а дуги – переходами. Состояния программы – суть ее контрольные точки. Переходы программы отмечены условиями и вычисляющими операторами (определения см. ниже). Эта модель по существу эквивалентна модели transition system, используемой в современных работах западных авторов. Отметим, что эта модель представляет неструктурированную программу. Наши алгоритмы доказательства и генерации полиномиальных инвариантных равенств для программ, алгеброй данных которых является поле или области целостности. в качестве модели программы используют выражения в алгоритмической алгебре Глушкова, представляющие структурированные программы. Различие моделей программ не является существенным, т.к. для преобразования U-Y схемы программы в эквивалентное ей выражение алгоритмической алгебры Глушкова можно использовать, например, алгоритм анализа конечного автомата. Алгоритм вычисления полиномиальных инвариантных равенств, изложенный ниже, основан на свойстве нетеровости колец полиномов. Мы рассмотрим предложены алгоритмы, основанные на вычислениях базисов Гребнера.
Основные операции алгоритмической алгебры Глушкова: , (1) Здесь P, Q – программы, а u – условия. Семантику этих операций определим с помощью операторов языка Паскаль: ~ // последовательное выполнение ~ If u then P else Q ~ While u do P ~ Repeat P until u Атомарными программами являются т.н. вычисляющие операторы (определение см. ниже). Таким образом, семантика программы определяется семантикой вычисляющих операторов и условий, т.е. интерпретацией программы над некоторой областью данных.
Дата добавления: 2014-01-20; Просмотров: 467; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |