Previous UML Classes Table of Contents UML Packages Next

13.3.31 Trigger


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



    NamedElement (from Kernel , Dependencies ) on page 99


   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.


   No additional attributes


Issue 8320 -remove erroneous ‘port’ entry

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


   No additional constraints


   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.


   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.