Previous UML Classes Table of Contents UML Packages Next


13.3.31 Trigger

Communications


   A trigger relates an event to a behavior that may affect an instance of the classifier.

*Generalizations

   

    NamedElement (from Kernel , Dependencies ) on page 99

   Description

   A trigger specifies an event that may cause the execution of an associated behavior. An event is often ultimately caused by the execution of an action, but need not be.

   Attributes

   No additional attributes

   Associations

Issue 8320 -remove erroneous ‘port’ entry

   • event : Event [1] The event that causes the trigger.

   Constraints

   No additional constraints

   Semantics

   Events may cause execution of behavior (e.g., the execution of the effect activity of a transition in a state machine). A trigger specifies the event that may trigger a behavior execution as well as any constraints on the event to filter out events not of interest.

   Events are often generated as a result of some action either within the system or in the environment surrounding the system. Upon their occurrence, events are placed into the input pool of the object where they occurred (see BehavioredClassifier on page 451). An event is dispatched when it is taken from the input pool and either directly causes the occurrence of a behavior or are delivered to the classifier behavior of the receiving object for processing. At this point, the event is considered consumed and referred to as the current event. A consumed event is no longer available for processing.

   Semantic Variation Points

   No assumptions are made about the time intervals between event occurrence, event dispatching, and consumption. This leaves open the possibility of different semantic variations such as zero-time semantics.

   It is a semantic variation whether an event is discarded if there is no appropriate trigger defined for them.

   Notation

   A trigger is used to define an unnamed event. The details of the syntax for the event are defined by the different subclasses of Event:

   <trigger> ::= <call-event> | <signal-event> | <any-receive-event> | <time-event> | <change-event>

   Changes from previous UML

   The corresponding metaclass in 1.x was Event. In 1.x, events were specified with Parameters. Instead, the data that may be communicated by an event is accessed via the properties of the specification element defining the event.