Мегаобучалка Главная | О нас | Обратная связь


Описать модель «асинхронный процесс»



2020-02-03 201 Обсуждений (0)
Описать модель «асинхронный процесс» 0.00 из 5.00 0 оценок




 

 

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

 

Определить траектории выполнения процесса и классы эквивалентности ситуаций и сделать вывод о свойствах рассматриваемого процесса (эффективность, управляемость, простота)

 

Траектории:

 

 

 

 


Первая траектория описывает процесс, результат которого – возможность печати.  Вторая траектория описывает процесс, результат которого – невозможность печати. Третья траектория описывает определение кода символа и возможность заполнения буфера клавиатуры.

Четвёртая траектория описывает определение кода символа и невозможность заполнения буфера клавиатуры.

АП  эффективен, т.к. из инициаторов все траектории ведут в результанты и все траектории, приводящие к результантам, исходят из инициаторов.

Определим классы эквивалентности. Для множества  можно определить отношение  такое, что:

 

1) , если ;

2) .

 

Отношение  позволяет разбить множество  на классы эквивалентности:

 

 

Так как мой АП - эффективный, то:

 

 

,

 

где  - множество начальных классов,  - множество конечных классов.

Так как в моём ЭАП каждый класс идёт от начального в один и тот же конечный класс эквивалентности, то он управляемый.

Данный ЭАП не является простым, так как первая и вторая траектории содержат 2 инициатора.

Таким образом, АП P1 является эффективным и управляемым, но не является простым.

 

Операции над процессами

 

Смыслом репозиции данного процесса будет повторное нажатие клавиши, причём неважно после какой ситуации – успешной (символ напечатался) или нет (символ не напечатался).

 

 

 

 - reset all settings (interrupt)        

 

Осуществлённая репозиция является частичной, так как .

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

 

Редукция

 

Выделим в качестве входных компонент первую и вторую – клавишу и порт клавиатуры. Первая компонента может принимать только одно значение – 1, вторая – 1 и 0.  

Выделим , т.к. все ситуации, входные компоненты которых равны значениям , либо являются результантами, либо ведут к ним, т.е. способствуют окончанию выполнения процесса.

 Составим множество  ситуаций, входящие в блок разбиения , которые соответствуют выбранным значениям входной компоненты.

 

 

Для каждого инициатора построим множество ситуаций, встречающихся на траекториях процесса, ведущих из указанного инициатора.

 

 

 

Образуем множество :

 

 

 

Таким образом, редукция отображает ветвление на 2 ситуации: символ печатается или символ не печатается.


Композиция

 

Составим АП «Печать символа в текстовом режиме» и поставим ему в соответствие четвёрку P2 = <S2,F2,I2,R2>. Описание процесса на примере ЯНУ Assembler.

 

mov ax, 9h               ; команда печатать строку, адрес которой а dx

mov dx, offset string         ; посылает адрес строки в dx

int 21h                     ; программное прерывание

Компоненты:

1) ax (reg).     ax = 1 / 0 : есть команда на печать / нет (mov ax, xh)

2) dx (reg).

dx = 1 / 0 : есть адрес строки (символа) / нет.

 3) int 21h (int).

int 21h = 1 / 0 : сработало прерывание / нет.

 

Эти ситуации образованы следующим образом: к набору компонент ситуаций процесса P1 добавляется справа третья компонента процесса P2, причём она всегда принимает значение 0, так как при срабатывании ситуаций процесса P1 прерывание с номером 21 для вывода символа ещё не срабатывает и на эти ситуации не влияет.

Аналогично к набору компонент процесса P2 приписываются слева четыре первых компоненты первого процесса, и по той же причине они равны нулю.

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

Так как этот процесс начинается прежде всего с нажатия клавиши, а процесс вывода работает с кодом символа в регистрах процессора, то инициаторами процесса P3 можно считать ситуации  и , т.е. по сути те же ситуации, коими являлись инициаторы процесса P1.

 

 

 

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

 

 

Вывод: частичная репозиция процесса P1 показала, что процесс может выполнятся много раз, редукция процесса P1 отображает ветвление на две ситуации – возможность и невозможность печати символа, осуществлена последовательная композиция АП P1 и АП «Печать символа в текстовом режиме».

 



2020-02-03 201 Обсуждений (0)
Описать модель «асинхронный процесс» 0.00 из 5.00 0 оценок









Обсуждение в статье: Описать модель «асинхронный процесс»

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (201)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)