Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proektirovanie_1.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
601.6 Кб
Скачать

5 Действия

С переходом состояний может быть ассоциировано действие. Действие (action) -некоторое вычисление, осуществляемое в результате перехода в новое состояние. Действие инициируется переходом. Оно производится, а затем заканчивается.

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

На диаграмме состояний действие изображается путем пометки перехода следующим образом: событие [условие] / действие. Например, когда банкомат переходит из состояния Ожидание ПИН-кода в состояние Проверка ПИН-кода в результате события ПИН-код Введен, выполняется действие Проверить ПИН-код. Этотпереход помечен так: ПИН-код введен / Проверить ПИН-код. С переходом может быть ассоциировано несколько действий. Эти действия выполняются одновременно, следовательно, между ними не должно быть никаких зависимостей. Например, было бы неправильно включать два одновременных действия: Рассчитать Изменение и Показать Изменение. В таком случае имеется подчиненность одного действия другому, поскольку нельзя показать изменение до того, как оно рассчитано.

5.1 Деятельности

Помимо действий в результате перехода состояния могут выполняться деятельности. Деятельность (activities) — это некоторое вычисление, выполняемое, пока автомат находится в данном состоянии. Поэтому, в отличие от действия, деятельность занимает конечное время. Деятельность начинается при входе в состояние и заканчивается при выходе из него. Причина изменения состояния, приводящего к прекращению деятельности, обычно состоит в приходе некоторого события из источника, не связанного с деятельностью. Однако иногда сама деятельность возбуждает событие, приводящее к изменению состояния.

Один из способов показать деятельность на диаграмме состояний - пометить переход в состояние, где она протекает: событие / enable деятельность, а также переход из этого состояния: событие / disable деятельность. Однако, чтобы сократить запись, можно вместо слов enable и disable ассоциировать деятельность с самим состоянием. Для этого в прямоугольнике, представляющем состояние, записывают имя состояния и имя деятельности, разделяя их горизонтальной чертой. Деятельность изображают в виде do / деятельность (здесь do - зарезервированное слово). Это означает, что деятельность начинается при входе в состояние и завершается при выходе из него.

5.2 Действия при входе и выходе

Некоторые действия можно записать более кратко, если ассоциировать их с самим состоянием, а не с переходами. Это так называемые действия при входе и при выходе, для которых зарезервированы слова entry и exit. Мгновенное действие, выполняемое при входе в состояние, обозначается как entry / действие, а мгновенное действие, выполняемое при выходе из него, - как exit / действие.

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

-есть несколько переходов в данное состояние;

- при каждом переходе нужно выполнить одно и то же действие;

-действие связано именно с входом в данное состояние, а не с выходом из предыдущего. В этой ситуации действие изображается только в прямоугольнике состояния, а не на каждом ведущем в него переходе. Действие при выходе удобно в случаях, когда: -есть несколько переходов из данного состояния;

- при каждом переходе требуется одно и то же действие;

-действие связано именно с выходом из данного состояния, а не с входом в следующее.

В такой ситуации действие изображается только в прямоугольнике состояния, а не на каждом исходящем из

него переходе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]