Software Disclaimer

Class UML 2.4.1::ProtocolTransition

Description:

A protocol transition specifies a legal transition for an operation. Transitions of protocol state machines have the following information: a pre condition (guard), on trigger, and a post condition. Every protocol transition is associated to zero or one operation (referred BehavioralFeature) that belongs to the context classifier of the protocol state machine.

Direct Superclasses: Transition

Direct Subclasses:

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

Properties:

postCondition : Constraint (0 1); -- source ProtocolTransition
preCondition : Constraint (0 1); -- source ProtocolTransition

Specifies the precondition of the transition. It specifies the condition that should be verified before triggering the transition. This guard condition added to the source state will be evaluated as part of the precondition of the operation referred by the transition if any.
{composite}
Subsets: Transition.guard

referred : Operation (0 *); -- source ProtocolTransition
container : Region (1 1); -- source Transition
effect : Behavior (0 1); -- source Transition
guard : Constraint (0 1); -- source Transition
kind : TransitionKind (1 1); -- source Transition
redefinedTransition : Transition (0 1); -- source Transition
redefinitionContext : Classifier (1 1); -- source Transition

References the classifier in which context this element may be redefined.
{readonly, derived}
Redefines: RedefinableElement.redefinitionContext

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
isLeaf : Boolean (1 1); -- source RedefinableElement
redefinedElement : RedefinableElement (0 *); -- source RedefinableElement
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
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

A name which allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself.
{readonly, derived}

visibility : VisibilityKind (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

Signature: refers_to_operation() : Boolean;
Description: If a protocol transition refers to an operation (i. e. has a call trigger corresponding to an operation), then that operation should apply to the context classifier of the state machine of the protocol transition.
Expression: true

Signature: belongs_to_psm() : Boolean;
Description: A protocol transition always belongs to a protocol state machine.
Expression: container.belongsToPSM()

Signature: associated_actions() : Boolean;
Description: A protocol transition never has associated actions.
Expression: effect->isEmpty()

Operations:

No additional operations.



Send questions or comments to [email protected].