Class UML 2.5::ProtocolStateMachine
Description:
A ProtocolStateMachine is always defined in the context of a Classifier.
It specifies which BehavioralFeatures of the Classifier can be called in
which State and under which conditions, thus specifying the allowed invocation
sequences on the Classifier's BehavioralFeatures. A ProtocolStateMachine
specifies the possible and permitted Transitions on the instances of its
context Classifier, together with the BehavioralFeatures that carry the
Transitions. In this manner, an instance lifecycle can be specified for
a Classifier, by defining the order in which the BehavioralFeatures can
be activated and the States through which an instance progresses during
its existence.
Direct Superclasses: StateMachineDirect Subclasses: Class Precedence List: ProtocolStateMachine,
StateMachine,
Behavior,
Class,
BehavioredClassifier,
EncapsulatedClassifier,
StructuredClassifier,
Classifier,
Namespace,
Type,
PackageableElement,
ParameterableElement,
TemplateableElement,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/right-arrow.png)
conformance :
ProtocolConformance (0 *); -- source
ProtocolStateMachineConformance between ProtocolStateMachine
{
composite}
Subsets: Element.ownedElement
Opposite: ProtocolConformance.specificMachine
![](/se-interop/image/down-arrow.png)
connectionPoint :
Pseudostate (0 *); -- source
StateMachine![](/se-interop/image/down-arrow.png)
extendedStateMachine :
StateMachine (0 *); -- source
StateMachine![](/se-interop/image/down-arrow.png)
region :
Region (1 *); -- source
StateMachine![](/se-interop/image/down-arrow.png)
submachineState :
State (0 *); -- source
StateMachine![](/se-interop/image/down-arrow.png)
context :
BehavioredClassifier (0 1); -- source
Behavior![](/se-interop/image/down-arrow.png)
isReentrant : Boolean (1 1); -- source
Behavior![](/se-interop/image/down-arrow.png)
ownedParameter :
Parameter (0 *); -- source
Behavior![](/se-interop/image/down-arrow.png)
ownedParameterSet :
ParameterSet (0 *); -- source
Behavior![](/se-interop/image/down-arrow.png)
postcondition :
Constraint (0 *); -- source
Behavior![](/se-interop/image/down-arrow.png)
precondition :
Constraint (0 *); -- source
Behavior![](/se-interop/image/down-arrow.png)
specification :
BehavioralFeature (0 1); -- source
Behavior![](/se-interop/image/down-arrow.png)
extension :
Extension (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
isAbstract : Boolean (1 1); -- source
Class![](/se-interop/image/right-arrow.png)
isActive : Boolean (1 1); -- source
ClassDetermines whether an object specified by this Class is active or not.
If true, then the owning Class is referred to as an active Class. If false,
then such a Class is referred to as a passive Class.
Default value: FALSE
![](/se-interop/image/down-arrow.png)
nestedClassifier :
Classifier (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
ownedAttribute :
Property (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
ownedOperation :
Operation (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
ownedReception :
Reception (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
superClass :
Class (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
ownedPort :
Port (0 *); -- source
EncapsulatedClassifier![](/se-interop/image/down-arrow.png)
ownedConnector :
Connector (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png)
part :
Property (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png)
role :
ConnectableElement (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/right-arrow.png)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
ClassifierThe optional RedefinableTemplateSignature specifying the formal template
parameters.
{
composite}
Subsets: Element.ownedElement
Redefines: TemplateableElement.ownedTemplateSignature
Opposite: RedefinableTemplateSignature.classifier
![](/se-interop/image/down-arrow.png)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
useCase :
UseCase (0 *); -- source
Classifier![](/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)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png)
visibility :
VisibilityKind (0 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/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)
redefinitionContext :
Classifier (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/right-arrow.png)
ownedComment :
Comment (0 *); -- source
ElementThe Comments owned by this Element.
{
composite}
Subsets: Element.ownedElement
![](/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:
No additional operations.
Send questions or comments to
[email protected].