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

OpenU.Ru

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



event (событие)

Спецификация значимого явления, имеющего положение во времени и пространстве.
См. state machine, transition, trigger.

Семантика

В конечном автомате событие может запустить переход в новое состояние. У такого события есть список (возможно, пустой) параметров которые несут информацию от источника события к его получателю. У каждого события есть неявный параметр - время, когда оно происходит. Все прочие параметры представляют собой часть определения события.
У экземпляра события есть аргументы (действительные значения), соответствующие параметрам события. Значение каждого параметра доступно действию, прикрепленному к переходу, который запускается этим событием. Существует четыре вида событий.
1. Событие вызова
(call event)
Получение запроса на вызов операции. Ожидаемый результат - выполнение операции путем запуска перехода к получателю события. Параметры события являются ссылками на операцию, её параметры, а также неявно передаваемый указатель возврата. После завершения перехода (или же немедленно, если переход не был запущен) управление возвращается к объекту, вызвавшему операцию.
2. Событие изменения
(change event)
Удовлетворение логического условия, которое определяется выражением события. Параметров у такого события нет. События такого рода подразумевают постоянную проверку условия. Событие происходит тогда, когда условие становится истинным. Впрочем, в действительности, моменты, когда логическое выражение становится истинным, могут быть ограничены другими событиями, так что в механизме постоянного опроса обычно нет необходимости.
3. Событие сигнала
(signal event)
Получение сигнала, который представляет собой явно именованную сущность, чье предназначение состоит в обеспечении коммуникации между объектами. У сигнала есть сносок параметров, который явно отправляется одним объектом другому объекту или целому множеству объектов. Под общей пересылкой события нужно понимать отправку этого события всему множеству объектов, хотя в действительности это можно реализовать в программном коде более эффективным образом. Отправитель явно указывает аргументы сигнала, существующие на момент его отправки. Сигнал, который отправляется множеству объектов, может запускать нуль или один переход в каждом из них.
4. Событие сигнала
(signal event)
Сигналы представляют собой то средство, с помощью которого объекты осуществляют асинхронную коммуникацию друг с другом. Для синхронной коммуникации нужно использовать два асинхронных сигнала, идущих в противоположных направлениях.
Сигналы можно обобщать. Сигнал-прямой потомок выводится из сигнала-прямой предок, наследуя при этом все его параметры, к которым он может добавить свои собственные. Сигнал-потомок может запускать те же переходы, что и его предки.
5. Событие времени
(time event)
Удовлетворение выражения, описывающего время, например, наступление абсолютного времени или истечение определенного промежутка времени после того, как объект вошел в данное состояние. Обратите внимание, что и абсолютное, и фактическое время можно определить по отношению к виртуальным внутренним или реальным часам (в этом случае это время может быть разным у различных объектов).

Нотация

См. статью энциклопедии о каждом из вышеперечисленных видов
событий.
Стандартные элементы
create (создавать). destroy (уничтожить).

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