Package com.sodius.mdw.metamodel.uml21
Interface ProtocolStateMachine
-
- All Superinterfaces:
Behavior
,BehavioredClassifier
,Class
,Classifier
,Comparable<Object>
,Element
,org.eclipse.emf.ecore.EModelElement
,EncapsulatedClassifier
,org.eclipse.emf.ecore.EObject
,MDWEObject
,MDWObject
,NamedElement
,Namespace
,org.eclipse.emf.common.notify.Notifier
,PackageableElement
,ParameterableElement
,RedefinableElement
,StateMachine
,StructuredClassifier
,TemplateableElement
,Type
public interface ProtocolStateMachine extends StateMachine
A representation of the model object 'Protocol State Machine'. A protocol state machine is always defined in the context of a classifier. It specifies which operations of the classifier can be called in which state and under which condition, thus specifying the allowed call sequences on the classifier's operations. A protocol state machine presents the possible and permitted transitions on the instances of its context classifier, together with the operations which carry the transitions. In this manner, an instance lifecycle can be created for a classifier, by specifying the order in which the operations can be activated and the states through which an instance progresses during its existence.The following features are supported:
- See Also:
UMLPackage.getProtocolStateMachine()
-
-
Field Summary
-
Fields inherited from interface com.sodius.mdw.metamodel.uml21.NamedElement
SEPARATOR
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ProtocolConformance
createConformance(ProtocolStateMachine generalMachine)
Creates a newProtocolConformance
, with the specified 'General Machine', and appends it to the 'Conformance' containment reference list.ProtocolConformance
getConformance(ProtocolStateMachine generalMachine)
Retrieves the firstProtocolConformance
with the specified 'General Machine' from the ' Conformance' containment reference list.ProtocolConformance
getConformance(ProtocolStateMachine generalMachine, boolean createOnDemand)
Retrieves the firstProtocolConformance
with the specified 'General Machine' from the ' Conformance' containment reference list.MDWEList<ProtocolConformance>
getConformances()
Returns the value of the 'Conformance' containment reference list.boolean
validateDeepOrShallowHistory(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Protocol state machines cannot have deep or shallow history pseudostates.boolean
validateEntryExitDo(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The states of a protocol state machine cannot have entry, exit, or do activity actions.boolean
validatePortsConnected(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
If two ports are connected, then the protocol state machine of the required interface (if defined) must be conformant to the protocol state machine of the provided interface (if defined).boolean
validateProtocolTransitions(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
All transitions of a protocol state machine must be protocol transitions.-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Behavior
createOwnedParameter, createOwnedParameterSet, createPostcondition, createPostcondition, createPrecondition, createPrecondition, getContext, getOwnedParameter, getOwnedParameter, getOwnedParameters, getOwnedParameterSet, getOwnedParameterSet, getOwnedParameterSets, getPostcondition, getPostcondition, getPostconditions, getPrecondition, getPrecondition, getPreconditions, getRedefinedBehavior, getRedefinedBehavior, getRedefinedBehaviors, getSpecification, isReentrant, setIsReentrant, setSpecification, validateFeatureOfContextClassifier, validateMostOneBehaviour, validateMustRealize, validateParametersMatch
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.BehavioredClassifier
createClassifierBehavior, createInterfaceRealization, createOwnedBehavior, createOwnedTrigger, getAllImplementedInterfaces, getClassifierBehavior, getImplementedInterfaces, getInterfaceRealization, getInterfaceRealization, getInterfaceRealizations, getOwnedBehavior, getOwnedBehavior, getOwnedBehaviors, getOwnedTrigger, getOwnedTrigger, getOwnedTriggers, setClassifierBehavior, validateClassBehavior
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Class
createNestedClassifier, createOwnedOperation, createOwnedOperation, createOwnedReception, getExtension, getExtension, getExtensions, getNestedClassifier, getNestedClassifier, getNestedClassifiers, getOwnedOperation, getOwnedOperation, getOwnedOperations, getOwnedReception, getOwnedReception, getOwnedReceptions, getSuperClass, getSuperClass, getSuperClasses, isActive, isMetaclass, setIsActive, validatePassiveClass
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Classifier
allFeatures, allParents, conformsTo, createCollaborationUse, createGeneralization, createOwnedUseCase, createRepresentation, createSubstitution, getAllAttributes, getAllOperations, getAllUsedInterfaces, getAttribute, getAttribute, getAttributes, getCollaborationUse, getCollaborationUse, getCollaborationUses, getFeature, getFeature, getFeatures, getGeneral, getGeneral, getGeneralization, getGeneralization, getGeneralizations, getGenerals, getInheritedMember, getInheritedMember, getInheritedMembers, getOperation, getOperation, getOperations, getOwnedUseCase, getOwnedUseCase, getOwnedUseCases, getPowertypeExtent, getPowertypeExtent, getPowertypeExtents, getRedefinedClassifier, getRedefinedClassifier, getRedefinedClassifiers, getRepresentation, getSubstitution, getSubstitution, getSubstitutions, getUseCase, getUseCase, getUseCases, getUsedInterfaces, hasVisibilityOf, inherit, inheritableMembers, isAbstract, isFinalSpecialization, maySpecializeType, parents, setIsAbstract, setIsFinalSpecialization, setRepresentation, validateGeneralizationHierarchies, validateMapsToGeneralizationSet, validateNoCyclesInGeneralization, validateSpecializeType
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Element
addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf
-
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotation, getEAnnotations
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.EncapsulatedClassifier
createOwnedPort, getOwnedPort, getOwnedPort, getOwnedPorts
-
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
-
Methods inherited from interface com.sodius.mdw.core.model.MDWObject
compareTo, eExtendedClass, eIsInstanceOf, eIsInstanceOf, eIsProfiled, eIsRemoved, eMetamodel, eMetaTypeName, eModel, eRemove, eSetUniqueID, eUniqueID, superScript, superScript, toBoolean, toBoolean, toByte, toByte, toChar, toChar, toDouble, toDouble, toFloat, toFloat, toInt, toInt, toList, toList, toList, toList, toList, toLong, toLong, toObject, toObject, toSet, toSet, toShort, toShort, toString, toString
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.NamedElement
allNamespaces, allOwningPackages, createDependency, createNameExpression, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Namespace
createElementImport, createElementImport, createOwnedDiagram, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedDiagrams, getOwnedDiagrams, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateMembersDistinguishable
-
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.ParameterableElement
getOwningTemplateParameter, getTemplateParameter, isCompatibleWith, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.StateMachine
ancestor, createConnectionPoint, createRegion, getConnectionPoint, getConnectionPoint, getConnectionPoints, getExtendedStateMachine, getExtendedStateMachine, getExtendedStateMachines, getRegion, getRegion, getRegions, getSubmachineState, getSubmachineState, getSubmachineStates, isRedefinitionContextValid, LCA, validateClassifierContext, validateConnectionPoints, validateContextClassifier, validateMethod
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.StructuredClassifier
createOwnedAttribute, createOwnedAttribute, createOwnedAttribute, createOwnedConnector, getOwnedAttribute, getOwnedAttribute, getOwnedAttributes, getOwnedConnector, getOwnedConnector, getOwnedConnectors, getPart, getPart, getParts, getRole, getRole, getRoles, validateMultiplicities
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.TemplateableElement
createOwnedTemplateSignature, createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBinding, getTemplateBinding, getTemplateBindings, isTemplate, parameterableElements, setOwnedTemplateSignature
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Type
conformsTo, createAssociation, getAssociations, getPackage, setPackage
-
-
-
-
Method Detail
-
getConformances
MDWEList<ProtocolConformance> getConformances()
Returns the value of the 'Conformance' containment reference list. The list contents are of typeProtocolConformance
. It is bidirectional and its opposite is 'Specific Machine
'. Conformance between protocol state machines.- Returns:
- the value of the 'Conformance' containment reference list.
- See Also:
UMLPackage.getProtocolStateMachine_Conformance()
,ProtocolConformance.getSpecificMachine()
-
createConformance
ProtocolConformance createConformance(ProtocolStateMachine generalMachine)
Creates a newProtocolConformance
, with the specified 'General Machine', and appends it to the 'Conformance' containment reference list.- Parameters:
generalMachine
- The 'General Machine' for the newProtocolConformance
, ornull
.- Returns:
- The new
ProtocolConformance
. - See Also:
getConformances()
-
getConformance
ProtocolConformance getConformance(ProtocolStateMachine generalMachine)
Retrieves the firstProtocolConformance
with the specified 'General Machine' from the ' Conformance' containment reference list.- Parameters:
generalMachine
- The 'General Machine' of theProtocolConformance
to retrieve, ornull
.- Returns:
- The first
ProtocolConformance
with the specified 'General Machine', ornull
. - See Also:
getConformances()
-
getConformance
ProtocolConformance getConformance(ProtocolStateMachine generalMachine, boolean createOnDemand)
Retrieves the firstProtocolConformance
with the specified 'General Machine' from the ' Conformance' containment reference list.- Parameters:
generalMachine
- The 'General Machine' of theProtocolConformance
to retrieve, ornull
.createOnDemand
- Whether to create aProtocolConformance
on demand if not found.- Returns:
- The first
ProtocolConformance
with the specified 'General Machine', ornull
. - See Also:
getConformances()
-
validateProtocolTransitions
boolean validateProtocolTransitions(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
All transitions of a protocol state machine must be protocol transitions. (transitions as extended by the ProtocolStateMachines package) region->forAll(r | r.transition->forAll(t | t.oclIsTypeOf(ProtocolTransition)))
-
validateEntryExitDo
boolean validateEntryExitDo(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The states of a protocol state machine cannot have entry, exit, or do activity actions. region->forAll(r | r.subvertex->forAll(v | v.oclIsKindOf(State) implies (v.entry->isEmpty() and v.exit->isEmpty() and v.doActivity->isEmpty())))
-
validateDeepOrShallowHistory
boolean validateDeepOrShallowHistory(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Protocol state machines cannot have deep or shallow history pseudostates. region->forAll (r | r.subvertex->forAll (v | v.oclIsKindOf(Psuedostate) implies ((v.kind <> #deepHistory) and (v.kind <> #shallowHistory)))))
-
validatePortsConnected
boolean validatePortsConnected(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
If two ports are connected, then the protocol state machine of the required interface (if defined) must be conformant to the protocol state machine of the provided interface (if defined). true
-
-