Approach and Techniques for Building Component-based Simulation Models
-
Upload
janna-schroeder -
Category
Documents
-
view
35 -
download
0
description
Transcript of Approach and Techniques for Building Component-based Simulation Models
Approach and Techniques for BuildingComponent-based 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.eduGoogle: ACIMS
and Joint Interoperability Test Command (JITC)
Fort Huachuca, AZ
Outline• Basic principles of M&S 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 M&S over network centric
middleware
M&S Entities and Relations
Real WorldReal World SimulatorSimulatorSimulatorSimulator
modelingrelation
simulationrelation
Each entity is represented as a dynamic system
Each relation is represented by a homomorphism or other equivalence
Data: Input/output relation pairs
structure for generating behaviorclaimed to represent real world
Device forexecuting model
Model
M&S Entities and Relation(cont’d)
Real WorldReal World
modelingrelation
simulationrelation
Experimental frame specifies conditions under which the system is experimented with and observed
• captures modeling objectives• needed for validity, simplification justifications
SimulatorSimulator
Model
Experimental Frame
DESS: differential equation
DEVS: discrete event
DTSS: discrete time
System Specification:
Dynamic Systems Framework for Continuous and Discrete Models
System
Simulator:EventProcessor
DEVS model
time to next event,
state at next event ...
Simulator:RecursiveAlgorithm
System
DTSS model:
q(t+1) = a*q(t)+ b*x(t)
System
Simulator:NumericalIntegrator
DESS model:
dq/dt = a*q +bx
System Specification
Differential Equation
Discrete-Time Discrete-Event
Time Base continuous
(reals) discrete (integers) continuous
(reals) Inputs,States, Outputs
real vector space
arbitrary arbitrary
Input Segments
piecewise continuous
sequences discrete-event
State & Output Segments
continuous sequences piecewise constant
Dynamic Systems Framework for Continuous and Discrete Models (cont’d)
• DEVS = Discrete Event System Specification
• Provides formal M&S framework: specification,simulation
• 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
DEVS Background
DEVS Hierarchical Modular Composition
Atomic: lowest level model, contains structural dynamics -- model level modularity
Atomic
Atomic Atomic
Atomic
+ coupling
Atomic
Atomic
Atomic
Coupled: composed of one or more atomic and/or coupled models Hierarchical
construction
Atomic Models
OrdinaryDifferentialEquationModels
Spiking NeuronModels
Coupled Models
Petri NetModels
Cellular Automata
n-Dim Cell Space
PartialDifferentialEquations
Self Organized Criticality
Models
Processing/Queuing/
Coordinating
ProcessingNetworks
Networks,Collaborations Physical
Space
DEVS Component-Based Expressability
can becomponents in a coupled model
MultiAgent
Systems
Discrete Time/
StateChartModels
QuantizedIntegrator
Models
Spiking Neuron
Networks
Stochastic
Models
ReactiveAgent
Models
Fuzzy Logic
Models
DEVS 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
DEVS 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.
receptive refractInput
fireFiring delay >0
Output Fire-once Neuron
Atomic Model Examples
PulseGenerator
out
pulse
time
passive activestart
interPulseTime >0Output Pulse Generator
start
external event Internal event output event
ta = ∞
ta = ∞ ta = ∞
Internal Transition /Output Generation
s
Generate output
output
Make a transitions’
Time advance using theinternaltransitionfunction
using theoutputfunction
Time advance
input
Make a transition
Response to External Input
elapsedtime
using theexternaltransitionfunction
Time advance
input
Make a transition
Response to Simultaneous External Input and Internal Event
elapsedtime
Generate output
output
using theconfluenttransitionfunction
DEVS Coupled Model
• Components
• Interconnections
– Internal Couplings– External Input Couplings– External Output Couplings
Elements of coupled model:
A B
AB
Coupling in ActionCoupling(internal)
Outputport
Inputport
State
output
external internal
time advance
State
output
external internal
time advance
FireOnceNeuron 1
FireOnceNeuron 3
FireOnceNeuron 2
pulseIn pulseOut
pulseOut
pulseOut
pulseOut
pulseIn
pulseIn
FireOnceNeuron 4
pulseOutpulseIn
PulseGenerator
Coupled 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.
We separated models and simulators – now we bring them together
Simulator
Single processor
DistributedSimulator
Real-TimeSimulator
C++
NonDEVS
DEVS
Java
OtherRepresentation
DEVS SimulationProtocol
The DEVS simulation protocol is the agreement between the DEVS modeler and the implemented simulator
DEVS Simulation Protocol Classes
AtomicSimulator
coordinatorcoupledSimulator 1:n
coupledCoordinator 1:n
Stand alone atomic models are assigned to AtomicSimulators
Coupled models are assigned to coordinators
Atomic models as components within coupled models are assigned to coupledSimulators
Coupled models as components within coupled models are assigned to coupledCoordinators
genDevs.simulation.coordinator
genDevs.simulation.
coupledSimulator
Atomic 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.
tL =: t
tN =: t + ta(s)
When receive m
if m!= null and t < 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)
s =: s init
tL =: 0
tN =: ta(sinit)
mtimeline(abstract or logica)
inject at time t
tNtL
Legend:m = messages = statet = clock timetL = time of last eventtN = time of next event
If t == tN
generate output (s)
coordinator
simulator
Component
tN
tN. tL
After each transition tN = t + ta(), tL = t
simulator
Component
tN
tN. tL
simulator
Component
tN
tN. tL
Coupled Model
1 nextTN
2. outTN
3 getOut
4 sendOut
5 applyDelt
Basic DEVS Simulation Protocol
Each simulator reacts to the incoming message as follows:
•If it is imminent and its input message is empty, then it invokes its model’s internal transition function•If it is imminent and its input message is not empty, it invokes its model’s confluence transition function•If is not imminent and its input message is not empty, it invokes its model’s external transition function•If is not imminent and its input message is empty then nothing happens.
Coupled Model Coordinator:
1. Coordinator sends nextTN to request tN from each of the simulators.
2. All the simulators reply with their tNs in the outTN message to the coordinator
3. Coordinator sends to each simulator a getOut message containing the global tN (the minimum of the tNs)
4. 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.
5. 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.
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.
DEVS as the basis for Network Centric M&S
Network Centric Middleware – NCES Network Centric Middleware – NCES
messagemessage
DEVS ModelDEVS Model
TranslatorTranslator
DEVS ModelDEVS Model
TranslatorTranslator
messagemessage messagemessage
DEVS ModelDEVS Model
TranslatorTranslator
Diff Eqn.SystemsDiff Eqn.Systems
Discrete TimeSystems
Discrete Event
Formalisms
SimulatorSimulator SimulatorSimulator SimulatorSimulator