A trigger describes an action to be taken during initialization or termination of a component. Triggers are declared as either an initialization or termination trigger using the event attribute. A trigger contains exactly one actionable entity which may be a privide transition or operation, or a directive invoking an existing transition or operation.
During component initialization the state machine implementation will locate an initialization and invoke and declared operation or transition. If the result of the initialization action is a modified active state that has not been visited during the initialization sequence then the state machine will recommence evaluation of any declared initialization triggers. This process continues until no further initialization actions exist (i.e. all initialization actons have been fired).
On completion of the initialization phase, subsequent modifications to the active state (via the application of transitions) and invocation of management opeterations may be handled by an external management system.
The process of termination follows the same pattern as initialization. The state machine will evaluate the current state chain for the existance of an termination trigger. If present the termination action associated with the trigger will be fired. If the action results in a change to the active state the evaluation procedure will start again util all termination triggers have been executed.
event | Classification of the trigger as either INITIALIZATION or TERMINATION. |
The trigger element may contain exactly one of the the following nested elements.
transition | A private state transition. |
operation | A management operation to invoke. |
apply | Apply a transition identified by an id attribute. |
exec | Execute a operation identified by the id attribute. |