Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.



trigger (переключающее событие)

Событие, наступление которого делает возможным запуск перехода.
См. completion transition; transition.

Семантика

В структуре каждого перехода (за исключением перехода по завершении, который запускается при завершении внутренней деятельности) есть ссылка на событие. Если в то время, когда объект находится в состоянии, имеющем исходящий переход, происходит событие, которое является переключающим событием для этого переходы или же его потомком, то происходит проверка сторожевого условия. Если условие удовлетворено, то переход запускается. Если сторожевое условие отсутствует; то считается, что оно удовлетворено. Если в данный момент может запуститься сразу несколько переходов, то запустится только один из них. Выбор при этом будет сделан случайно. (Если у объекта есть несколько параллельных состояний, то может напуститься по одному переходу (не больше!) из каждого такого состояния.)
Не забудьте, что сторожевое условие вычисляется всего один раз - в момент осуществления переключающего события (к которому относится и неявное событие завершения деятельности). Если это событие не смогло запустить переход, то условие просто игнорируется. Эта ситуация не является ошибкой.
Параметры переключающего события могут использоваться в сторожевом условии, а также в действии, прикрепленном к переходу или действию при входе Б целевое состояние.
После перехода, во время выполнения непрерывного шага, переключающее событие доступно для действий подшагов перехода в качестве текущего события. При этом точный тип этого события может быть неизвестен для действия при входе или для более поздних сегментов многосегментного перехода. Таким образом, различать тип события в каком-либо действии можно с помощью полиморфной операции или оператора выбора. Если известен тип события, то могут быть использованы его параметры.
Нотация
Имя и сигнатура переключающего события являются частью метки перехода.
См. transition.
Получить доступ к переключающему событию в выражении можно с помощью зарезервированного слова currentEvent. Это ключевое слово служит для ссылки на переключающее событие в первом сегменте многосегментного перехода.

Алфавитный указатель