Class UML 2.5::Region
Description:
A Region is a top-level part of a StateMachine or a composite State, that
serves as a container for the Vertices and Transitions of the StateMachine.
A StateMachine or composite State may contain multiple Regions representing
behaviors that may occur in parallel.
Direct Superclasses: Namespace,
RedefinableElementDirect Subclasses: Class Precedence List: Region,
Namespace,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png)
extendedRegion :
Region (0 1); -- source
Region![](/se-interop/image/down-arrow.png)
redefinitionContext :
Classifier (1 1); -- source
Region![](/se-interop/image/down-arrow.png)
state :
State (0 1); -- source
Region![](/se-interop/image/down-arrow.png)
stateMachine :
StateMachine (0 1); -- source
Region![](/se-interop/image/down-arrow.png)
subvertex :
Vertex (0 *); -- source
Region![](/se-interop/image/down-arrow.png)
transition :
Transition (0 *); -- source
Region![](/se-interop/image/down-arrow.png)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
visibility :
VisibilityKind (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png)
owner :
Element (0 1); -- source
ElementConstraints:
No additional constraints.
Operations:
Signature: redefinitionContext.1() : Classifier;
Description: The redefinition context of a Region is the nearest containing StateMachine.
Expression: result = (let sm : StateMachine = containingStateMachine() in if sm._'context' = null or sm.general->notEmpty() then sm else sm._'context' endif)
Signature: isRedefinitionContextValid(redefinedElement : RedefinableElement; ) : Boolean;
Description: The query isRedefinitionContextValid() specifies whether the redefinition
contexts of a Region are properly related to the redefinition contexts
of the specified Region to allow this element to redefine the other. The
containing StateMachine or State of a redefining Region must Redefine the
containing StateMachine or State of the redefined Region.
Expression: result = (if redefinedElement.oclIsKindOf(Region) then let redefinedRegion : Region = redefinedElement.oclAsType(Region) in if stateMachine->isEmpty() then -- the Region is owned by a State (state.redefinedState->notEmpty() and state.redefinedState.region->includes(redefinedRegion)) else -- the region is owned by a StateMachine (stateMachine.extendedStateMachine->notEmpty() and stateMachine.extendedStateMachine->exists(sm : StateMachine | sm.region->includes(redefinedRegion))) endif else false endif)
Signature: isConsistentWith(redefiningElement : RedefinableElement; ) : Boolean;
Description: The query isConsistentWith() specifies that a redefining Region is consistent
with a redefined Region provided that the redefining Region is an extension
of the Redefined region, i.e., its Vertices and Transitions conform to
one of the following: (1) they are equal to corresponding elements of the
redefined Region or, (2) they consistently redefine a State or Transition
of the redefined region, or (3) they add new States or Transitions.
Expression: result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles true)
Signature: containingStateMachine() : StateMachine;
Description: The operation containingStateMachine() returns the StateMachine in which
this Region is defined.
Expression: result = (if stateMachine = null then state.containingStateMachine() else stateMachine endif)
Signature: belongsToPSM() : Boolean;
Description: The operation belongsToPSM () checks if the Region belongs to a ProtocolStateMachine.
Expression: result = (if stateMachine <> null then stateMachine.oclIsKindOf(ProtocolStateMachine) else state <> null implies state.container.belongsToPSM() endif )
Send questions or comments to
[email protected].