Interface StateMachine

    • Method Detail

      • createRegion

        Region createRegion​(String name)
        Creates a new Region, with the specified 'Name', and appends it to the ' Region' containment reference list.
        Parameters:
        name - The 'Name' for the new Region, or null.
        Returns:
        The new Region.
        See Also:
        getRegions()
      • getRegion

        Region getRegion​(String name)
        Retrieves the first Region with the specified 'Name' from the 'Region' containment reference list.
        Parameters:
        name - The 'Name' of the Region to retrieve, or null.
        Returns:
        The first Region with the specified 'Name', or null.
        See Also:
        getRegions()
      • getRegion

        Region getRegion​(String name,
                         boolean ignoreCase,
                         boolean createOnDemand)
        Retrieves the first Region with the specified 'Name' from the 'Region' containment reference list.
        Parameters:
        name - The 'Name' of the Region to retrieve, or null.
        ignoreCase - Whether to ignore case in String comparisons.
        createOnDemand - Whether to create a Region on demand if not found.
        Returns:
        The first Region with the specified 'Name', or null.
        See Also:
        getRegions()
      • getSubmachineStates

        MDWEList<State> getSubmachineStates()
        Returns the value of the 'Submachine State' reference list. The list contents are of type State. It is bidirectional and its opposite is 'Submachine'. References the submachine(s) in case of a submachine state. Multiple machines are referenced in case of a concurrent state.
        Returns:
        the value of the 'Submachine State' reference list.
        See Also:
        UMLPackage.getStateMachine_SubmachineState(), State.getSubmachine()
      • getSubmachineState

        State getSubmachineState​(String name)
        Retrieves the first State with the specified 'Name' from the ' Submachine State' reference list.
        Parameters:
        name - The 'Name' of the State to retrieve, or null.
        Returns:
        The first State with the specified 'Name', or null.
        See Also:
        getSubmachineStates()
      • getSubmachineState

        State getSubmachineState​(String name,
                                 boolean ignoreCase,
                                 org.eclipse.emf.ecore.EClass eClass)
        Retrieves the first State with the specified 'Name' from the ' Submachine State' reference list.
        Parameters:
        name - The 'Name' of the State to retrieve, or null.
        ignoreCase - Whether to ignore case in String comparisons.
        eClass - The Ecore class of the State to retrieve, or null.
        Returns:
        The first State with the specified 'Name', or null.
        See Also:
        getSubmachineStates()
      • getConnectionPoint

        Pseudostate getConnectionPoint​(String name,
                                       boolean ignoreCase,
                                       boolean createOnDemand)
        Retrieves the first Pseudostate with the specified 'Name' from the ' Connection Point' containment reference list.
        Parameters:
        name - The 'Name' of the Pseudostate to retrieve, or null.
        ignoreCase - Whether to ignore case in String comparisons.
        createOnDemand - Whether to create a Pseudostate on demand if not found.
        Returns:
        The first Pseudostate with the specified 'Name', or null.
        See Also:
        getConnectionPoints()
      • getExtendedStateMachine

        StateMachine getExtendedStateMachine​(String name,
                                             boolean ignoreCase,
                                             org.eclipse.emf.ecore.EClass eClass)
        Retrieves the first StateMachine with the specified 'Name' from the ' Extended State Machine' reference list.
        Parameters:
        name - The 'Name' of the StateMachine to retrieve, or null.
        ignoreCase - Whether to ignore case in String comparisons.
        eClass - The Ecore class of the StateMachine to retrieve, or null.
        Returns:
        The first StateMachine with the specified 'Name', or null.
        See Also:
        getExtendedStateMachines()
      • validateClassifierContext

        boolean validateClassifierContext​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                          Map context)
        The classifier context of a state machine cannot be an interface. context->notEmpty() implies not context.oclIsKindOf(Interface)
      • validateContextClassifier

        boolean validateContextClassifier​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                          Map context)
        The context classifier of the method state machine of a behavioral feature must be the classifier that owns the behavioral feature. specification->notEmpty() implies (context->notEmpty() and specification->featuringClassifier->exists (c | c = context))
      • validateConnectionPoints

        boolean validateConnectionPoints​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                         Map context)
        The connection points of a state machine are pseudostates of kind entry point or exit point. conectionPoint->forAll (c | c.kind = #entryPoint or c.kind = #exitPoint)
      • validateMethod

        boolean validateMethod​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                               Map context)
        A state machine as the method for a behavioral feature cannot have entry/exit connection points. specification->notEmpty() implies connectionPoint->isEmpty()
      • LCA

        Namespace LCA​(State s1,
                      State s2)
        The operation LCA(s1,s2) returns an orthogonal state or region which is the least common ancestor of states s1 and s2, based on the statemachine containment hierarchy. true
      • ancestor

        boolean ancestor​(State s1,
                         State s2)
        The query ancestor(s1, s2) checks whether s2 is an ancestor state of state s1. context StateMachine::ancestor (s1 : State, s2 : State) : Boolean result = if (s2 = s1) then true else if (s1.container->isEmpty) then true else if (s2.container->isEmpty) then false else (ancestor (s1, s2.container))
      • isRedefinitionContextValid

        boolean isRedefinitionContextValid​(StateMachine redefined)
        The query isRedefinitionContextValid() specifies whether the redefinition contexts of a statemachine are properly related to the redefinition contexts of the specified statemachine to allow this element to redefine the other. The containing classifier of a redefining statemachine must redefine the containing classifier of the redefined statemachine. result = true