Title: Simulation Interoperability Using Micro Saint
1Simulation Interoperability Using Micro Saint
- A Key Aspect of the Future of Simulation
2Outline
- Introduction to Micro Saint
- Why is interoperability important?
- How can it be achieved?
- Case studies
- Case Study 1 Combat Automation Requirements
Testbed (CART) - Case Study 2 Supply Chain Analysis Tool
- Case Study 2 Course of Action Training Tool
(COATT) - Demonstrations
- Supply Chain Analysis Tool
- COATT
3Background of Micro Saint
- Full-featured discrete-event simulation tool
- Released first in 1987
- Versions running on Windows, Unix, and Linux
4Model construction
- Network approach to defining the process flow
5The use of templates and a parser to define the
process
6The use of templates and a parser to define the
process
- Decision/branching/routing logic
7The use of templates and a parser to define the
process
8Wizards to help the user...
9Then, during model run...
- Modelanimation
- Dynamicmodelchanges
10 to generate data for making better decisions...
11 and finding the optimal one
12Areas of application
- Manufacturing
- Military systems
- Health care
- Human/system integrationProcess design and
analysis
13But, the question here is interoperability
- Why and how does Micro Saint talk to the rest of
the world and, in particular, other simulations
14Why is Interoperability Important?
- Allows the best models do their job
- Promotes model reuse
- Allows the development of much larger models
using distributed processing - Allows the creation of decision support tools
built around simulation - Provides an environment for embedding simulation
in many different applications
15Lets the best models do their job
- Many models are developed with a limited purpose
and scope - To fit within a larger model, they often need
to be modified, recoded, compressed, etc. - Interoperabilty allows models do what they are
good at without requiring modification
16Promotes model reuse
- Higher order system models often require recoding
of more detailed models - This becomes a significant detriment to model
reuse - Interoperability eliminates barriers of reuse
such as - Operating system
- Language
- Internal data structures
- Program size
17Allows the development of much larger models
using distributed simulation and processing
- Model execution can be widely distributed to
different processors - A simulation can include live, virtual, and
constructive components, all interacting
dynamically
18Allows the creation of decision support tools
built around simulation
- Simulation is a powerful decision support tool
- General simulation tools are too complex for many
potential users - Custom interfaces, libraries, and data structures
help - Simulation interoperabilty features make these
easier to construct
19Provides an environment for embedding simulation
in many different applications
- In addition to decision support, simulation can
be a part of many software applications - e.g., using simulation in training critical
decision making skills - Interoperability allows the integration of many
different types of application software
20Two kinds of simulation interoperability...
- Static
- The simulation is populated by data from some
other source - The simulation runs
- The simulation sends data to another source
- Dynamic
- The simulation shares data with another source as
the model runs, possibly affecting model execution
Simulation
Shared Data
Repository
21Static interoperabilty with Micro Saint
- Supported by three components of Micro Saint
design - Parser
- No compilation
- All model data included in a single ASCII file
- Easy cutting and pasting
- Output files are standard DIF
- Micro Saint can function as a simulation engine
used by other applications
22Parser and ASCII .mod file...
File can be changed via cutting and pasting
before and during runtime and reparsed
- 19980603 Release 3.0 Build C with ActionView and
OptQuest - fc_hex3d_idle.bmp
- 1
- if tag1 then 0 else (hoursPerYr-maxflow)/unitsP
erYr - tagltunitsPerYr
- ---
- tag1
- create icon at out cov site
- create(tag,608,citylocxLocation5,OutCovOptn,ci
tylocyLocation5,OutCovOptn) - changeColor(tag,1)
- ---
- move out cov to VARTM
- move(tag,duration,citylocxLocation10,VARTMSite
,citylocyLocation10,VARTMSite)
23This allows.
Another application...
Shared data
Shared data
feed data, rules, ...
Generate data
24The result...
- Support to Collaborative Engineering
Environments - Rapid development of custom modeling environments
25Dynamic interoperability
- Run-time exchange of data between Micro Saint and
other applications, including simulations and
models - Recent release (Version 3.1) includes COM
services
26Challenges
- Sounds easy
- To us, it used to sound easy
- Version 3.1 was designed to make it easier for
the user - Issues
- Ownership of variables
- Time arbitration
27Variable Control
- Ownership issues
- Publish vs. receive
- Complex data types
28Time ArbitrationWhose turn is it, anyway?
Tick tick tick tick tick tick tick tick
Clock Control
Tick, ticktick..tick tick.tick
Simulation
Only important if multiple concepts of time
29The Micro Saint solutionHow does it work?
- Component Object Model (COM) Services
- Embedded in the simulation engine
- Triggered by C, C or VB interface
- Protocols for sending/receiving variables
- Protocols for sending/receiving model control
- stop, start, single step (for clock control)
- Protocols for event queue control
- insert remove tasks, logical expressions
30COM (Component Object Model) Services
- Microsoft standard
- Enables component objects to be developed that
can be accessed by any COM-compliant application - COM provides the underlying services of interface
negotiation, determines when an object can be
removed from a system, and controls event
services
31What you can tell a Micro Saint model through COM
- Connect to Micro Saint.
- Disconnect from Micro Saint.
- Close a Micro Saint model.
- Execute the model.
- Halt the model.
- Pause model execution.
- Input values for a variable (external variables
only). - Send an expression to the Expression Monitor.
- Send information to the Event Queue.
- Stop sending information to the Event Queue.
- For single step execution, receive the data for
the next event. - Receive the data for the events in the Event
Queue scheduled for the next clock time. - Receive the data for the remaining events in the
Event Queue.
32What Micro Saint can tell other applications with
COM
- Message indicating model execution completed.
- Message indicating model execution aborted.
- Value for an external variable.
- Event queue data.
- Micro Saint closed.
33How Three Projects are Achieving Interoperability
- CART
- AFRL (Dave Hoagland)
- Analytical HSI tool
- Supply chain modeling tool
- New niche product scheduled for release this
spring
- COATT
- NASA ARL HRED (Jay Shively)
- Training aid
34CART - Modeling complex human and team behavior
in systems
IPME
NDM
Battle simulation
HLA
JACK
SOAR
COGNET
Human/team simulation
Taking the best from different models of human
behavior through simulation interoperability
35Architecture of CART
COM
36CART will provide linkage to HLA
HLA NETWORK
DMSO Run time infrastructure (RTI)
Free software
3rd Party Product
VR-Link (RTI from MaK Technologies)
Subscription
Data
MS-
Sim
Custom Middleware
Network
Manager
Manager
Manager
Computer Interface
COM
Interface
Base Commercial Product
Micro Saint
37Status of CART
- The first phase of CART was to develop and test
all the COM Services - We are now testing it in an HLA environment
through the integration of models
38Supply chain modeling tool
- On a project, we developed a model of supply
chains for a large American company - Custom interfaces for supply chain models and a
built in supply chain model - We decided to commercialize it
- What you will see represents about three months
of labor total.
39Demonstration of customized tool
40The general purpose supply chain modeling tool
Each project analysis can evaluate up to 10
different processes with up to 5 different
options for each process
41The general purpose supply chain modeling tool
For each option by process, the user enters
various data like total labor costs, location
etc..
42The general purpose supply chain modeling tool
The user determines the flow of the supply chain
and creates a flow diagram
43The general purpose supply chain modeling tool
As the model is running, the U.S. map appears and
animates the flow of the processes based on the
locations for each process option. Certain
overall results are displayed at the top of the
diagram
44New initiative - Simulation interoperability in
manufacturing
Vendors are getting together to develop
infrastructure for manufacturing simulation
interoperability
45Course of Action Training Tool
- Helicopter pilots make lots of decisions
- Bad decisions lead to more accidents than poor
flying skills. - A simulation based tool that addresses decisions
is important - No need for high fidelity flight simulation, but
a need for good process simulation - COATT focuses on the decisions pilots make
46Architecture of COATT
COM
47Summary
- Micro Saint has taken some steps towards
promoting interoperability with other software - Building blocks make more sense from a
development viewpoint - Flexibility
- Cost of development
- Performance?
48Tool Development vs. Model Development
- Powerful tools are flexible tools
- Cant predict all the variables of interest
- Therefore, will probably need to extend existing
FOM, if youre interested in HLA - Therefore, must provide a mapper
49Developing a Robust Model
Paths must be provided for all possible cases
Account for system and user choices