Package com.sodius.mdw.metamodel.uml21
Interface Pseudostate
-
- All Superinterfaces:
Comparable<Object>
,Element
,org.eclipse.emf.ecore.EModelElement
,org.eclipse.emf.ecore.EObject
,MDWEObject
,MDWObject
,NamedElement
,org.eclipse.emf.common.notify.Notifier
,Vertex
public interface Pseudostate extends Vertex
A representation of the model object 'Pseudostate'. A pseudostate is an abstraction that encompasses different types of transient vertices in the state machine graph.The following features are supported:
- See Also:
UMLPackage.getPseudostate()
-
-
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 PseudostateKind
getKind()
Returns the value of the 'Kind' attribute.State
getState()
Returns the value of the 'State' container reference.StateMachine
getStateMachine()
Returns the value of the 'State Machine' container reference.void
setKind(PseudostateKind value)
Sets the value of the 'Kind
' attribute.void
setState(State value)
Sets the value of the 'State
' container reference.void
setStateMachine(StateMachine value)
Sets the value of the 'State Machine
' container reference.boolean
validateChoiceVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In a complete statemachine, a choice vertex must have at least one incoming and one outgoing transition.boolean
validateForkVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In a complete statemachine, a fork vertex must have at least two outgoing transitions and exactly one incoming transition.boolean
validateHistoryVertices(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
History vertices can have at most one outgoing transition.boolean
validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
An initial vertex can have at most one outgoing transition.boolean
validateJoinVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In a complete statemachine, a join vertex must have at least two incoming transitions and exactly one outgoing transition.boolean
validateJunctionVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In a complete statemachine, a junction vertex must have at least one incoming and one outgoing transition.boolean
validateOutgoingFromInitial(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The outgoing transition from and initial vertex may have a behavior, but not a trigger or a guard.boolean
validateTransitionsIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
All transitions incoming a join vertex must originate in different regions of an orthogonal state.boolean
validateTransitionsOutgoing(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.-
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 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 org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Vertex
containingStateMachine, getContainer, getIncoming, getIncoming, getIncomings, getOutgoing, getOutgoing, getOutgoings, setContainer
-
-
-
-
Method Detail
-
getKind
PseudostateKind getKind()
Returns the value of the 'Kind' attribute. The default value is"initial"
. The literals are from the enumerationPseudostateKind
. Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice.- Returns:
- the value of the 'Kind' attribute.
- See Also:
PseudostateKind
,setKind(PseudostateKind)
,UMLPackage.getPseudostate_Kind()
-
setKind
void setKind(PseudostateKind value)
Sets the value of the 'Kind
' attribute.- Parameters:
value
- the new value of the 'Kind' attribute.- See Also:
PseudostateKind
,getKind()
-
getStateMachine
StateMachine getStateMachine()
Returns the value of the 'State Machine' container reference. It is bidirectional and its opposite is 'Connection Point
'. The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint.- Returns:
- the value of the 'State Machine' container reference.
- See Also:
setStateMachine(StateMachine)
,UMLPackage.getPseudostate_StateMachine()
,StateMachine.getConnectionPoints()
-
setStateMachine
void setStateMachine(StateMachine value)
Sets the value of the 'State Machine
' container reference.- Parameters:
value
- the new value of the 'State Machine' container reference.- See Also:
getStateMachine()
-
getState
State getState()
Returns the value of the 'State' container reference. It is bidirectional and its opposite is 'Connection Point
'. The State that owns this pseudostate and in which it appears.- Returns:
- the value of the 'State' container reference.
- See Also:
setState(State)
,UMLPackage.getPseudostate_State()
,State.getConnectionPoints()
-
setState
void setState(State value)
Sets the value of the 'State
' container reference.- Parameters:
value
- the new value of the 'State' container reference.- See Also:
getState()
-
validateInitialVertex
boolean validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
An initial vertex can have at most one outgoing transition. (self.kind = #initial) implies (self.outgoing->size <= 1)
-
validateHistoryVertices
boolean validateHistoryVertices(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
History vertices can have at most one outgoing transition. ((self.kind = #deepHistory) or (self.kind = #shallowHistory)) implies (self.outgoing->size <= 1)
-
validateJoinVertex
boolean validateJoinVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In a complete statemachine, a join vertex must have at least two incoming transitions and exactly one outgoing transition. (self.kind = #join) implies ((self.outgoing->size = 1) and (self.incoming->size >= 2))
-
validateTransitionsIncoming
boolean validateTransitionsIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
All transitions incoming a join vertex must originate in different regions of an orthogonal state. (self.kind = #join) implies self.incoming->forAll (t1, t2 | t1<>t2 implies (self.stateMachine.LCA(t1.source, t2.source).container.isOrthogonal))
-
validateForkVertex
boolean validateForkVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In a complete statemachine, a fork vertex must have at least two outgoing transitions and exactly one incoming transition. (self.kind = #fork) implies ((self.incoming->size = 1) and (self.outgoing->size >= 2))
-
validateTransitionsOutgoing
boolean validateTransitionsOutgoing(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
All transitions outgoing a fork vertex must target states in different regions of an orthogonal state. (self.kind = #fork) implies self.outgoing->forAll (t1, t2 | t1<>t2 implies (self.stateMachine.LCA(t1.target, t2.target).container.isOrthogonal))
-
validateJunctionVertex
boolean validateJunctionVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In a complete statemachine, a junction vertex must have at least one incoming and one outgoing transition. (self.kind = #junction) implies ((self.incoming->size >= 1) and (self.outgoing->size >= 1))
-
validateChoiceVertex
boolean validateChoiceVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In a complete statemachine, a choice vertex must have at least one incoming and one outgoing transition. (self.kind = #choice) implies ((self.incoming->size >= 1) and (self.outgoing->size >= 1))
-
validateOutgoingFromInitial
boolean validateOutgoingFromInitial(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The outgoing transition from and initial vertex may have a behavior, but not a trigger or a guard. (self.kind = #initial) implies (self.outgoing.guard->isEmpty() and self.outgoing.trigger->isEmpty())
-
-