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

This association refers to the associated Operation. It is derived from the Operation of the CallEvent Trigger when applicable.
{readonly, derived}

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

Designates the target Vertex that is reached when the Transition is taken.
Opposite: Vertex.incoming

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

Indicates the Dependencies that reference this NamedElement as a client.
{derived}
Opposite: Dependency.client

name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement

The StringExpression used to define the name of this NamedElement.
{composite}
Subsets: Element.ownedElement

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].