Software Disclaimer

Class UML 2.5::ProtocolTransition

Description:

A ProtocolTransition specifies a legal Transition for an Operation. Transitions of ProtocolStateMachines have the following information: a pre-condition (guard), a Trigger, and a post-condition. Every ProtocolTransition is associated with at most one BehavioralFeature belonging to the context Classifier of the ProtocolStateMachine.

Direct Superclasses: Transition

Direct Subclasses:

Class Precedence List: ProtocolTransition, Transition, Namespace, RedefinableElement, NamedElement, Element

Properties:

postCondition : Constraint (0 1); -- source ProtocolTransition
preCondition : Constraint (0 1); -- source ProtocolTransition
referred : Operation (0 *); -- source ProtocolTransition
container : Region (1 1); -- source Transition
effect : Behavior (0 1); -- source Transition
guard : Constraint (0 1); -- source Transition

A guard is a Constraint that provides a fine-grained control over the firing of the Transition. The guard is evaluated when an Event occurrence is dispatched by the StateMachine. If the guard is true at that time, the Transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed.
{composite}
Subsets: Namespace.ownedRule

kind : TransitionKind (1 1); -- source Transition
redefinedTransition : Transition (0 1); -- source Transition
redefinitionContext : Classifier (1 1); -- source Transition
source : Vertex (1 1); -- source Transition
target : Vertex (1 1); -- source Transition
trigger : Trigger (0 *); -- source Transition
elementImport : ElementImport (0 *); -- source Namespace
importedMember : PackageableElement (0 *); -- source Namespace
member : NamedElement (0 *); -- source Namespace
ownedMember : NamedElement (0 *); -- source Namespace
ownedRule : Constraint (0 *); -- source Namespace
packageImport : PackageImport (0 *); -- source Namespace
isLeaf : Boolean (1 1); -- source RedefinableElement
redefinedElement : RedefinableElement (0 *); -- source RedefinableElement
clientDependency : Dependency (0 *); -- source NamedElement
name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement
namespace : Namespace (0 1); -- source NamedElement
qualifiedName : String (0 1); -- source NamedElement
visibility : VisibilityKind (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

No additional constraints.

Operations:

Signature: referred.1() : Operation;
Description: Derivation for ProtocolTransition::/referred
Expression: result = (trigger->collect(event)->select(oclIsKindOf(CallEvent))->collect(oclAsType(CallEvent).operation)->asSet())



Send questions or comments to [email protected].