Задание
1. Выбрать вычислительный процесс и на его примере:
a. построить метамодель «асинхронный процесс» и определить свойства исходного процесса на основе анализа метамодели;
b. выполнить операции над процессом: репозиция, редукция, композиция, и оценить полученные результаты с практической точки зрения;
c. построить предметную интерпретацию метамодели на основе сети Петри и сделать вывод о динамических характеристиках исходного процесса.
2. Оформить отчет.
Описание процесса
операция асинхронный метамодель процесс
Предлагается рассмотреть процессы и ситуации происходящие при чтении / записи с CD-R– устройств. CD-R (устройство считывания и записи компакт-дисков) – напоминают обычные дисководы. Однако кроме приводов шпинделя и головки они имеют еще и механизм загрузки диска и более сложную головку считывания. Считывающая головка состоит из лазерного излучателя, фотоприемника и наклонного зеркала, зафиксированных на подвижной каретке головки. Для записи используются специальные диски, иногда называемые мишенями (Target). При записи луч лазера в нужных местах дорожки выжигает ямки в слое краски. За счет разницы коэффициента отражения ямок и невыжженных участков поверхности при считывании возникает модуляция яркости принятого луча, которая и несет полезную информацию. Обмен данными с памятью происходит без участия центрального процессора, для этого используется канал прямого доступа к памяти – DMA (DirectMemoryAccess).
Практически все устройства CD-R позволяют воспроизводить и аудио-диски, для чего они имеют встроенные ЦАПы (цифроаналоговые преобразователи) и аналоговый интерфейс с линейным выходом стереосигнала. Чтобы аудиоплейер не пытался воспроизводить установленный по ошибке диск с данными (это угрожает стереосистемам и ушам слушателя), для трека, содержащего данные, устанавливается флаг Data. Этот флаг проставляется в первом секторе диска.
Построение метамодели «асинхронный процесс»
Компоненты процесса
p1=1 | есть диск в лотке |
p2=1 | если диск не пустой |
p3=1 | если аудио диск |
p4=1 | ЦАП в работе (есть данные) |
p5=1 | головка считывает |
p6=1 | головка записывает |
p7=1 | аналоговый интерфейс включен |
p8=1 | канал DMA в работе |
Множество ситуаций процесса.
S1 – в лоток вставлен диск;
S2 – считывание аудио информации;
S3 – перевод цифровых данных в аналоговые;
S4 – вывод сигнала в аналоговый интерфейс;
S5 – считывание данных;
S6 – вывод данных в канал DMA;
S7 – получение данных из канала DMA;
S8 – запись данных на диск.
Таблица векторов ситуаций
Ситуация | Вектор | |||||||
P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | |
S1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
S2 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 |
S3 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
S4 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
S5 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
S6 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
S7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
S8 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Инициаторы: I={S1, S2, S3, S5, S7}.
S1 – ситуация, при которой в лоток вставлен диск, что свидетельствует о готовности устройства к выполнению своих основных функций, то есть непосредственно инициирует данный процесс;
S2 – ситуация, при которой происходит считывание аудиоинформации, что влечет за собой работу с аудиоданными;
S3 – ситуация, при которой происходит перевод цифровых данных в аналоговые, что влечет за собой вывод этих данных в аналоговый интерфейс;
S5 – ситуация считывания данных инициирует вывод данных в канал DMA;
S7 – ситуация чтения данных из канала DMA, инициирует запись их на диск.
Результанты: R={S4,S6,S8}.
S4, S6, S8 – ситуации являются результатом функционирования устройства, а именно: вывод сигнала в аналоговый интерфейс, вывод данных в канал DMA и запись данных на диск, соответственно.
Граф процесса.
Свойства рассматриваемого процесса.
Классы эквивалентности:
Начальным классом эквивалентности является класс {S1,S2,S5,S7}.
Конечными классами эквивалентности являются классы: {S8}, {S4}, {S6}.
Допустимые траектории:
Где: S1-S7-S8 – запись информации на диск;
S1-S2-S3-S4 – проигрывание аудио диска;
S1-S5-S6 – чтение информации с диска.
1) АП является эффективным, т.к. из инициаторов все траектории ведут в результанты, и каждая из траекторий, приводящая к результантам, начинается в каком-либо инициаторе; в процессе нет циклов;
2) АП не является управляемым, так как траектории из инициаторов ведут в различные заключительные классы {S8}, {S4}, {S6};
3) АП не является простым, т.к. из инициатора
существует переход к инициаторам не выполняется .Операции над процессами
Репозицией асинхронного процесса P = (S, F, I, R) называется эффективный асинхронный процесс P’ = (S’, F’, I’, R’), такой что S’ ÍÍ (IÈRÈSD), I’ ÍR, R’ ÍI.
Репозиция – это возобновление процесса, его повторная активации. Практически все процессы в реальных технических и вычислительных системах имеют репозицию, в них имеет место эффект возобновляемости. В случае с процессом работы CD-ROMа репозиция будет выполняться при повторном считывании аудио информации (считывании нового трека).
Объединенный граф основного процесса и репозиции:
В результате проведения операции репозиции над процессом получили новый процесс, в котором считывание аудиоинформации может происходить требуемое число раз, что более приближено к реальным условиям.
Отношение
задает траекторию перехода от элемента из множества I’ к элементам множества R’. Т.к. I’R, R’Iи F’0, то репозиция является частичной.Редукция позволяет выделить отдельные ветви процесса, что характерно при рассмотрении отдельных ситуаций. Таким образом, редукция может быть полезна для изучения отдельных элементов процесса.
Проведем редукцию нашего процесса так, чтобы в результате из процесса выделились ветви чтения и записи на диск.
Ситуации исходного процесса.
S1 – в лоток вставлен диск;
S2 – считывание аудио информации;
S3 – перевод цифровых данных в аналоговые;
S4 – вывод сигнала в аналоговый интерфейс;
S5 – считывание данных;
S6 – вывод данных в канал DMA;
S7 – получение данных из канала DMA;
S8 – запись данных на диск.
Ситуация | Вектор | ||||||||
P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | ||
S1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
S2 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | |
S3 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | |
S4 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | |
S5 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | |
S6 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
S7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |
S8 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Инициаторы и результанты исходного процесса:
I={S1, S2, S3, S5, S7}.
R={S4, S6, S8}.
В качестве входной компоненты выберем 1, 2 и3 элементы векторов ситуаций.