WO1999006927A1 - Method and apparatus for verifying, analyzing and optimizing a distributed simulation - Google Patents

Method and apparatus for verifying, analyzing and optimizing a distributed simulation Download PDF

Info

Publication number
WO1999006927A1
WO1999006927A1 PCT/US1998/015946 US9815946W WO9906927A1 WO 1999006927 A1 WO1999006927 A1 WO 1999006927A1 US 9815946 W US9815946 W US 9815946W WO 9906927 A1 WO9906927 A1 WO 9906927A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
applications
agent
distributed
components
Prior art date
Application number
PCT/US1998/015946
Other languages
French (fr)
Inventor
Jerry M. Feinberg
Christopher H. Johnson
Bruce W. Stalcup
Original Assignee
Prc Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Prc Inc. filed Critical Prc Inc.
Priority to AU86784/98A priority Critical patent/AU8678498A/en
Publication of WO1999006927A1 publication Critical patent/WO1999006927A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems

Definitions

  • simulations are formed by connecting two or more individual simulation components via a communication medium (e.g., WAN, LAN, satellite, telephone lines, etc.). These simulation components, in general, have been constructed separately from one another, and therefore have varying degrees of compatibility.
  • a communication medium e.g., WAN, LAN, satellite, telephone lines, etc.
  • These simulation components in general, have been constructed separately from one another, and therefore have varying degrees of compatibility.
  • There are three basic types of simulation components - “live” (e.g., an actual M1A1 tank outfitted with a "black box” to measure various aspects of the tank operations such as speed, direction, operational status of instruments, and data received from various sources)
  • “virtual” which uses mock up hardware to provide input into a simulation entity (e.g., a flight simulator cockpit)
  • “constructive” simulation components which generally will comprise a computer and computer software which models a simulation entity.
  • the various simulation components may differ in resolution, in number and type of inputs/out
  • DIS Simulation
  • HLA High-Level Architecture
  • C4ISR Reconnaissance
  • the DIS software 110 on each simulation component 100 broadcasts Protocol Data Units ("PDUs") 120 to the DIS software 110 on each of the other simulation components 100.
  • PDUs Protocol Data Units
  • Each PDU 120 comprises information about the particular simulation entity 130 running on the simulation component 100 on which the DIS software 110 is resident so that each simulation component 100 may determine the relationship between each of the simulation entities 130.
  • simulation component A comprises a mock cockpit as its simulation processor 105 running software which simulates a plane as its simulation entity 130
  • simulation component B comprises a black box which may be constructed in any manner known to those skilled in the art and depending upon the purpose of the simulation which is operatively connected to an actual tank where the tank is the simulation entity 130
  • simulation component C comprises a Sun workstation as the simulation processor 105 running a computer software model of a missile which model is the simulation entity 130
  • simulation component D comprises an Intel-based personal computer as the simulation processor 105 running a computer software model of a radar system as its simulation entity 130.
  • each of the simulation processors 105 are running DIS software 110 where the DIS software on each simulation component 100 passes a PDU 120 to each of the other simulation components 100.
  • the problem is that merely connecting all the simulation components into such a distributed simulation does not verify or validate that the simulation accurately models reality; it also does not inherently assure that data from the simulation can be captured easily and analyzed, in order that the simulation can be used effectively in making decisions; finally, the fundamental purpose of a simulation is to allow quick discovery of a "best" or optimum solution without having to play out the options in live tests or prototypes (e.g., "How can I win a war faster or with fewer casualties?"). Little attention has been given, however, to optimization tools to serve these purposes.
  • the prior art attempts at addressing the problem of verifying the accuracy of a distributed simulation consists principally in reviewing the source code generating an individual simulation entity in a constructive simulation to ensure that calculation of parameters is correct and in accordance with the best known principles of physics, and in running individual simulation entities and comparing results to empirical observations to ensure that the simulation entity is developing answers that match real-life. Little or nothing has been done to validate the proper interaction of simulation models in a distributed simulation to ensure that data exchanges, perceptions of environmentals, spatial registrations, etc., are consistent, correct, and maintain an accurate reflection of reality.
  • the present invention solves the problems of the prior art.
  • a preferred embodiment of the present invention is a system of platform-independent software tools, which operate in the background of a distributed simulation, and perform the following essential services: observe the internal operation and verify proper interaction of models within a simulation; analyze simulation results then produce defendable and actionable conclusions; and enable optimization required for quick convergence on a best solution.
  • a control computer is connected to an existing distributed simulation network. Since JavaTM is a largely platform independent programming environment, the control computer contains a rich library of JavaTM agent-applications.
  • a user selects and initializes JavaTM data- collection agent-applications based on specific data and analysis requirements of the next simulation run; the selected JavaTM agent-applications are distributed by the control computer at runtime to simulation components on the network; these JavaTM agent- applications capture and pre-analyze data from the simulation components running the various simulation entities, and return key data to the control computer.
  • VV&A Verification, Validation and Accreditation
  • the design of this preferred embodiment allows for broad flexibility in collecting data from any simulation component in the distributed simulation; for returning that data in real-time or post-simulation as required; for using commercial off the shelf (“COTS”), government off the shelf (“GOTS”) or customized computer software applications to perform VV&A, analysis, and optimization functions consistent with the collected data; and for implementing new data collection as required to react to new questions, new simulation objectives, new simulations, etc.
  • COTS commercial off the shelf
  • GOTS government off the shelf
  • Figure 1 is a block diagram depicting a prior art distributed simulation employing DIS protocol.
  • Figure 2 is a block diagram depicting a distributed simulation employing a preferred embodiment of the present invention in addition to DIS protocol.
  • Figure 3 is a simplified block diagram showing the relationship between a control computer 200 and two simulation components 100.
  • FIG. 4 is a flowchart illustrating program flow of a preferred embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
  • FIG. 2 is a block diagram depicting a preferred embodiment of the present invention as it would apply to the example of the distributed simulation illustrated in Figure 1.
  • the present invention is overlaid onto the distributed simulation of Figure 1 without disturbing how the distributed simulation of Figure 1 operates. This is an advantage of the present invention because it will not require that current investments in distributed simulation systems be lost or substantially undermined to practice the present invention.
  • the present invention adds simulator middleware 270 to each simulation component 100 and adds a control computer 200.
  • the simulator middleware 270 may be added to a live simulation such as depicted by the tank and black box of simulation component B via an Application Specific Integrated Circuit (“ASIC") or a Read Only Memory (“ROM”) operational method to the black box in a manner known to those of skill in the art.
  • ASIC Application Specific Integrated Circuit
  • ROM Read Only Memory
  • Additional writable memory such as Random Access Memory (“RAM”) may also be added to the black box to support downloading agent-applications to the live simulation component to the extent needed.
  • RAM Random Access Memory
  • control computer 200 is comprised of local control software 210 which is in communication with the simulator middleware 270 on each of the simulation components 100, and the library 220, a graphical user interface 310 ("GUI"), a library of agent-applications 230, a set of tools 240, 250, and 260, and a database 350.
  • the library 220 may be stored on a local hard drive or may be stored on a central storage device to which the control computer 200 is operatively connected.
  • the library 220 is further comprised of a set of tools 240, 250, and 260 and a library of one or more agent-applications 230.
  • agent-applications stored in library 230 in a preferred embodiment are written in JavaTM, however, the agent-applications stored in library 230 may be written in any language understandable by one or more of the simulation processors 105. However, a language that is substantially platform independent and operating system independent such as JavaTM is preferable because it allows greater interchangeability between agent- applications and simulator computers 105 and therefore introduces greater flexibility and adaptability into the present invention.
  • the present invention has been discussed in terms of a single control computer, the present invention is not limited to having a single control computer.
  • the present invention could be practiced where there are plural control computers 200 and a single library 220.
  • a main library 220 could be provided with a supplemental library 220 resident on each control computer.
  • the agent-applications 230 are programs designed to be sent to the simulators 100 to perform specific tasks such as gathering data from a simulator 100 regarding the resources of the simulator 100 or data provided to or generated by the simulation 130 resident on the simulator 100.
  • tools 240, 250 and 260 are designed to operate while resident on the control computer 200.
  • any of the tools 240, 250, or 260 may interact with one or more of the agent- applications 230 to modify the agent-application to further the purpose of a particular tool making the modification, or the tool may in fact create an agent- application to further the tools.
  • a control computer 200 sends agent-applications to each selected simulation component 100 to monitor the simulation component 100 and its interactions with other simulation components 100.
  • the user of the control computer 200 may, by means of a graphical user interface 310, select one or more agent-applications from the library of agent- applications 230 for communication to one or more selected simulation components 100.
  • Simulation components are selected for downloading of agent- applications by a control computer user through the graphical interface 310 via the download module 320 of local control software 210.
  • Simulator middleware 270 of the simulation component 100 receiving agent- applications from the download module may accept, compile, execute and control the agent-application, monitor resources of the simulation component and monitor the status of the agent-applications 360 in a manner disclosed by applicant in applicants' copending application for A System and Method for Controlling and Monitoring Remote Distributed Processing Systems (Serial Number to be assigned) which is incorporated herein by reference.
  • the simulator middleware 270 authenticates, where appropriate, downloaded agent-applications.
  • the simulation middleware 270 then causes the agent- applications to be executed according to operational instructions which may be received from local control software 210 as referenced in applicants' copending application.
  • the executing agent-applications 360 then perform their tasks.
  • the agent-applications monitor the simulation entity 130 and gather data relating to the simulation entity 130 such as what information input does the simulation entity 130 have (e.g., what information is in the PDUs that the simulation entity 130 is receiving or sending, how often are PDUs received/sent, etc.), or about the simulation component 100 system resources (e.g., what available random access memory, hard disk storage space, processing power, and/or communication bandwidth is available to the simulation component 100) .
  • Each simulation component 100 may have a different set of executing agent-applications 360 than any other simulation component. While step 410 indicates that the agent- applications gathers selected data about a simulation component 100 and its simulation entity 130, the agent- applications could perform other tasks such as filtering the data flow into or out of simulation entity 130.
  • the data gathered by executing agent- applications 360 may be preanalyzed by the executing agent-application 360.
  • the executing agent-application 360 may screen the gathered data to eliminate irrelevant data and/or could reach intermediate conclusions.
  • the agent- application may add certain variables together or select the highest value of a discrete set of data. Step 420 is optional, but may be useful, for example, where communication bandwidth or control computer processing power is relatively scarce and pre-analysis streamlining is desired.
  • data gathered by the executing agent- applications 360 and/or pre-analyzed data as described above in step 420 is transmitted to the local control software 210 preferably to a data module 340 of the control software 210.
  • Data module 340 may store the transmitted data in a database 350 for later use such as analysis by one or more of the tools 240, 250 or 260 or data module 340 may provide transmitted data directly to one or more of the tools 240, 250 and 260.
  • step 440 the VV&A analysis tool 240 performs a verification (i.e., "Does everything work in the manner it was designed to work?") validation (i.e., "Is everything correct according to reality over a certain set of inputs?") and accreditation (i.e., automatically approving an application for a particular purpose according to guidelines or preparing data to facilitate human approval of an application for a particular purpose) analysis on either the data directly from the data module 340 or from the data stored in database 350 to determine the accuracy of the distributed simulation.
  • a verification i.e., "Does everything work in the manner it was designed to work?"
  • validation i.e., "Is everything correct according to reality over a certain set of inputs?”
  • accreditation i.e., automatically approving an application for a particular purpose according to guidelines or preparing data to facilitate human approval of an application for a particular purpose
  • the W&A tools would ensure that all simulation components could "see” a mountain which another simulation component "sees.” To continue the example this is to avoid a situation, for example, where Tank A sees Tank B but Tank B can't see Tank A because Tank A's line of sight is not blocked by the mountain between the two tanks but Tank B's line of sight is blocked by the mountain.
  • the control computer 200 analyzes the data either from the data module 340 or the database 350 to draw conclusions about the simulation.
  • the analysis tools may calculate performance data such as, in the example of military simulations, probability of kill or other measures of effectiveness, and the analysis tools may also produce graphs based on this information.
  • the control computer 200 utilizes optimization tools 260 to optimize a solution to the distributed simulation problem and may be based on conclusions drawn by the analysis tools at step 450.
  • the optimization tools then may modify existing agent- applications in the agent-applications library 230 or create new agent-applications which are then sent to selected simulation components 100 in order to rerun the distributed simulation with different parameters.
  • the optimization tools may consist of software which selects in a manner known to those of skill in the art certain simulation parameters believed to yield a more optimal solution and then reruns the distributed simulation. For instance, based upon the data gathered from a distributed battle simulation and/or any analysis performed on that data, optimization software may decide that if a particular side had five additional tanks located in various positions, that would yield a more optimal result and the optimization software would rerun the distributed simulation with five additional tanks in the identified positions. Such optimization tools could take various factors into account such as, in our example, what is the cost of adding five additional tanks and how soon would the battle reach a successful conclusion versus how much would it cost to add two additional airplanes and how soon would the battle reach a successful conclusion.
  • the present invention operates concurrently with the distributed simulation. It is also preferable for the simulation processor to have the means to run more than one process concurrently, for example, Windows 95TM or any other multitasking operating system would enable an Intel-based personal computer such as that shown in simulation component D of Figure 2 to run more than one process or program at a time. It is further preferable to have the simulator middleware and agent-applications resident on simulation components running in the "background” and processes involved with the simulation running in the "foreground” so that the present invention will have little or no adverse impact on the distributed simulation.
  • simulation components can be managed by the control computer (e.g., the control computer may instruct the simulation components to turn on or turn off or go left, etc.).
  • the control computer may instruct the simulation components to turn on or turn off or go left, etc.
  • This capability can be useful for a number of reasons which will be apparent to those skilled in the art including correcting a malfunction in a simulation component or minimizing the effect of a malfunction in a simulation component on the distributed simulation overall.

Abstract

A method and apparatus for verifying, analyzing and optimizing a distributed simulation conducted on one or more simulation components from one or more control computers where the present invention may be overlaid onto a distributed simulation as may be conducted by technologies now known for conducting such simulations, where each simulation component has simulator middleware which is operatively connected to a control computer and where the control computer has agent-applications which it may send to the simulator middleware of one or more selected simulation components to perform a task such as gathering data about a simulation entity and return that data to the control computer for subsequent analysis such as calculating average characteristics or effectiveness of simulation components and having tools for optimizing the distributed simulation by modifying or creating agent-applications to send to selected simulators which change the parameters of the distributed simulation and re-run the distributed simulations.

Description

METHOD AND APPARATUS FOR VERIFYING, ANALYZING AND OPTIMIZING A DISTRIBUTED SIMULATION
CROSS REFERENCE TO RELATED APPLICATIONS
This application is related to subject matter disclosed in co-pending application Serial No. filed July 25, 1997, entitled "System and method for controlling and monitoring remote distributed processing systems."
BACKGROUND Currently, distributed simulations are formed by connecting two or more individual simulation components via a communication medium (e.g., WAN, LAN, satellite, telephone lines, etc.). These simulation components, in general, have been constructed separately from one another, and therefore have varying degrees of compatibility. There are three basic types of simulation components - "live" (e.g., an actual M1A1 tank outfitted with a "black box" to measure various aspects of the tank operations such as speed, direction, operational status of instruments, and data received from various sources) , "virtual" which uses mock up hardware to provide input into a simulation entity (e.g., a flight simulator cockpit), and "constructive" simulation components which generally will comprise a computer and computer software which models a simulation entity. The various simulation components may differ in resolution, in number and type of inputs/outputs, environmental data requirements, hardware, software, operating systems, etc. Various simulation protocols such as Defense Interactive
Simulation (DIS) or High-Level Architecture (HLA) allow these individual simulation components (which may be referred to as "Entities" in a DIS environment or "Federates" in an HLA environment) , despite their differences, to be linked into a united simulation. Distributed simulations are important in a number of applications, especially in Defense industries and in the military, where they are used in training, mission planning, system design, acquisitions, Command Control Communication Computers Intelligent Surveillance &
Reconnaissance ("C4ISR") applications, system design and acquisitions.
The following are examples of other applications of distributed simulations and the organizations and industries interested in such distributed simulations: air traffic control and airplane crash simulations (Federal Aviation Administration) , streamlining of postal routes and personnel (U.S. Postal Service), traffic simulations and highway and road planning (Federal and state departments of transportation) , land use and environmental simulations, natural disaster simulations (Federal Emergency Management Agency) , and multiplayer videogames (entertainment industries) . With reference to Figure 1, a prior art system is illustrated for conducting a distributed simulation of a tank's defense against a missile fired from a plane on four simulation components 100 running simulation models 130 on various simulation processors 105 using Defense Interactive Simulation ("DIS") protocol software 110. The DIS software 110 on each simulation component 100 broadcasts Protocol Data Units ("PDUs") 120 to the DIS software 110 on each of the other simulation components 100. Each PDU 120 comprises information about the particular simulation entity 130 running on the simulation component 100 on which the DIS software 110 is resident so that each simulation component 100 may determine the relationship between each of the simulation entities 130.
In the example of Figure 1, simulation component A comprises a mock cockpit as its simulation processor 105 running software which simulates a plane as its simulation entity 130, simulation component B comprises a black box which may be constructed in any manner known to those skilled in the art and depending upon the purpose of the simulation which is operatively connected to an actual tank where the tank is the simulation entity 130, and simulation component C comprises a Sun workstation as the simulation processor 105 running a computer software model of a missile which model is the simulation entity 130, and simulation component D comprises an Intel-based personal computer as the simulation processor 105 running a computer software model of a radar system as its simulation entity 130. As may be seen from the diagram, each of the simulation processors 105 are running DIS software 110 where the DIS software on each simulation component 100 passes a PDU 120 to each of the other simulation components 100. The problem is that merely connecting all the simulation components into such a distributed simulation does not verify or validate that the simulation accurately models reality; it also does not inherently assure that data from the simulation can be captured easily and analyzed, in order that the simulation can be used effectively in making decisions; finally, the fundamental purpose of a simulation is to allow quick discovery of a "best" or optimum solution without having to play out the options in live tests or prototypes (e.g., "How can I win a war faster or with fewer casualties?"). Little attention has been given, however, to optimization tools to serve these purposes. Accordingly, while it is possible to build very sophisticated distributed simulations that model very complex problems, the tools that would ensure that those simulations are relevant and powerful in solving problems, saving money, building optimum designs, etc., have not appeared yet. Referring again to Figure 1, prior to the present invention there was no way to determine whether PDU D arrived at simulation component B with the correct data or at an acceptable time (e.g., not too much latency between the time PDU D is sent by simulation component D and the time it is received by simulation component B) such that the tank simulation entity would detect the approach of the missile simulation entity with enough accuracy in the simulation that the simulation would be useful with respect to its objective (e.g., determining whether a tank's defense system would detect a missile in time to avoid it given the tank's current equipment, will the missile show up on the tank's radar, etc.) . In order to draw valid conclusions about the performance of the tank's missile defense system, it is imperative that not only are the simulation components of high enough quality individually to support the accuracy required but also that each simulation component's view of the simulation be consistent in both space and time with the other simulation components.
Prior to the present invention, answers to crucial questions about the distributed simulation could not be answered without either (a) disturbing the distributed simulation or (b) considerable one-time setup effort. Examples of some of these crucial questions are: Is the data flow correct? Is the information content within the PDUs correct? Is the information content appropriate? Is the information content having an effect on the other simulation components? Is the distributed simulation exercise producing the interactions and data required for analyzing the problems necessitating the exercise in the first place? Is the distributed simulation exercise producing the data for calculating the measures of effectiveness and performance which will provide useful information?
The prior art attempts at addressing the problem of verifying the accuracy of a distributed simulation consists principally in reviewing the source code generating an individual simulation entity in a constructive simulation to ensure that calculation of parameters is correct and in accordance with the best known principles of physics, and in running individual simulation entities and comparing results to empirical observations to ensure that the simulation entity is developing answers that match real-life. Little or nothing has been done to validate the proper interaction of simulation models in a distributed simulation to ensure that data exchanges, perceptions of environmentals, spatial registrations, etc., are consistent, correct, and maintain an accurate reflection of reality.
In order to capture and analyze distributed simulation data, prior art systems had to develop in parallel with the simulation a large, monolithic software package to collect and analyze data. The disadvantages of this approach are legion: it is expensive, and time-consuming; it can require modification to individual simulation models in order to access data held within files; it exerts a huge overhead on the overall hardware system (e.g., computer processing time, RAM, disk storage, communication throughput) ; it is unresponsive to new demands for additional data and analysis; it does not adapt readily to the addition of new simulation models; it requires frequent re-writes and re-compiles to incorporate improvements and adjustments; and it requires individual builds to accommodate each separate computer platform (e.g. such as an IBM MVS system, mini computer, DEC Alpha, SUN, SGI, or a personal computer based upon a microprocessor by Intel, AMD, Cyrix, or Motorola) and operating systems (e.g. DOS, Windows 95, UNIX, etc. ) .
No prior art implements optimization techniques for distributed simulations. SUMMARY OF THE INVENTION
The present invention solves the problems of the prior art.
A preferred embodiment of the present invention is a system of platform-independent software tools, which operate in the background of a distributed simulation, and perform the following essential services: observe the internal operation and verify proper interaction of models within a simulation; analyze simulation results then produce defendable and actionable conclusions; and enable optimization required for quick convergence on a best solution.
In a preferred embodiment, a control computer is connected to an existing distributed simulation network. Since Java™ is a largely platform independent programming environment, the control computer contains a rich library of Java™ agent-applications.
A user selects and initializes Java™ data- collection agent-applications based on specific data and analysis requirements of the next simulation run; the selected Java™ agent-applications are distributed by the control computer at runtime to simulation components on the network; these Java™ agent- applications capture and pre-analyze data from the simulation components running the various simulation entities, and return key data to the control computer.
Retrieved data is used by the remote host as inputs into Verification, Validation and Accreditation ("VV&A"), analysis, and optimization tools. The design of this preferred embodiment allows for broad flexibility in collecting data from any simulation component in the distributed simulation; for returning that data in real-time or post-simulation as required; for using commercial off the shelf ("COTS"), government off the shelf ("GOTS") or customized computer software applications to perform VV&A, analysis, and optimization functions consistent with the collected data; and for implementing new data collection as required to react to new questions, new simulation objectives, new simulations, etc. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram depicting a prior art distributed simulation employing DIS protocol.
Figure 2 is a block diagram depicting a distributed simulation employing a preferred embodiment of the present invention in addition to DIS protocol. Figure 3 is a simplified block diagram showing the relationship between a control computer 200 and two simulation components 100.
Figure 4 is a flowchart illustrating program flow of a preferred embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
Figure 2 is a block diagram depicting a preferred embodiment of the present invention as it would apply to the example of the distributed simulation illustrated in Figure 1. As will be noted, the present invention is overlaid onto the distributed simulation of Figure 1 without disturbing how the distributed simulation of Figure 1 operates. This is an advantage of the present invention because it will not require that current investments in distributed simulation systems be lost or substantially undermined to practice the present invention. The present invention adds simulator middleware 270 to each simulation component 100 and adds a control computer 200. Note that the simulator middleware 270 may be added to a live simulation such as depicted by the tank and black box of simulation component B via an Application Specific Integrated Circuit ("ASIC") or a Read Only Memory ("ROM") operational method to the black box in a manner known to those of skill in the art. Additional writable memory such as Random Access Memory ("RAM") may also be added to the black box to support downloading agent-applications to the live simulation component to the extent needed. Thus, the additional means required to practice the present invention in an existing distributed simulation are not substantial.
With reference to Figures 2 and 3, control computer 200 is comprised of local control software 210 which is in communication with the simulator middleware 270 on each of the simulation components 100, and the library 220, a graphical user interface 310 ("GUI"), a library of agent-applications 230, a set of tools 240, 250, and 260, and a database 350. The library 220 may be stored on a local hard drive or may be stored on a central storage device to which the control computer 200 is operatively connected. The library 220 is further comprised of a set of tools 240, 250, and 260 and a library of one or more agent-applications 230. The agent-applications stored in library 230 in a preferred embodiment are written in Java™, however, the agent-applications stored in library 230 may be written in any language understandable by one or more of the simulation processors 105. However, a language that is substantially platform independent and operating system independent such as Java™ is preferable because it allows greater interchangeability between agent- applications and simulator computers 105 and therefore introduces greater flexibility and adaptability into the present invention.
Although the present invention has been discussed in terms of a single control computer, the present invention is not limited to having a single control computer. For example, the present invention could be practiced where there are plural control computers 200 and a single library 220. Alternatively, a main library 220 could be provided with a supplemental library 220 resident on each control computer. As will be described in more detail herein, the agent-applications 230 are programs designed to be sent to the simulators 100 to perform specific tasks such as gathering data from a simulator 100 regarding the resources of the simulator 100 or data provided to or generated by the simulation 130 resident on the simulator 100. Conversely, tools 240, 250 and 260 are designed to operate while resident on the control computer 200. However, any of the tools 240, 250, or 260 may interact with one or more of the agent- applications 230 to modify the agent-application to further the purpose of a particular tool making the modification, or the tool may in fact create an agent- application to further the tools.
With reference to Figures 2, 3 and 4, at step 400 a control computer 200 sends agent-applications to each selected simulation component 100 to monitor the simulation component 100 and its interactions with other simulation components 100. In a preferred embodiment, the user of the control computer 200 may, by means of a graphical user interface 310, select one or more agent-applications from the library of agent- applications 230 for communication to one or more selected simulation components 100. Simulation components are selected for downloading of agent- applications by a control computer user through the graphical interface 310 via the download module 320 of local control software 210. Simulator middleware 270 of the simulation component 100 receiving agent- applications from the download module may accept, compile, execute and control the agent-application, monitor resources of the simulation component and monitor the status of the agent-applications 360 in a manner disclosed by applicant in applicants' copending application for A System and Method for Controlling and Monitoring Remote Distributed Processing Systems (Serial Number to be assigned) which is incorporated herein by reference.
The simulator middleware 270 authenticates, where appropriate, downloaded agent-applications. The simulation middleware 270 then causes the agent- applications to be executed according to operational instructions which may be received from local control software 210 as referenced in applicants' copending application. The executing agent-applications 360 then perform their tasks. In a preferred embodiment of the invention, the agent-applications monitor the simulation entity 130 and gather data relating to the simulation entity 130 such as what information input does the simulation entity 130 have (e.g., what information is in the PDUs that the simulation entity 130 is receiving or sending, how often are PDUs received/sent, etc.), or about the simulation component 100 system resources (e.g., what available random access memory, hard disk storage space, processing power, and/or communication bandwidth is available to the simulation component 100) . Each simulation component 100 may have a different set of executing agent-applications 360 than any other simulation component. While step 410 indicates that the agent- applications gathers selected data about a simulation component 100 and its simulation entity 130, the agent- applications could perform other tasks such as filtering the data flow into or out of simulation entity 130.
At step 420, the data gathered by executing agent- applications 360 may be preanalyzed by the executing agent-application 360. In such a pre-analysis, the executing agent-application 360 may screen the gathered data to eliminate irrelevant data and/or could reach intermediate conclusions. For example, the agent- application may add certain variables together or select the highest value of a discrete set of data. Step 420 is optional, but may be useful, for example, where communication bandwidth or control computer processing power is relatively scarce and pre-analysis streamlining is desired.
At step 430, data gathered by the executing agent- applications 360 and/or pre-analyzed data as described above in step 420 is transmitted to the local control software 210 preferably to a data module 340 of the control software 210. Data module 340 may store the transmitted data in a database 350 for later use such as analysis by one or more of the tools 240, 250 or 260 or data module 340 may provide transmitted data directly to one or more of the tools 240, 250 and 260. In step 440, the VV&A analysis tool 240 performs a verification (i.e., "Does everything work in the manner it was designed to work?") validation (i.e., "Is everything correct according to reality over a certain set of inputs?") and accreditation (i.e., automatically approving an application for a particular purpose according to guidelines or preparing data to facilitate human approval of an application for a particular purpose) analysis on either the data directly from the data module 340 or from the data stored in database 350 to determine the accuracy of the distributed simulation. For example, the W&A tools would ensure that all simulation components could "see" a mountain which another simulation component "sees." To continue the example this is to avoid a situation, for example, where Tank A sees Tank B but Tank B can't see Tank A because Tank A's line of sight is not blocked by the mountain between the two tanks but Tank B's line of sight is blocked by the mountain.
At step 450, the control computer 200, through the use of analysis tools 250 (e.g., COTS, GOTS, or customized software) , analyzes the data either from the data module 340 or the database 350 to draw conclusions about the simulation. For example, the analysis tools may calculate performance data such as, in the example of military simulations, probability of kill or other measures of effectiveness, and the analysis tools may also produce graphs based on this information. At step 460, the control computer 200 utilizes optimization tools 260 to optimize a solution to the distributed simulation problem and may be based on conclusions drawn by the analysis tools at step 450. The optimization tools then may modify existing agent- applications in the agent-applications library 230 or create new agent-applications which are then sent to selected simulation components 100 in order to rerun the distributed simulation with different parameters. For example, the optimization tools may consist of software which selects in a manner known to those of skill in the art certain simulation parameters believed to yield a more optimal solution and then reruns the distributed simulation. For instance, based upon the data gathered from a distributed battle simulation and/or any analysis performed on that data, optimization software may decide that if a particular side had five additional tanks located in various positions, that would yield a more optimal result and the optimization software would rerun the distributed simulation with five additional tanks in the identified positions. Such optimization tools could take various factors into account such as, in our example, what is the cost of adding five additional tanks and how soon would the battle reach a successful conclusion versus how much would it cost to add two additional airplanes and how soon would the battle reach a successful conclusion.
In a preferred embodiment of the present invention, the present invention operates concurrently with the distributed simulation. It is also preferable for the simulation processor to have the means to run more than one process concurrently, for example, Windows 95™ or any other multitasking operating system would enable an Intel-based personal computer such as that shown in simulation component D of Figure 2 to run more than one process or program at a time. It is further preferable to have the simulator middleware and agent-applications resident on simulation components running in the "background" and processes involved with the simulation running in the "foreground" so that the present invention will have little or no adverse impact on the distributed simulation.
In a preferred embodiment of the invention, simulation components can be managed by the control computer (e.g., the control computer may instruct the simulation components to turn on or turn off or go left, etc.). This capability can be useful for a number of reasons which will be apparent to those skilled in the art including correcting a malfunction in a simulation component or minimizing the effect of a malfunction in a simulation component on the distributed simulation overall.
The present invention has been described above with reference to preferred embodiments. However, those skilled in the art will recognize that changes and modifications may be made in these preferred embodiments without departing from the scope of the present invention.

Claims

What we claim is :
1. A method of concurrently monitoring from one or more control computers a running distributed simulation on at least one simulation component running independently from said one or more control computers comprising the steps of: communicating instructions to said simulation component from said control computer; and collecting data from said simulation component responsive to said communicated instructions.
2. The method according to Claim 1 further comprising the step of communicating information to one or more of said one or more control computers responsive to said collected data.
3. The method of Claim 1 wherein said communicated instructions do not disturb the distributed simulation.
4. The method according to Claim 1 wherein said step of collecting data is performed in the absence of further communicated instructions.
5. The method according to Claim 1 further comprising the step of creating instructions for collecting data and communicating information prior to said step of communicating instructions.
6. The method according to Claim 2 further comprising the step of verifying whether the distributed simulation is accurate based upon said communicated information after said step of communicating information.
7. The method of Claim 6 further comprising the step of validating the distributed simulation based upon said communicated information.
8. The method of Claim 6 further comprising the steps of: detecting inaccuracies in the distributed simulation; identifying simulation components causing inaccuracies in the distributed simulation; selecting identified simulation components causing inaccuracies; and sending customized instructions to selected simulation components from said control computer to correct the inaccuracies in the distributed simulation.
9. The method of Claim 8 further comprising the steps of: determining the cause of the detected inaccuracies; and creating customized instructions to be sent according to said sending step which are responsive to the cause determined in said cause determining step, wherein said creating step occurs prior to said sending step.
10. The method of Claim 1 further comprising the step of pre-analyzing said collected data prior to said step of communicating information.
11. A method of optimizing a distributed simulation conducted by at least one simulation component the steps comprising: requesting information from said simulation components, said request being made by a control computer independent of said simulation component; receiving at said control computer said requested information; and determining optimal distributed simulation parameters based upon said requested information.
12. The method of Claim 11 further comprising the steps of: implementing the optimal parameters; and running the distributed simulation.
13. The method of Claim 12 wherein said implementing step comprises the steps of : downloading agent-applications to at least one of said at least one simulation components; and executing said downloaded agent-applications.
14. A system for controlling a distributed simulation comprising: plural independent simulation components; at least one control computer having local control means for communicating instructions to said plural simulation components; a communication medium operatively connecting said plural simulation components with said at least one control hosts; wherein each of said plural simulation components has control means responsive to said communicated instructions which is capable of
(a) collecting data from the one of said plural simulation components to which said instructions have been communicated, and (b) communicating information to said local control means responsive to the data collected.
15. The system of claim 14 wherein said at least one control computer further comprises means for verifying the accuracy of the distributed simulation based upon said communicated information.
16. The system of claim 14 wherein said at least one control computer further comprises means for analyzing said communicated information and reaching a conclusion.
17. The system of claim 14 wherein said at least one control computer further comprises means for optimizing the distributed simulation based upon said communicated information.
18. A computer program product having a computer readable medium containing computer readable code recorded thereon for monitoring a distributed simulation conducted on one or more simulation components from a control computer comprising: means for accessing a library having one or more agent-applications stored thereon; means for providing one or more of said one or more agent-applications to one or more of said one or more simulation components; means for receiving data from said simulation components to which said agent-applications were provided, wherein the data received is in relation to executing said provided agent-applications on said one or more simulation components to which they are provided; and means for verifying the accuracy of said distributed simulation based upon said received data.
19. The computer program product of claim 18 further comprising means for analyzing said received data.
20. The computer program product of claim 18 further comprising means for optimizing said distributed simulation as a function of said received data.
21. The computer program product of claim 20 wherein said means for optimizing comprises: means for determining a set of optimal parameters; means for selecting one or more agent-applications from said library responsive to said set of optimal parameters; means for selecting one or more of said one or more simulation components responsive to said set of optimal parameters; and wherein said selected agent-applications are provided to said selected simulation components.
22. The computer program product of claim 20 wherein said means for optimizing comprises: means for determining a set of optimal parameters; means for creating one or more agent-applications responsive to said set of optimal parameters; means for selecting one or more of said one or more simulation components responsive to said set of optimal parameters; and wherein said created agent-applications are provided to said selected simulation components.
23. The computer program product of claim 20 wherein said means for optimizing comprises: means for determining a set of optimal parameters; means for modifying one or more agent-applications from said library responsive to said set of optimal parameters; means for selecting one or more of said one or more simulation components responsive to said set of optimal parameters; and wherein said modified agent-applications are provided to said selected simulation components.
24. The computer program product of claim 18 further comprising means for controlling said provided agent-applications executing on said simulation components to which they are provided.
25. The computer program product of claim 18 further comprising a graphical user interface for facilitating communication between a user and one or more of said means for providing, said means for receiving, said means for verifying, said means for analyzing, and said means for optimizing.
PCT/US1998/015946 1997-07-31 1998-07-30 Method and apparatus for verifying, analyzing and optimizing a distributed simulation WO1999006927A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU86784/98A AU8678498A (en) 1997-07-31 1998-07-30 Method and apparatus for verifying, analyzing and optimizing a distributed simulation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/903,733 1997-07-31
US08/903,733 US5910903A (en) 1997-07-31 1997-07-31 Method and apparatus for verifying, analyzing and optimizing a distributed simulation

Publications (1)

Publication Number Publication Date
WO1999006927A1 true WO1999006927A1 (en) 1999-02-11

Family

ID=25418002

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/015946 WO1999006927A1 (en) 1997-07-31 1998-07-30 Method and apparatus for verifying, analyzing and optimizing a distributed simulation

Country Status (3)

Country Link
US (1) US5910903A (en)
AU (1) AU8678498A (en)
WO (1) WO1999006927A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006081667A1 (en) * 2005-02-04 2006-08-10 Shopplex.Com Corporation System and method for controlling and monitoring an application in a network

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004510219A (en) * 2000-06-19 2004-04-02 ピー.シー.クロース・アンド・アソシエイツ・インコーポレーテッド Distributed simulation
US7117136B1 (en) 2000-08-18 2006-10-03 Linden Research, Inc. Input and feedback system
US20020073141A1 (en) 2000-12-12 2002-06-13 Dewhurst Sebastian John Computational fluid dynamics software
US7085694B2 (en) * 2001-10-22 2006-08-01 Sandia Corporation Apparatus and method for interaction phenomena with world modules in data-flow-based simulation
US7143019B2 (en) * 2001-10-30 2006-11-28 International Business Machines Corporation Maintaining data integrity within a distributed simulation environment
US7092868B2 (en) * 2001-10-30 2006-08-15 International Business Machines Corporation Annealing harvest event testcase collection within a batch simulation farm
US7539978B1 (en) * 2001-11-01 2009-05-26 Cigital, Inc. Method for understanding and testing third party software components
US7529653B2 (en) 2001-11-09 2009-05-05 Sun Microsystems, Inc. Message packet logging in a distributed simulation system
US20030093256A1 (en) * 2001-11-09 2003-05-15 Carl Cavanagh Verification simulator agnosticity
US7231338B2 (en) * 2001-11-09 2007-06-12 Sun Microsystems, Inc. Distributed simulation system having phases of a timestep
US7020722B2 (en) 2001-11-09 2006-03-28 Sun Microsystems, Inc. Synchronization of distributed simulation nodes by keeping timestep schedulers in lockstep
US20030093253A1 (en) * 2001-11-09 2003-05-15 Freyensee James P. Grammar for message passing in a distributed simulation environment
US20030093254A1 (en) * 2001-11-09 2003-05-15 Frankel Carl B. Distributed simulation system which is agnostic to internal node configuration
US7464016B2 (en) * 2001-11-09 2008-12-09 Sun Microsystems, Inc. Hot plug and hot pull system simulation
US7194397B1 (en) * 2001-11-27 2007-03-20 Lockheed Martin Corporation Robust uninhabited air vehicle active missions
US7359847B2 (en) * 2001-11-30 2008-04-15 International Business Machines Corporation Tracking converage results in a batch simulation farm network
US7143018B2 (en) * 2001-11-30 2006-11-28 International Business Machines Corporation Non-redundant collection of harvest events within a batch simulation farm network
US7085703B2 (en) * 2001-11-30 2006-08-01 International Business Machines Corporation Count data access in a distributed simulation environment
US6832358B2 (en) * 2001-12-19 2004-12-14 Cadence Design Systems, Inc. System and method for providing burst licensing in a circuit simulation environment
US8612196B2 (en) * 2002-04-11 2013-12-17 Linden Research, Inc. System and method for distributed simulation in which different simulation servers simulate different regions of a simulation space
US7949501B1 (en) * 2002-05-17 2011-05-24 Northwestern University Systems and methods for a real time machine simulator to explore the effects of rules used in a modular manufacturing or assembly system
JP2004094738A (en) * 2002-09-02 2004-03-25 Toshiba Corp Distributed simulation system
US7287231B2 (en) * 2003-07-31 2007-10-23 The Boeing Company Logistics simulator
US7493358B2 (en) * 2003-09-18 2009-02-17 International Business Machines Corporation Apparatus, system and method of executing monolithic application programs on grid computing systems
KR100611098B1 (en) * 2003-12-12 2006-08-09 한국전자통신연구원 Satellite simulation modeling system using Interface Model
JP4361389B2 (en) * 2004-02-26 2009-11-11 本田技研工業株式会社 Road traffic simulation device
US7424416B1 (en) 2004-11-09 2008-09-09 Sun Microsystems, Inc. Interfacing hardware emulation to distributed simulation environments
FR2880150B1 (en) * 2004-12-23 2007-04-27 Thales Sa DEVICE AND METHOD FOR FEDERING AND INTEGRATING REAL OR SIMULATED SYSTEMS TO SIMULATE THE BEHAVIOR OF THE SYSTEMS SYSTEM OR A GENERATED SYSTEM THUS CREATED
US7480609B1 (en) 2005-01-31 2009-01-20 Sun Microsystems, Inc. Applying distributed simulation techniques to hardware emulation
US8645112B2 (en) * 2005-11-28 2014-02-04 L-3 Communications Corporation Distributed physics based training system and methods
US20070156658A1 (en) * 2005-12-15 2007-07-05 Riley Charles A Financial data entry system
US20090259449A1 (en) * 2006-01-09 2009-10-15 Thales Device and method for federating and integrating real or simulated systems in order to simulate the behavior of the thus developed system
US20100003652A1 (en) * 2006-11-09 2010-01-07 Israel Aerospace Industries Ltd. Mission training center instructor operator station apparatus and methods useful in conjunction therewith
US8010327B2 (en) * 2008-04-25 2011-08-30 Total Immersion Software, Inc. Composite assets for use in multiple simulation environments
US8068983B2 (en) * 2008-06-11 2011-11-29 The Boeing Company Virtual environment systems and methods
WO2015021341A1 (en) * 2013-08-07 2015-02-12 Hsu Rei-Cheng Methods and systems for generating dynamic user interface
RU2598988C2 (en) * 2013-08-07 2016-10-10 Фиизер Инк. Methods and systems for searching for application software
US9734184B1 (en) 2016-03-31 2017-08-15 Cae Inc. Method and systems for removing the most extraneous data record from a remote repository
US10115320B2 (en) * 2016-03-31 2018-10-30 Cae Inc. Method and systems for updating a remote repository based on data-types
US20170286575A1 (en) * 2016-03-31 2017-10-05 Cae Inc. Method and systems for anticipatorily updating a remote repository
CN112434399A (en) * 2020-09-30 2021-03-02 北京图灵智慧科技有限公司 Simulation command training method and system for multi-person battle

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0415637A2 (en) * 1989-08-30 1991-03-06 Industrial Technology Institute Method and apparatus for simulating a factory system
US5442772A (en) * 1991-03-29 1995-08-15 International Business Machines Corporation Common breakpoint in virtual time logic simulation for parallel processors
US5519848A (en) * 1993-11-18 1996-05-21 Motorola, Inc. Method of cell characterization in a distributed simulation system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5338157B1 (en) * 1992-09-09 1999-11-02 Sims Deltec Inc Systems and methods for communicating with ambulat
FR2448190B1 (en) * 1979-01-31 1985-09-27 Philips Data Syst REMOTE SIMULATION BY REMOTE CONTROL OF A COMPUTER DESK
US4882752A (en) * 1986-06-25 1989-11-21 Lindman Richard S Computer security system
AU2247092A (en) * 1991-05-08 1992-12-21 Digital Equipment Corporation License management system
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
JPH05260567A (en) * 1992-03-11 1993-10-08 Hitachi Ltd Distributed control system
US5701439A (en) * 1992-03-30 1997-12-23 Boeing North American, Inc. Combined discrete-event and continuous model simulation and analysis tool
US5715184A (en) * 1995-01-23 1998-02-03 Motorola, Inc. Method of parallel simulation of standard cells on a distributed computer system
JP2927232B2 (en) * 1996-01-29 1999-07-28 富士ゼロックス株式会社 Distributed simulation apparatus and distributed simulation method
US5754763A (en) * 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0415637A2 (en) * 1989-08-30 1991-03-06 Industrial Technology Institute Method and apparatus for simulating a factory system
US5442772A (en) * 1991-03-29 1995-08-15 International Business Machines Corporation Common breakpoint in virtual time logic simulation for parallel processors
US5519848A (en) * 1993-11-18 1996-05-21 Motorola, Inc. Method of cell characterization in a distributed simulation system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HANSOTY J N ET AL: "LAVA: secure delegation of mobile applets: design, implementation and applications", PROCEEDINGS - THE WORKSHOP ON ENABLING TECHNOLOGIES: INFRASTRUCTURE FOR COLLABORATIVE ENTERPRISES, 18 June 1997 (1997-06-18), pages 242 - 247, XP002083755 *
KIM K H ET AL: "REAL-TIME SIMULATION TECHNIQUES BASED ON THE RTO.K OBJECT MODELING", PROCEEDINGS OF THE 20TH. ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), SEOUL, AUG. 21 - 23, 1996, no. CONF. 20, 21 August 1996 (1996-08-21), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 176 - 183, XP000684368 *
XIAONING YU ET AL: "A novel object migration management system for object-oriented distributed interactive simulation", PROCEEDINGS OF THE 1997 SUMMER COMPUTER SIMULATION CONFERENCE SIMULATION AND MODELING TECHNOLOGY FOR THE TWENTY-FIRST CENTURY, PROCEEDINGS OF 1997 SUMMER COMPUTER SIMULATION CONFERENCE, ARLINGTON, VA, USA, 13-17 JULY 1997, 1997, San Diego, CA, USA, SCSI, USA, pages 651 - 656, XP002089798 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006081667A1 (en) * 2005-02-04 2006-08-10 Shopplex.Com Corporation System and method for controlling and monitoring an application in a network

Also Published As

Publication number Publication date
US5910903A (en) 1999-06-08
AU8678498A (en) 1999-02-22

Similar Documents

Publication Publication Date Title
US5910903A (en) Method and apparatus for verifying, analyzing and optimizing a distributed simulation
JP5283705B2 (en) Method and apparatus for simulating an aircraft data processing system
US20070113235A1 (en) Adaptive mission profiling
CN104866402A (en) Server testing method and apparatus
KR102199810B1 (en) Virtual training evaluation and analysis system and method using experiential knowledge of expert
KR101914347B1 (en) Method for replaying large event log, and large event log replaying system
CN113268309A (en) Military chess deduction system oriented to SaaS application mode
Bishop et al. General purpose visual simulation system: a functional description
CN110879786B (en) Test system of satellite-borne software
US11288340B2 (en) Dynamically updating a model associated to a simulated interactive object
Chang et al. Fuzzing Drone Control System Configurations Based on Quality-Diversity Enhanced Genetic Algorithm
Trott et al. A detailed interactive simulation system for developing command and control systems
Li et al. Distributed Database Designs and Computation Strategies for Networked Interactive Stimulations
Gonzalez A Testbed for Automated Entity Generation in Distributed Interactive Simulation
d'Ausbourg et al. PERFOSIM: A performance evaluation tool for HLA distributed simulations
Goldstein et al. Joint tactical information distribution system (JTIDS)/multi-link test device (MLTD) laboratory environment test system
Robinson et al. The distributed intelligent defense system
Hines et al. Reusable software in flight test modeling and simulation
Evans The Six Pillars of Simulation Architecture
Tsuchlya et al. Performance modeling of distributed database
Boyer et al. Joint modeling and simulation system
Dunkelberger Expert communication link management: overview and progress
McDermott Development of an AFIT (Air Force Institute of Technology) ADP System Network Model.
Woelfer A high speed network architecture for real time testing of an embedded computer system
Davies Sensitivity analysis of the THUNDER combat simulation model to command and control inputs accomplished in a parallel environment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: KR

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA