Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
262 words
A method for analysis of an application specific system using combined discrete event and continuous model simulation, comprising the steps of: a. providing a first software component, serving as a timing element, for receiving global synchronization commands as input and issuing global simulation scheduler task dispatch commands as output; b. providing a second software component, serving as a global simulation scheduler, for receiving said global simulation scheduler task dispatch commands as input, synchronizing discrete event model and continuous model task dispatch as a function of simulation time, and issuing local simulation scheduler task dispatch commands as output; and c. providing at least a single third software component, serving as a local simulation scheduler, for receiving said local simulation scheduler task dispatch commands as input and issuing local simulation task execution commands as output; the combination of these steps providing a processing environment wherein said local simulation task execution commands invoke user supplied simulation application tasks in a time synchronized manner; wherein said first software component executes a simulation loop in real-time and includes the steps of: i) waiting for a global synchronization command from a clock source or the user, said command occurring at a point in time in the real world which has been predetermined by the global simulation scheduler; ii) terminating the simulation loop if any previously started task, scheduled to complete at or prior to the current time, has failed to complete; iii) terminating the simulation loop if a simulation termination condition is true; iv) issuing a global simulation scheduler task dispatch command; and v) returning to step i.
Claim 2
Independent Claim
262 words
A method for analysis of an application specific system using combined discrete event and continuous model simulation, comprising the steps of: a. providing a first software component, serving as a timing element, for receiving global synchronization commands as input and issuing global simulation scheduler task dispatch commands as output; b. providing a second software component, serving as a global simulation scheduler, for receiving said global simulation scheduler task dispatch commands as input, synchronizing discrete event model and continuous model task dispatch as a function of simulation time, and issuing local simulation scheduler task dispatch commands as output; and c. providing at least a single third software component, serving as a local simulation scheduler, for receiving said local simulation scheduler task dispatch commands as input and issuing local simulation task execution commands as output; the combination of these steps providing a processing environment wherein said local simulation task execution commands invoke user supplied simulation application tasks in a time synchronized manner; wherein said first software component executes a simulation loop in real-time and includes the steps of: i) waiting for a global synchronization command from a clock source or the user, said command occurring at a point in time in the real world which has been predetermined by the global simulation scheduler; ii) terminating the simulation loop if any previously started task, scheduled to complete at or prior to the current time, has failed to complete; iii) terminating the simulation loop if a simulation termination condition is true; iv) issuing a global simulation scheduler task dispatch command; and v) returning to step i.
Claim 3
Dependent Claim
306 words
The method according to claim 1, wherein said second software component synchronizes discrete event model and continuous model task dispatch as a function of simulation time and includes the steps of: a. providing a plurality of globally accessible execution queues for all discrete event software components in the system; b. providing a plurality of globally accessible wait queues for all discrete event software components in the system; c. providing a globally accessible execution queue for all continuous model software components in the system; d. managing local simulation scheduler task dispatch by: i. awaiting a global simulation scheduler task dispatch command from said first software component; ii. scanning the continuous model execution queue entries for the next earliest continuous model task dispatch time; iii. scanning all discrete event execution queues and issuing a local simulation scheduler task dispatch command for those local schedulers with a discrete event time matching the current time; iv. scanning all discrete event wait queues and issuing a local simulation scheduler task dispatch command for those local schedulers with one or more queue entries; v. awaiting task completion of each discrete event local scheduler dispatched in step (iii) or (iv); vi. returning to step (ii) if any discrete event local scheduler updated any event or wait queue in the system; vii. adjusting the scheduled time of the next global synchronization command to be the earliest of the next discrete event or continuous model local simulation scheduler task dispatch command time after the current time; viii. adjusting the next local simulation scheduler task dispatch command time to coincide with the next discrete event local simulation scheduler task dispatch command time, and issuing a local simulation scheduler task dispatch command, for each continuous model local simulation scheduler on the execution queue with a dispatch time matching the current time; and ix. returning to step i.
Claim 4
Dependent Claim
64 words
The method according to claim 2, wherein said step of adjusting the next local simulation scheduler task dispatch command time includes the step of adjusting the next local simulation scheduler task dispatch command time for each continuous model process to the greater of: the current time plus a user specified delta time, and the next discrete event local simulation scheduler task dispatch command time.
Claim 5
Dependent Claim
89 words
The method according to claim 1, wherein said first software component is capable of executing a simulation loop in non-real-time including the steps of: a. waiting for global synchronization command from the user; b. waiting for completion of any previously started task scheduled to complete at or prior to the current time; c. terminating the simulation loop if a simulation termination condition is true; d. issuing a global simulation scheduler task dispatch command; e. waiting for completion of the global simulation scheduler task; and f. returning to step b.
Claim 6
Dependent Claim
69 words
The method according to claim 1, wherein said step of providing a third software component comprises providing a single software component to manage local simulation task execution commands and includes the steps of: a. waiting for a local simulation scheduler task dispatch command from the second software component; b. dispatching control to an application software component associated with the current simulation operating mode; and c. returning to step a.
Claim 7
Dependent Claim
70 words
The method according to claim 1, wherein said step of providing a third software component comprises providing a plurality of software components, each managing local simulation task execution commands and including the steps of: a. waiting for a local simulation scheduler task dispatch command from the second software component; b. dispatching control to an application software component associated with the current simulation operating mode; and c. returning to step a.
Claim 8
Dependent Claim
276 words
A simulation and analysis tool for an application specific system using combined discrete event and continuous model simulation, comprising: a. a first software component, serving as a timing element, for receiving global synchronization commands as input and issuing global simulation scheduler task dispatch commands as output; b. a second software component, serving as a global simulation scheduler, for receiving said global simulation scheduler, for receiving said global simulation scheduler task dispatch commands as input, synchronizing discrete event model and continuous model task dispatch as a function of simulation time, and issuing local simulation scheduler task dispatch commands as output; and c. at least a single third software component, serving as a local simulation scheduler, for receiving said local simulation scheduler task dispatch commands as input and issuing local simulation task execution commands as output; the combination of which provides a processing environment wherein said local simulation task execution commands invoke user supplied simulation application tasks in a time synchronized manner, wherein said first software component executes a simulation loop in real-time and includes means for: a) waiting for a global synchronization command from a clock source or the user, said command occurring at a point in time in the real world which has been predetermined by the global simulation scheduler; b) terminating the simulation loop if any previously started task, scheduled to complete at or prior to the current time, has failed to complete: c) terminating the simulation loop if a simulation termination condition is true; d) issuing a global simulation scheduler task dispatch command; and e) returning to step a. d. issuing a global simulation scheduler task dispatch command; and e. returning to step a.
Claim 9
Dependent Claim
276 words
A simulation and analysis tool for an application specific system using combined discrete event and continuous model simulation, comprising: a. a first software component, serving as a timing element, for receiving global synchronization commands as input and issuing global simulation scheduler task dispatch commands as output; b. a second software component, serving as a global simulation scheduler, for receiving said global simulation scheduler, for receiving said global simulation scheduler task dispatch commands as input, synchronizing discrete event model and continuous model task dispatch as a function of simulation time, and issuing local simulation scheduler task dispatch commands as output; and c. at least a single third software component, serving as a local simulation scheduler, for receiving said local simulation scheduler task dispatch commands as input and issuing local simulation task execution commands as output; the combination of which provides a processing environment wherein said local simulation task execution commands invoke user supplied simulation application tasks in a time synchronized manner, wherein said first software component executes a simulation loop in real-time and includes means for: a) waiting for a global synchronization command from a clock source or the user, said command occurring at a point in time in the real world which has been predetermined by the global simulation scheduler; b) terminating the simulation loop if any previously started task, scheduled to complete at or prior to the current time, has failed to complete: c) terminating the simulation loop if a simulation termination condition is true; d) issuing a global simulation scheduler task dispatch command; and e) returning to step a. d. issuing a global simulation scheduler task dispatch command; and e. returning to step a.
Claim 10
Dependent Claim
306 words
The simulation and analysis tool according to claim 7, wherein said second software component synchronizes discrete event model and continuous model task dispatch as a function of simulation time and comprises: a. a plurality of globally accessible execution queues for all discrete event software components in the system; b. a plurality of globally accessible wait queues for all discrete event software components in the system; c. a globally accessible execution queue for all continuous model software components in the system; and, d. means for managing local simulation scheduler task dispatch by: i. awaiting a global simulation scheduler task dispatch command from said first software component; ii. scanning the continuous model execution queue entries for the next earliest continuous model task dispatch time; iii. scanning all discrete event execution queues and issuing a local simulation scheduler task dispatch command for those local schedulers with a discrete event time matching the current time; iv. scanning all discrete event wait queues and issuing a local simulation scheduler task dispatch command for those local schedulers with one or more queue entries; v. awaiting task completion of each discrete event local scheduler dispatched in step (iii) or (iv); vi. returning to step (iii) if any discrete event local scheduler updated any event or wait queue in the system; vii. adjusting the scheduled time of the next global synchronization command to be the earliest of the next discrete event or continuous model local simulation scheduler task dispatch command time after the current time; viii. adjusting the next local simulation scheduler task dispatch command time to coincide with the next discrete event local simulation scheduler task dispatch command time, and issuing a local simulation scheduler task dispatch command, for each continuous model local simulation scheduler on the execution queue with a dispatch time matching the current time; and ix. returning to step i.
Claim 11
Dependent Claim
66 words
The simulation and analysis tool according to claim 8, wherein said means of adjusting the next local simulation scheduler task dispatch command time includes means for adjusting the next local simulation scheduler task dispatch command time for each continuous model process to the greater of: the current time plus a user specified delta time, and the next discrete event local simulation scheduler task dispatch command time.
Claim 12
Dependent Claim
90 words
The simulation and analysis tool according to claim 7, wherein said first software component executes a simulation loop in non-real-time and includes means for: a. waiting for a global synchronization command from the user; b. waiting for completion of any previously started task scheduled to complete at or prior to the current time; c. terminating the simulation loop if a simulation termination condition is true; d. issuing a global simulation scheduler task dispatch command; e. waiting for completion of the global simulation scheduler task; and f. returning to step b.
Claim 13
Dependent Claim
66 words
The simulation and analysis tool according to claim 7, wherein said third software component comprises a single software component to manage local simulation task execution commands and includes means for: a. waiting for a local simulation scheduler task dispatch command from the second software component; b. dispatching control to an application software component associated with the current simulation operating mode; and c. returning to step a.
Claim 14
Dependent Claim
67 words
The simulation and analysis tool according to claim 7, wherein said third software component comprises a plurality of software components, each managing local simulation task execution commands and including means for: a. waiting for a local simulation scheduler task dispatch command from the second software component; b. dispatching control to an application software component associated with the current simulation operating mode; and c. returning to step a.
Claim 15
Dependent Claim
29 words
The simulation and analysis tool according to claim 7, wherein said first software component, said second software component, and said third software component execute on a single processor node.
Claim 16
Dependent Claim
30 words
The simulation and analysis tool according to claim 7, wherein said first software component, said second software component, and said third software component execute on a plurality of processor nodes.