uk.ac.ucl.cs.uml.jmi.BehavioralElements.StateMachines
Interface SubmachineState

All Superinterfaces:
CompositeState, Element, ExtObject, ModelElement, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefFeatured, javax.jmi.reflect.RefObject, State, StateVertex
All Known Implementing Classes:
SubmachineState_Impl

public interface SubmachineState
extends CompositeState

A submachine state is a syntactical convenience that facilitates reuse and modularity. It is a shorthand that implies a macro-like expansion by another state machine and is semantically equivalent to a composite state. The state machine that is inserted is called the referenced state machine while the state machine that contains the submachine state is called the containing state machine. The same state machine may be referenced more than once in the context of a single containing state machine. In effect, a submachine state represents a “call” to a state machine “subroutine” with one or more entry and exit points. The entry and exit points are specified by stub states. SubmachineState is a child of State.


Method Summary
 StateMachine getSubmachine()
           
 void setSubmachine(StateMachine submachine)
          Setter for atomic property submachine)
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.BehavioralElements.StateMachines.CompositeState
getSubvertex
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.BehavioralElements.StateMachines.State
getDeferrableEvent, getDoActivity, getEntry, getExit, getInternalTransition, getStateMachine, setDoActivity, setEntry, setExit, setStateMachine
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.BehavioralElements.StateMachines.StateVertex
getContainerState, getIncoming, getOutgoing, setContainerState
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.Foundation.Core.ModelElement
getAsArgument, getBehavior, getClientDependency, getComment, getConstraint, getContainer, getDefaultElement, getIsSpecification, getName, getNamespace, getPackage, getPresentation, getReferenceTag, getSourceFlow, getStereotype, getSupplierDependency, getTaggedValue, getTargetFlow, getTemplate, getTemplateArgument, getTemplateParameter, getVisibility, setDefaultElement, setIsSpecification, setName, setNamespace, setTemplate, setVisibility
 
Methods inherited from interface uk.ac.ucl.cs.emofocl.jmi.reflect.extended.ExtObject
extAddObjectListener, extDeepCopy, extDeepCopy, extEquals, extRemoveObjectListener, extValueHash, extVisit
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Method Detail

getSubmachine

StateMachine getSubmachine()
                           throws javax.jmi.reflect.JmiException
Throws:
javax.jmi.reflect.JmiException

setSubmachine

void setSubmachine(StateMachine submachine)
                   throws javax.jmi.reflect.JmiException
Setter for atomic property submachine)

Throws:
javax.jmi.reflect.JmiException