Patent ID: 8185370
Filing Date: 2012-05-22
Classification: G06F

Abstract:
1. A simulation system for mitigating complexity of simulation logic in performing a discrete event simulation of a modeled system having a sequence of chronological events, comprising: an event list, an entity list, an integrator, a simulation clock, a processor, an event-driven model comprising a plurality of nodes that are interconnected with a plurality of arcs, wherein each node represents a change of state of the modeled system and each arc represents scheduling of one of the plurality of nodes; and a process-driven model comprising a plurality of blocks that are interconnected, wherein each block represents a process step and the plurality of blocks comprises an event graph block, wherein the event graph block comprises at least one node of the plurality of nodes of the event driven model for processing any tagged entity, wherein during the discrete event simulation: the event list comprises multiple events which belong to the chronological events of the discrete event simulation, wherein each of the events comprises an event time stamp associated with one of the nodes that represents the time the event is to occur in the discrete event simulation; the entity list comprises multiple entities which are related to the discrete event simulation, wherein each of the entities comprises an entity time stamp associated with one of the blocks that represents the time the entity is to be processed in the discrete event simulation, and wherein at least one of the multiple entities is not directly associated with the multiple events in the event list; the integrator reads both the event list and the entity list, determines which event or entity has the highest priority by determining, based on the entity time stamp and the event time stamp, which will occur first in time, updates the event list or the entity list by removing the event having the highest priority or the entity having the highest priority from its respective list, wherein the entity having the highest priority is removed from the entity list or the event having the highest priority is removed from the event list, and passes the event having the highest priority or the entity having the highest priority to the processor; the simulation clock is updated to the highest priority event time stamp or entity time stamp; the processor receives the highest priority event or entity from the integrator and processes the highest priority event according to the event-driven model or processes the highest priority entity according to the process-driven model; the entity list is further updated when a new entity is created and the event list is further updated when a new event is scheduled or an existing event is canceled; and the multiple entities are processed according to the blocks, wherein the multiple entities provide their attributes to the blocks.