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: TransitionDirect Subclasses: Class Precedence List: ProtocolTransition,
Transition,
Namespace,
RedefinableElement,
NamedElement,
ElementProperties:
postCondition :
Constraint (0 1); -- source
ProtocolTransition preCondition :
Constraint (0 1); -- source
ProtocolTransition referred :
Operation (0 *); -- source
ProtocolTransitionThis 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
TransitionA 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
NamespaceReferences the PackageableElements that are members of this Namespace as
a result of either PackageImports or ElementImports.
{
readonly,
derived}
Subsets: Namespace.member
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
NamedElementSpecifies the Namespace that owns the NamedElement.
{
readonly}
Derived union with sources: (container)
Subsets: Element.owner
Opposite: Namespace.ownedMember
qualifiedName : String (0 1); -- source
NamedElement visibility :
VisibilityKind (0 1); -- source
NamedElement ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
ElementThe Elements owned by this Element.
{
composite,
readonly}
Derived union with sources: (ownedComment, nameExpression, packageImport, ownedRule, ownedMember, elementImport, trigger, effect)
Opposite: Element.owner
owner :
Element (0 1); -- source
ElementConstraints:
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].