In the simulator component, aspects of discrete events are used to represent individual objects (e.g. process areas, and artifacts), actions (“give training or mentoring”, “make an investment”), conditions of triggers and destroyers, and the rules executed at the start or at the end of an action. The continuous characteristics are represented through continuous rules, which are performed at each step of the simulation, whether the actions that define them are currently active.
The simulator runs in a loop. For each time step, it looks whether the conditions of triggers and destroyers were satisfied, executes continuous rules, generates log, and gives feedback to the players. If triggers or destroyers conditions are satisfied, the rules associated to the actions are checked. Continuous rules are fired every clock tick, whether their respective action is active. The log is generated for the object types defined in the XML file. The calculations of performance feedback are defined by the instructor. The detailed communication between the simulation engine and the simulator is shown in Fig. 2, using a simplified UML diagram