Patent US5701439A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5701439A Expired / Lapsed US ⏱️ 0.0 years remaining

Combined discrete-event and continuous model simulation and analysis tool

Assignee: Boeing North American Inc
•
Filing: 1992-03-30
•
Granted: 1997-12-23
•
Expires: 2012-03-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The tool comprises the first step of 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. A second software component is provided, serving as a global simulation scheduler, for receiving the 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. At least a single third software component is provided, serving as a local simulation scheduler, for receiving the local simulation scheduler task dispatch commands as input and issuing local simulation task execution commands as output. The combination of these steps provides a processing environment wherein the local simulation task execution commands invoke user supplied simulation application tasks in a time synchronized manner.

Inventors

  • 👤 David C. James
  • 👤 John R. Clymer
  • 👤 Philip D. Corey
  • 👤 Nafise Nili

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 12:05
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/4881; G06F30/00; G06F30/20

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.

References Cited (Backward Citations)

US4965743A Cited
US5247650A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-12-22 2001-06-23 2001-12-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-12-22 2005-06-23 2005-12-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-12-22 2009-06-23 2009-12-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag