- •Содержание
- •Лабораторная работа 1 Интерпретация стандартных схем программ
- •Цель работы.
- •Лабораторная работа 2 Построение транслятора
- •Теоретические сведения
- •На основании составленных таблиц можно записать входной текст через введённые дескрипторы (дескрипторный текст):
- •Цель работы.
- •Лабораторная работа 3 Высказывания. Вычисление и исчисление высказываний
- •Цель работы.
- •Лабораторная работа 4 Методы нисходящего анализа
- •Лабораторная работа 5 Методы восходящего анализа
- •Лабораторная работа 6 Реализация методов верификации программ
- •Цель работы.
- •Лабораторная работа 7, 8 Реализация сетей Петри
- •Цель работы.
- •Лабораторная работа 9 Исследование сетей Петри
- •Цель работы.
- •Лабораторная работа 10 Анализ сети Петри на основе матричных уравнений.
- •Цель работы.
Содержание отчета:
Наименование работы.
Цель работы.
Описание задания.
Описание доказательства правильности программы с помощью индуктивных утверждений по этапам алгоритма.
Ответы на контрольные вопросы.
Контрольные вопросы:
Что называется верификацией?
Какие индуктивные принципы существуют?
Из каких этапов состоит алгоритм доказательства правильности программ с помощью индуктивных утверждений?
Что называется индуктивным утверждением?
Для чего используются правила верификации К. Хоара?
Лабораторная работа 7, 8 Реализация сетей Петри
Цель работы:
Изучить принципы реализации сетей Петри.
Построить граф сетей Петри.
Литература:
Молчанов А.Ю. Системное программное обеспечение. – СПб.: Питер, 2006. – 395с.
Свердлов С.З. Языки программирования и методы трансляции. – СПб.: Питер, 2007. – 637с.
Тонаненбаум Э. Компьютерные сети. – СПб.: Питер, 2008 – 991с.
Сырецкий Г.А. Информатика. Фундаментальный курс. Том 1, 2. – Москва, 2005- 234с.
Душин В.К. Теория основных информационных процессов и систем. – Москва, 2009 – 348 с.
Русская компьютерная библиотека. URL: http://www.rusdoc.ru
Основное оборудование:
ПЭВМ.
Среда разработки Паскаль, С++, Delphi 7.
Задание:
Изучить теоретический материал по теме «Моделирование систем на основе сетей Петри».
Выполнить задания, построить дерево восходящего разбора.
Составить отчет по работе.
Порядок выполнения работы:
Запустить среду разработки.
Выполнить следующие задания:
Теоретические сведения
Сеть Петри состоит из четырех элементов: P - множество позиций (мест);
T - множество переходов; I (от англ. in) - входная функция; O (от англ. out) - выходная функция. Входная и выходная функции связаны с переходами и позициями. Входная функция I отображает переход tj в множество позиций I(tj), называемых входными позициями перехода, а выходная функция O отображает переход tj в множество позиций O(tj), называемых выходными позициями перехода tj. Структура сети Петри определяется данной четверкой. Комплектом будем называть конечную совокупность объектов, в которой могут встречаться одинаковые объекты.
Сеть Петри С является четверкой C=(P,T,I,O),где P={p1,p2,...,pn} - конечное множество позиций, n0; T={t1,t2,...,tm} - конечное множество переходов, m0, причем множество позиций и множество переходов не пересекаются (PT=Ґ); I: TP - отображение из переходов в комплекты позиций (входная функция);
О: TP - отображение из переходов в комплекты позиций (выходная функция).
Сеть Петри состоит из четырех элементов: P - множество позиций (мест);
T - множество переходов; I (от англ. in) - входная функция; O (от англ. out) - выходная функция. Входная и выходная функции связаны с переходами и позициями. Входная функция I отображает переход tj в множество позиций I(tj), называемых входными позициями перехода, а выходная функция O отображает переход tj в множество позиций O(tj), называемых выходными позициями перехода tj. Структура сети Петри определяется данной четверкой. Комплектом будем называть конечную совокупность объектов, в которой могут встречаться одинаковые объекты.
Сеть Петри С является четверкой C=(P,T,I,O), где P={p1,p2,...,pn} - конечное множество позиций, n0; T={t1,t2,...,tm} - конечное множество переходов, m0, причем множество позиций и множество переходов не пересекаются (PT=Ґ); I: TP - отображение из переходов в комплекты позиций (входная функция); О: TP - отображение из переходов в комплекты позиций (выходная функция).
Маркировка (разметка) M - это присваивание фишек позициям сети Петри. Фишка - это базовое понятие сетей Петри (подобно позициям и переходам). Фишки используются для определения понятия "выполнение сети Петри". Фишки присваиваются позициям, однако их количество и положение фишек при выполнении сети Петри могут изменяться.
Маркировка сети Петри C=(P,T,I,O) есть функция m, отображающая множество позиций P в множество неотрицательных целых чисел N: m: PN.
Маркировка m может быть определена как n-вектор: m=(m1, m2,..., mn), где n=|P| и каждое miN, i=1,...,n. Вектор m определяет для каждой позиции pi сети Петри количество фишек в этой позиции: количество фишек в позиции pi есть mi , т.е. m (pi)= mi. Маркированная сеть Петри M=(C, m) есть совокупность структуры сети Петри C=(P,T,I,O) и маркировки m. ¦¦¦
Выполнением (работой) сети Петри управляют количество и распределение фишек в сети. Фишки находятся в кружках и управляют выполнением переходов сети. Сеть Петри выполняется посредством запусков переходов. Переход запускается удалением фишек из его входных позиций и образованием новых фишек, помещаемых в его выходные позиции. Переход может запускаться только в том случае, когда он разрешен. Переход называется разрешенным, если каждая из его входных позиций имеет число фишек по крайней мере равное числу дуг из позиции в переход. Фишки во входной позиции, которые разрешают переход, называются его разрешающими фишками. Например, если позиции P1 и P2 служат входами для перехода T4, тогда T4 разрешен, если P1 и P2 имеют хотя бы по одной фишке. Для перехода T7 с входным комплектом {P6,P6,P6} позиция P6 должна обладать по крайней мере тремя фишками, для того чтобы T7 был разрешен. Переход запускается удалением всех разрешающих фишек из его входных позиций и последующим помещением в каждую из его выходных позиций по одной фишке для каждой дуги. Переход T3 с I(T3)={P2} и О(T3)={P7,P13} разрешен всякий раз, когда в P2 будет хотя бы одна фишка. Переход T3 запускается удалением одной фишки из позиции P2 и помещением одной фишки в позицию P7 и в P13 (его выходы). Дополнительные фишки в позиции P2 не влияют на запуск T3 (хотя они могут разрешать дополнительные запуски T3). Запуск перехода в целом заменяет маркировку m сети Петри на новую маркировку m'. Если какая-либо входная позиция перехода не обладает достаточным количеством фишек, то переход не разрешен и не может быть запущен.
Задание
Постройте графы следующих сетей Петри используя среду программирования:
C={P,T,I,O}, P={p1,p2,p3,p4,p5,p6},
T={t1,t2,t3,t4,t5};
I(t1)={p1}; I(t2)={p3}; I(t3)={p2,p3}; I(t4)={p4,p5,p5,p5};I(t5)={p2};
O(t1)={p2,p3}; O(t2)={p3,p5,p5}; O(t3)={p2,p4}; O(t4)={p4};O(t5)={p6};
C={P,T,I,O}, P={p1,p2,p3,p4,p5,p6,p7,p8,p9}, T={t1,t2,t3,t4,t5,t6};
I(t1)={p1}; I(t2)={p8}; I(t3)={p2,p5}; I(t4)={p3}; I(t5)={p6,p7}; I(t6)={p4,p9}; O(t1)={p2,p3}; O(t2)={p1,p7}; O(t3)={p6}; O(t4)={p4};O(t5)={p9}; O(t6)={p5,p8}.
На графах сетей Петри из указанных выше задач, укажите маркировку:
m=(1,0,2,0,3,1) для сети Петри (а);
m=(1,2,3,4,34,0,0,0,1) для сети Петри.
Сдать отчет по работе.
