Package org.mitre.sim.api3.exec.reference

Supporting infrastructure - Reference Executive implementation and documentation of the Flow - Executive interaction.

See:
          Description

Class Summary
Display Convenience class that displays a table of LogicalProcesses.
ReferenceExecutive Reference implementation of the Executive interface.
ReferencePopulation Reference implementation of the Population interface.
 

Package org.mitre.sim.api3.exec.reference Description

Supporting infrastructure - Reference Executive implementation and documentation of the Flow - Executive interaction.

Contents


Introduction


Sequence Diagram

Sequence Diagram Interactions

  1. Call pickNextLP to determine which LP should next be made ready or activated. At this time there is only one LP and it is dormant.
  2. Method pickNextLP returns a handle to the dormant LP.
  3. The executive calls elaborate to create a new thread for the dormant LP.
  4. Create a new thread for the LP. The new thread uses runLogicalProcess to begin the execution of the LP.
  5. The new thread calls elaborated to confirm the establishment of the new thread.
  6. Elaborated suspends the new LP thread and resumes the executive thread.
  7. Elaborate returns and the executive changes the LP state to ready.
  8. Call pickNextLP to determine which LP should next be made ready or activated. At this time there is only one LP and it is ready.
  9. Method pickNextLP returns a handle to the ready LP.
  10. The executive sets the state of the returned LP to active and calls yieldToLP to transfer control to the newly activated LP.
  11. Method yieldToLP suspends the executive thread and activates the LP thread.
  12. The call to elaborated returns and the LP begins the agenda execution.
  13. The agenda invokes either waitForTime, waitForAction, or waitForActionOrTrigger. Each of these method invocations results in a call to yieldToExecutive. The LP state is set to either waitingForTime or waitingForEvent.
  14. Method yieldToExecutive suspends the LP thread and activates the executive thread.
  15. Method yieldToLP returns.
  16. Call pickNextLP to determine which LP should next be made ready or activated. At this time there is only one LP and it is in a waitingForTime or waitingForEvent state.
  17. Method pickNextLP returns a handle to the waiting LP.
  18. The executive sets the state of the returned LP to active and calls yieldToLP to activate the LP.
  19. Method yieldToLP suspends the executive and activates the LP.
  20. Method yieldToExecutive returns.
  21. The agenda invokes either waitForTime, waitForAction, or waitForActionOrTrigger. Each of these method invocations results in a call to yieldToExecutive. The LP state is set to either waitingForTime or waitingForEvent.
  22. Method yieldToExecutive suspends the LP thread and activates the executive thread.
  23. Method yieldToLP returns.


Copyright (c) 2003 The MITRE Corporation