is a set that contains all the transitions in a model. A transition, when enabled, changes the model from the source state to the destination state. A transition is enabled if and only if the following conditions are all satisfied:
Provided that the guard (though it is implementation-dependent) is only a boolean expression without any side effect (i.e., potential change to the model state), and the execution of a transition is in a critical section so that no other actions affect the decision, the order of the above conditions is not important. For example, if a specific implementation uses exactly the same order to decide enabled transitions, it may ignore the evaluation of guards if any one of the first three conditions is not satisfied. (This method is known as short-circuit.)
There may be more than one transition (in the same component) enabled by a single event. In that case, the transition with the highest priority is fired, which means its is executed, and the state changes to .
is a set of variables that act as formal parameters received with the event . If a transition requires parameters, the event must provide at least the same number of parameters with the same types (if types are supported). It may even provide more parameters (after those required), which are simply omitted.
is a list of sequentially executed output actions. Control structures such as loops and if-else conditions are not allowed. Those structures must be explicitly modeled (see section 5.5). may contain actions that further broadcast events. If such actions are included, the newly broadcast events are appended to the end of the global event list.
is used in combination with of a state. However, is ignored if the property of the destination state is .
is an arbitrary integer that represents transition priority. The smaller this number is, the higher priority the transition has. However, this number is used only for conflicts that cannot be resolved by the scheme of transition ordering (see section 2.2.5).