Class ExecutionEngine

java.lang.Object
com.nomagic.magicdraw.simulation.engine.ExecutionEngine

@OpenApi public abstract class ExecutionEngine extends Object
Allows executing Behavior in a customized way during simulation execution. Currently, supports overriding execution behavior of :
- StateMachine
- Interaction
- Activity, unless the Activity is the target of the simulation execution itself
Note: Simulation execution target is always executed with the default fUML ExecutionEngine to initialize the fUML runtime values
  • Field Details

    • session

      @OpenApi protected SimulationSession session
      a reference to the running session of this engine.
  • Constructor Details

    • ExecutionEngine

      @OpenApi public ExecutionEngine(ExecutionEngineDescriptor engineDescriptor)
      Constructor.
      Parameters:
      engineDescriptor - the given engine's descriptor.
  • Method Details

    • getEngineDescriptor

      @OpenApi public ExecutionEngineDescriptor getEngineDescriptor()
      ExecutionEngineDescriptor getter.
      Returns:
      ExecutionEngineDescriptor
    • init

      @OpenApi public abstract void init(Element element)
      Engine initialization.
      Parameters:
      element - the given element
    • execute

      @OpenApi public abstract void execute(Element element)
      Engine execution.
      Parameters:
      element - the given element
    • onClose

      @OpenApi public abstract void onClose()
      Engine onClose.
    • addEngineListener

      @OpenApi public void addEngineListener(EngineListener listener)
      Add the specified engine listener to the storing engine listener list.
      Parameters:
      listener - the specified engine listener
    • removeEngineListener

      @OpenApi public void removeEngineListener(EngineListener listener)
      Remove the specified engine listener from the storing engine listener list.
      Parameters:
      listener - the specified engine listener
    • getEngineListeners

      @OpenApi public List<EngineListener> getEngineListeners()
      Get the engine listener list.
      Returns:
      the engine listener list.
    • activateElement

      @OpenApi public void activateElement(Element element, Collection<?> c)
      Activate the element, it delegates to all storing engine listener.
      Parameters:
      element - the specified element
      c - the passing values
    • deactivateElement

      @OpenApi public void deactivateElement(Element element, Collection<?> c)
      Deactivate the element, it delegates to all storing engine listener.
      Parameters:
      element - the specified element
      c - the passing values
    • triggerEvent

      @OpenApi public void triggerEvent(String event)
      Trigger the specified event, it delegates to all storing engine listener.
      Parameters:
      event - the specified event
    • getActiveElements

      @OpenApi public List<Element> getActiveElements()
      Gets active elements.
      Returns:
      Active elements
    • getLastVisitedElement

      @OpenApi @CheckForNull public Element getLastVisitedElement()
      Gets last visited element - element that was activated last and is already deactivated
      Returns:
      Last visited element