Title: Approach%20and%20Techniques%20for%20Building%20Component-based%20Simulation%20Models
1Approach and Techniques for BuildingComponent-bas
ed Simulation Models
- Bernard P. Zeigler, Ph.D.
- Hessam S. Sarjoughian, Ph.D.
- Arizona Center for Integrative Modeling and
Simulation - (ACIMS)
- Arizona State University
- University of Arizona
- www.acims.arizona.edu
- Google ACIMS
- and
- Joint Interoperability Test Command (JITC)
- Fort Huachuca, AZ
2Outline
- Basic principles of MS from a system-theoretic
worldview - Component-based characterization of dynamic
systems - Unified framework for discrete and continuous
models - Discrete event system specification (DEVS)
formalism - Modular, hierarchical model composition
- Systems theory support of model reusability and
composability - Experimental Frame and model validation
- Simulation verification using the concept of
abstract simulators - DEVSJAVA, a modular, hierarchical simulation
environment - DEVS component-based MS over network centric
middleware
3MS Entities and Relations
Device for executing model
Real World
Simulator
Data Input/output relation pairs
modeling relation
simulation relation
Each entity is represented as a dynamic
system Each relation is represented by a
homomorphism or other equivalence
Model
structure for generating behavior claimed to
represent real world
4MS Entities and Relation(contd)
Real World
Simulator
modeling relation
simulation relation
- Experimental frame specifies
- conditions under which the system
- is experimented with and observed
- captures modeling objectives
- needed for validity, simplification
- justifications
Model
5Dynamic Systems Framework for Continuous and
Discrete Models
System Specification
DESS differential equation
DTSS discrete time
DEVS discrete event
6Dynamic Systems Framework for Continuous and
Discrete Models (contd)
7Discrete Event Time Segments
X
t1
t0
t2
S
e
y0
Y
8DEVS Background
- DEVS Discrete Event System Specification
- Provides formal MS framework specification,simul
ation - Derived from Mathematical dynamical system
theory - Supports hierarchical, modular composition
- Object oriented implementation
- Supports discrete and continuous paradigms
- Exploits efficient parallel and distributed
simulation techniques - Theory of Modeling and Simulation, 2nd Edition,
Academic Press, 2000, Bernard P. Zeigler, Herbert
Praehofer, Tag Gon Kim
9DEVS Hierarchical Modular Composition
- Atomic lowest level model, contains structural
dynamics -- model level modularity
Coupled composed of one or more atomic and/or
coupled models
Hierarchical construction
coupling
10DEVS Component-Based Expressability
Coupled Models
Atomic Models
Partial Differential Equations
can be components in a coupled model
Ordinary Differential Equation Models
Processing/ Queuing/ Coordinating
Networks, Collaborations
Physical Space
Spiking Neuron Networks
Spiking Neuron Models
Processing Networks
Petri Net Models
n-Dim Cell Space
Discrete Time/ StateChart Models
Stochastic Models
Cellular Automata
Quantized Integrator Models
Self Organized Criticality Models
Fuzzy Logic Models
Reactive Agent Models
Multi Agent Systems
11DEVS Theoretical Properties
- Closure Under Coupling
- Universality for Discrete Event Systems
- Representation of Continuous Systems
- quantization integrator approximation
- pulse representation of wave equations
- Simulator Correctness, Efficiency
12DEVS Atomic Model
- Ports are represented explicitly there can be
any number of input and output ports on which
values can be received and sent - The time advance function determines the maximum
lifetime in a state - A bag can contain many elements with possibly
multiple occurrences of its elements. - Atomic DEVS models can handle bags of inputs and
outputs. - The external transition function handles inputs
of bags by causing an immediate state change,
which also may modify the time advance. - The output function can generate a bag of outputs
when the time advance has expired. - The internal transition function is activated
immediately after the output function causing an
immediate state change, which also may modify the
time advance. - The confluent transition function decides the
next state in cases of collision between external
and internal events.
13Atomic Model Examples
pulse
Pulse Generator
time
interPulseTime gt0
Pulse Generator
Output
start
ta 8
Output
Fire-once Neuron
Input
Firing delay gt0
ta 8
ta 8
external event
Internal event
output event
14Internal Transition /Output Generation
using the output function
using the internal transition function
15Response to External Input
using the external transition function
elapsed time
Time advance
16Response to Simultaneous External Input and
Internal Event
elapsed time
using the confluent transition function
Time advance
17DEVS Coupled Model
Elements of coupled model
- Components
- Interconnections
- Internal Couplings
- External Input Couplings
- External Output Couplings
18Coupling in Action
Coupling (internal)
AB
B
A
Output port
Input port
internal
State
external
time advance
output
internal
State
external
time advance
output
19Coupled Model Example Neuron net
FireOnce Neuron Network can compute the shortest
path in a directed graph by mapping distances
of edges to equivalent time values.
20We separated models and simulators now we bring
them together
DEVS Simulation Protocol
Single processor
C
Java
Distributed Simulator
DEVS
Simulator
Other Representation
Real-Time Simulator
Non DEVS
The DEVS simulation protocol is the agreement
between the DEVS modeler and the implemented
simulator
21DEVS Simulation Protocol Classes
Stand alone atomic models are assigned to
AtomicSimulators
Atomic models as components within coupled models
are assigned to coupledSimulators
Atomic Simulator
coordinator
coupledSimulator
1n
Coupled models are assigned to coordinators
1n
coupledCoordinator
Coupled models as components within coupled
models are assigned to coupledCoordinators
genDevs. simulation. coordinator
genDevs. simulation. coupledSimulator
22Atomic Model Simulator
- Every atomic model has a simulator assigned to
it which keeps track of the time of the last
event, tL and the time of the next event, tN. - Initially, the state of the model is
initialized as specified by the modeler to a
desired initial state, sinit. The event times,
tL and tN are set to 0 and ta(sinit),
respectively. - If there are no external events, the clock time,
t is advanced to tN, the output is generated and
the internal transition function of the model is
executed. The simulator then updates the event
times as shown, and processing continues to the
next cycle. - If an external event is injected to the model at
some time, text (no earlier than the current
clock and no later than tN), the clock is
advanced to text. - If text tN the output is generated.
- Then the input is processed by the confluent or
external event transition function, depending on
whether text coincides with tN or not.
m
timeline (abstract or logica)
tN
tL
inject at time t
s s init tL 0 tN ta(sinit)
If t tN generate output ? (s)
When receive m if m! null and t lt tN, s
?ext (s,t-tN,m) if m! null and t tN, s
?con (s,t-tN,m) if m null and t tN, s
?int (s)
Legend m message s state t clock time tL
time of last event tN time of next event
tL t tN t ta(s)
23Basic DEVS Simulation Protocol
For a coupled model with atomic model components,
a coordinator is assigned to it and
coupledSimulators are assigned to its components.
In the basic DEVS Simulation Protocol, the
coordinator is responsible for stepping
simulators through the cycle of activities shown.
- Coupled Model Coordinator
- Coordinator sends nextTN to request tN from each
of the simulators. - All the simulators reply with their tNs in the
outTN message to the coordinator - Coordinator sends to each simulator a getOut
message containing the global tN (the minimum of
the tNs) - Each simulator checks if it is imminent (its tN
global tN) and if so, returns the output of its
model in a message to the coordinator in a
sendOut message. - Coordinator uses the coupling specification to
distribute the outputs as accumulated messages
back to the simulators in an applyDelt message to
the simulators for those simulators not
receiving any input, the messages sent are empty.
1 nextTN
Coupled Model
coordinator
After each transition tN t ta(), tL t
- Each simulator reacts to the incoming message as
follows - If it is imminent and its input message is empty,
then it invokes its models internal transition
function - If it is imminent and its input message is not
empty, it invokes its models confluence
transition function - If is not imminent and its input message is not
empty, it invokes its models external transition
function - If is not imminent and its input message is empty
then nothing happens.
24DEVS as the basis for Network Centric MS
Discrete Time Systems
Discrete Event Formalisms
Diff Eqn. Systems
DEVS Model
DEVS Model
DEVS Model
Simulator
Simulator
Simulator
message
message
message
Translator
Translator
Translator
Network Centric Middleware NCES