Чтение и запись с CD-R-устройств
Задание
Выбрать вычислительный процесс и на его примере:
построить метамодель «асинхронный процесс» и определить свойства исходного процесса на основе анализа метамодели;
выполнить операции над процессом: репозиция, редукция, композиция, и оценить полученные результаты с практической точки зрения;
построить предметную интерпретацию метамодели на основе сети Петри и сделать вывод о динамических характеристиках исходного процесса.
Оформить отчет.
Описание процесса
операция асинхронный метамодель процесс
Предлагается рассмотреть процессы и ситуации происходящие при чтении / записи с CD-R – устройств. CD-R (устройство считывания и записи компакт-дисков) – напоминают обычные дисководы. Однако кроме приводов шпинделя и головки они имеют еще и механизм загрузки диска и более сложную головку считывания. Считывающая головка состоит из лазерного излучателя, фотоприемника и наклонного зеркала, зафиксированных на подвижной каретке головки. Для записи используются специальные диски, иногда называемые мишенями (Target). При записи луч лазера в нужных местах дорожки выжигает ямки в слое краски. За счет разницы коэффициента отражения ямок и невыжженных участков поверхности при считывании возникает модуляция яркости принятого луча, которая и несет полезную информацию. Обмен данными с памятью происходит без участия центрального процессора, для этого используется канал прямого доступа к памяти – DMA (Direct Memory Access).
Практически все устройства CD-R позволяют воспроизводить и аудио-диски, для чего они имеют встроенные ЦАПы (цифроаналоговые преобразователи) и аналоговый интерфейс с линейным выходом стереосигнала. Чтобы аудиоплейер не пытался воспроизводить установленный по ошибке диск с данными (это угрожает стереосистемам и ушам слушателя), для трека, содержащего данные, устанавливается флаг Data. Этот флаг проставляется в первом секторе диска.
Построение метамодели «асинхронный процесс»
Компоненты процесса
p>1>=1 |
есть диск в лотке |
p>2>=1 |
если диск не пустой |
p>3>=1 |
если аудио диск |
p>4>=1 |
ЦАП в работе (есть данные) |
p>5>=1 |
головка считывает |
p>6>=1 |
головка записывает |
p>7>=1 |
аналоговый интерфейс включен |
p>8>=1 |
канал DMA в работе |
Множество ситуаций процесса.
S>1 >– в лоток вставлен диск;
S>2 >– считывание аудио информации;
S>3 >– перевод цифровых данных в аналоговые;
S>4 >– вывод сигнала в аналоговый интерфейс;
S>5 >– считывание данных;
S>6 >– вывод данных в канал DMA;
S>7 >– получение данных из канала DMA;
S>8 >– запись данных на диск.
Таблица векторов ситуаций
Ситуация |
Вектор |
|||||||
P>1> |
P>2> |
P>3> |
P>4> |
P>5> |
P>6> |
P>7> |
P>8> |
|
S>1> |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
S>2> |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
S>3> |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
S>4> |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
S>5> |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
S>6> |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
S>7> |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
S>8> |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
Инициаторы: I={S>1,> S>2,> S>3,> S>5,> S>7>}.
S>1> – ситуация, при которой в лоток вставлен диск, что свидетельствует о готовности устройства к выполнению своих основных функций, то есть непосредственно инициирует данный процесс;
S>2> – ситуация, при которой происходит считывание аудиоинформации, что влечет за собой работу с аудиоданными;
S>3> – ситуация, при которой происходит перевод цифровых данных в аналоговые, что влечет за собой вывод этих данных в аналоговый интерфейс;
S>5> – ситуация считывания данных инициирует вывод данных в канал DMA;
S>7> – ситуация чтения данных из канала DMA, инициирует запись их на диск.
Результанты: R={S>4,> S>6,> S>8>}.
S>4>, S>6>, S>8> – ситуации являются результатом функционирования устройства, а именно: вывод сигнала в аналоговый интерфейс, вывод данных в канал DMA и запись данных на диск, соответственно.
Граф процесса.
Свойства рассматриваемого процесса.
Классы эквивалентности:
Начальным классом эквивалентности является класс {S>1,> S>2,> S>5,> S>7>}.
Конечными классами эквивалентности являются классы: {S>8>}, {S>4>}, {S>6>}.
Допустимые траектории:
Где: S>1> S>7> S>8> – запись информации на диск;
S>1> S>2> S>3> S>4> – проигрывание аудио диска;
S>1> S>5> S>6> – чтение информации с диска.
АП является эффективным, т.к. из инициаторов все траектории ведут в результанты, и каждая из траекторий, приводящая к результантам, начинается в каком-либо инициаторе; в процессе нет циклов;
АП не является управляемым, так как траектории из инициаторов ведут в различные заключительные классы {S>8>}, {S>4>}, {S>6>};
АП не является простым, т.к. из инициатора существует переход к инициаторам не выполняется .
Операции над процессами
Репозицией асинхронного процесса 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, то репозиция является частичной.
Редукция позволяет выделить отдельные ветви процесса, что характерно при рассмотрении отдельных ситуаций. Таким образом, редукция может быть полезна для изучения отдельных элементов процесса.
Проведем редукцию нашего процесса так, чтобы в результате из процесса выделились ветви чтения и записи на диск.
Ситуации исходного процесса.
S>1 >– в лоток вставлен диск;
S>2 >– считывание аудио информации;
S>3 >– перевод цифровых данных в аналоговые;
S>4 >– вывод сигнала в аналоговый интерфейс;
S>5 >– считывание данных;
S>6 >– вывод данных в канал DMA;
S>7 >– получение данных из канала DMA;
S>8 >– запись данных на диск.
Ситуация |
Вектор |
|||||||
P>1> |
P>2> |
P>3> |
P>4> |
P>5> |
P>6> |
P>7> |
P>8> |
|
S>1> |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
S>2> |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
S>3> |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
S>4> |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
S>5> |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
S>6> |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
S>7> |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
S>8> |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
Инициаторы и результанты исходного процесса:
I={S>1,> S>2,> S>3,> S>5,> S>7>}.
R={S>4,> S>6,> S>8>}.
В качестве входной компоненты выберем 1, 2 и3 элементы векторов ситуаций.
S>1>’
Выделим входную компоненту X*={100,110}. Берём такие компоненты, так как именно этим входным компонентам соответствуют ситуации, имеющие непосредственное отношение к чтению / записи.
Тогда редукцией P (X*) будет являться:
S* = {S>1,> S>5,> S>6,> S>7,> S>8>};
Для каждого инициатора процесса P построим множество ситуаций S>i>I, S(S>i>), встречающихся на траекториях процесса P ведущих из указанного инициатора.
1: S>1> S>2> S>3> S>4>
2: S>1> S>7> S>8>
3: S>1> S>5> S>6>
4: S>2> S>3> S>4>
5: S>7> S>8>
6: S>5> S>6>
Образуем множество S(X*), как объединение тех множеств S(S>i>), для которых справедливо S(S>i>)S*.
S(X*)={S>1, >S>5,> S>6,> S>7,> S>8>};
;
;
R(X*)={S>6,> S>8>}.
Построим граф процесса редукции:
S>1>
Таким образом, в результате редукции были выделены ветви, которые соответствуют чтению и записи на диск. То есть из исходного процесса выделили более простой подпроцесс.
Рассмотрим два АП. Один из них исходный процесс , другой – вновь построенный :
В качестве дополнительного процесса построим вспомогательный процесс, управляющий лотком CD-ROM’а.
Компоненты процесса :
p>1>’ – лоток закрыт;
p>2>’ – диск в лотке.
Ситуации процесса :
Лоток открыт, диска нет, устройство к работе не готово
p>1>’ – p>2>’–
Лоток закрыт, диск есть, устройство готово к работе
Выделим в исходном процессе первую (лоток) компоненту в качестве входной. Выбираем наличие диска в лотке, так как оно является основным показателем того, что устройство функционирует. Выбираем в исходном процессе ситуации, при которых в лотке имеется диск (первая компонента; т.е. все ситуации). Таким образом, получаем исходный процесс целиком. Это соответствует действительности, так как на всех стадиях работы устройства в нем имеется диск.
Очевидно, что редукцией процесса по определенной выше компоненте (назовем ее ) будет являться весь исходный процесс, т.е.: .
Выделим в дополнительном процессе выходную компоненту. Это компонента p>2>’ – диск в лотке. X>2> = {0,1}
В качестве выберем все наборы входной компоненты дополнительного процесса. X>2>* = {0,1}
Дополнительный процесс представлен простой линейной структурой, которая не нуждается в дополнительном упрощении.
Сцепление процессов будет происходить по компоненте {1}. То есть выходная компонента процесса соответствует входной компоненте .
Построим композицию исходного процесса и дополнительного .
S>3>1=(S>1>, S>1>’);
S>3>2=(S>1>, S>2>’);
S>3>3=(S>2>, S>2>’);
S>3>4=(S>3>, S>2>’);
S>3>5=(S>4>, S>2>’);
S>3>6=(S>5>, S>2>’);
S>3>7=(S>6>, S>2>’);
S>3>8=(S>7>, S>2>’);
S>3>9=(S>8>, S>2>’);
S>3>={(10000000), (10000000), (11101000), (11110000), (11100010), (11001000), (11000001), (10000001), (10000100)};
F>3> = {(S>3>1)(S>3>2) (S>3>8) (S>3>9),
(S>3>1)(S>3>2) (S>3>3) (S>3>4) (S>3>5),
(S>3>1)(S>3>2) (S>3>6) (S>3>7)};
I>3> = {(S>3>1), (S>3>2), (S>3>3), (S>3>4), (S>3>6), (S>3>8)};
R>3> = {(S>3>5), (S>3>7), (S>3>9)}.
Граф композиции:
S>3>2
S>3>6
S>3>3
S>3>4
S>3>5
S>3>7
S>3>8
S>3>9
Обеспечены условия 1, 2, 3, 4:
1),:
2) выходные компоненты ситуаций из равны входной компоненте ситуации из
3) если в компонента , то
4) если , то .
Таким образом, выбрав в качестве дополнительного процесса небольшой подпроцесс, предшествующий основному процессу, построили композицию этих процессов путём выделения входных и выходных компонент соответствующих процессов и последующего их (процессов) сцепления. Исходный процесс не стали упрощать с помощью репозиции, так как по смыслу данной композиции модель должна сохранить свою целостность. Получившийся процесс представляет собой несколько усложнённый исходный процесс.
Предметная интерпретация асинхронного процесса
Сетью Петри называется пятёрка.
– конечное непустое количество условий;
– конечное непустое количество событий;
- функция инцидентности;
- функция инцидентности;
- начальная разметка.
P = {p>1>, p>2>, p>3>, p>4>, p>5>, p>6>, p>7>, p>8>}
- в лоток вставлен диск;
– диск не является чистым;
- диск с аудиоинформацией;
- работает ЦАП;
- происходит считывание данных;
- происходит запись данных;
- включен аналоговый интерфейс;
- канал DMA в работе.
T = {t>1>, t>2>, t>3>, t>4>, t>5>, t>6>, t>7>}
– переход к считыванию данных;
– переход к считыванию аудиоинформации;
– переход к получению данных через канал DMA;
– переход к состоянию перевода цифровых данных в аналоговые;
– переход к состоянию вывода данных в канал DMA;
– переход к записи данных на диск;
– переход к выводу информации в аналоговый интерфейс.
F(p>1>, t>1)> = 2 F(p>1>, t>2)> = 2 F(p>1>, t>3)> = 2 F(p>2>, t>4)> = 1 F(p>2>, t>5)> = 2 F(p>3>, t>4)> = 1 F(p>5>, t>4)> = 1 F(p>5>, t>5)> = 2 F(p>4>, t>7)> = 1 F(p>8>, t>6)> = 2 |
H(t>1>, p>1)> = 1 H(t>1>, p>2)> = 2 H(t>1>, p>5)> = 2 H(t>2>, p>1)> = 1 H(t>2>, p>2)> = 1 H(t>2>, p>3)> = 1 H(t>2>, p>5)> = 1 H(t>3>, p>8)> = 2 H(t>4>, p>4)> = 1 H(t>5>, p>2)> = 1 H(t>5>, p>8)> = 1 H(t>6>, p>6)> = 1 |
M>0> = {2,0,0,0,0,0,0,0}
Граф разметок:
2 0 0 0 0 0 0 0
1 2 0 0 2 0 0 0
1 1 0 0 0 0 0 1
1 1 1 0 1 0 0 0
1 1 1 1 0 0 0 0
1 1 1 0 0 0 1 0
1 0 0 0 0 0 0 2
1 0 0 0 0 1 0 0
t>6>
t>2>
t>1>
Замечание: одна или две фишки в данном графе соответствуют единице в ситуациях исходного процесса.
Свойства сети Петри:
Ограниченность сети. Места p>1>, p>2>, p>3>, p>4>, p>5>, p>6>, p>7>, p>8> являются ограниченными (существует число достижимой в сети разметки M справедливо ) вся сеть является ограниченной;
Безопасность сети. Места p>1>, p>2>, p>8> не являются безопасными (для этих мест не выполняется условие ) вся сеть не является безопасной;
Живость сети. При переходы t>1>, t>2>, t>3>, t>4>, t>5>, t>6>, t>7> являются потенциально живыми в сети, но эти же переходы не являются живыми при любой достижимой в сети разметкесеть не является живой;
Устойчивость сети. Сеть не является устойчивой, так как существуют переходы, которые, сработав, могут лишить другой переход этой возможности: переходы , и t>3 >взаимно блокируются;
Вывод.
Система выполняет те функции, для которых она предназначена;
Данная система функционирует эффективно;
В исходном АП ошибки и аварийные ситуации возникнуть не могут;
Систему упростить нельзя, т. к. она уже является достаточно упрощённой.
На основе построенной модели была создана сеть Петри для заданного процесса. В качестве ситуаций были взяты компоненты исходного процесса. Между ситуациями были расставлены переходы, а также установлена начальная разметка. После был построен граф разметок, который полностью совпал с исходным графом процесса, что свидетельствует о правильности построения и функционирования сети Петри.
Заключение
В
t>3>
t>6>
данной работе были рассмотрены процессы и ситуации происходящие при чтении / записи с CD – устройств. Процесс представлен в очень упрощенном виде. Было установлено, что АП, построенный на основе данного вычислительного процесса, является эффективным, не является управляемым и не является простым. В результате проведения операции репозиции над процессом получили новый процесс, в котором считывание аудиоинформации может происходить требуемое число раз. В результате проведения операции редукции были выделены ветви, которые соответствуют чтению и записи на диск. Т.о. был выделен более простой подпроцесс. Вследствие последовательной композиции исходного и вспомогательного процесса получили новый несколько усложненный процесс. Описаны составляющие модели «асинхронный процесс», используя понятия модели «сеть Петри». Проведён анализ свойств мест сети Петри на ограниченность и безопасность: сеть ограниченная и не безопасная. Проведён анализ свойств переходов сети Петри на живость и устойчивость: сеть не является потенциально живой, и не является устойчивой.Можно утверждать, что система функционирует эффективно и выполняет те функции, для которых она предназначена.