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

All Superinterfaces:
Element, ExtObject, ModelElement, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefFeatured, javax.jmi.reflect.RefObject
All Known Subinterfaces:
ActivityGraph, SubactivityState
All Known Implementing Classes:
ActivityGraph_Impl, StateMachine_Impl, SubactivityState_Impl

public interface StateMachine
extends ModelElement

A state machine is a specification that describes all possible behaviors of some dynamic model element. Behavior is modeled as a traversal of a graph of state nodes interconnected by one or more joined transition arcs that are triggered by the dispatching of series of event instances. During this traversal, the state machine executes a series of actions associated with various elements of the state machine. StateMachine has a composition relationship to State, which represents the top-level state, and a set of transitions. This means that a state machine owns its transitions and its top state. All remaining states are transitively owned through the state containment hierarchy rooted in the top state. The association to ModelElement provides the context of the state machine. A common case of the context relation is where a state machine is used to specify the lifecycle of a classifier.


Method Summary
 ModelElement getContext()
           
 Collection getSubmachineState()
           
 State getTop()
           
 Collection getTransitions()
           
 void setContext(ModelElement context)
          Setter for atomic property context)
 void setTop(State top)
          Setter for atomic property top)
 
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

getSubmachineState

Collection getSubmachineState()
                              throws javax.jmi.reflect.JmiException
Throws:
javax.jmi.reflect.JmiException

getContext

ModelElement getContext()
                        throws javax.jmi.reflect.JmiException
Throws:
javax.jmi.reflect.JmiException

setContext

void setContext(ModelElement context)
                throws javax.jmi.reflect.JmiException
Setter for atomic property context)

Throws:
javax.jmi.reflect.JmiException

getTransitions

Collection getTransitions()
                          throws javax.jmi.reflect.JmiException
Throws:
javax.jmi.reflect.JmiException

getTop

State getTop()
             throws javax.jmi.reflect.JmiException
Throws:
javax.jmi.reflect.JmiException

setTop

void setTop(State top)
            throws javax.jmi.reflect.JmiException
Setter for atomic property top)

Throws:
javax.jmi.reflect.JmiException