An Introduction to Modeling and Simulation with DEVS Gabriel A. Wainer Department of Systems and Computer Engineering Carleton University. Ottawa, ON.

Download Report

Transcript An Introduction to Modeling and Simulation with DEVS Gabriel A. Wainer Department of Systems and Computer Engineering Carleton University. Ottawa, ON.

An Introduction to Modeling and
Simulation with DEVS
Gabriel A. Wainer
Department of Systems and Computer
Engineering
Carleton University.
Ottawa, ON. Canada.
http://www.sce.carleton.ca/faculty/wainer
Outline
•
•
•
•
•
Problem characterization
DEVS formalism
The CD++ tool
Modeling complex systems using DEVS
Examples of application
Some of the slides here presented are part of
Prof. B. Zeigler’s collection (with permission!)
http://www.acims.arizona.edu
Slide 2
Motivation

Analysis of complex natural/artificial real systems.

Continuous systems analysis
 Different mathematical formalisms
 Simulation: solutions to particular problems under
certain experimental conditions of interest

Classical methods for continuous systems simulation
 Based on numerical approximation
 Require time discretization
 Inefficient in terms of execution times
 Complex composition; difficulties in integration,
multiresolution models
Slide 3
Evolution in simulation technology
•
•
•
•
•
•
•
•
Reduced cost of modern computers
Enhanced tools
Statistical packages; application libraries
Ease to use, flexibility
Ease of analysis tasks
Parallel/Distributed systems
Enhanced visualization tools
Standards (graphics, runtime support, distributed
software)
Slide 4
Discrete-Event M&S
• Based on programming languages (difficult to test,
maintain, verify).
• Beginning ’70s: research on M&S methodologies
• Improvement of development task
• Focus in reuse, ease of modeling, development
cost reductions
Slide 5
DE Modeling and Simulation
Use Example Deadlocks, Starvation
Turnaround time, response
time, timeliness
Type
Untimed
Timed
Required
Data
State sequence
Timed state sequence
Behavioral analysis
Non-behavioral analysis
Modal Logic
Logic
Process
algebra
Temporal Logic
CSP, CCS, QN
Set/Bag
theory
GSMP
FSM, Petri nets
Automata, Statecharts
Timed Automata
SDL, Timed-PN,
Event Graphs
DEVS formalism
(Prof. T. G. Kim, KAIST, Korea)
Slide 6
Separation of concerns in DEVS
Experimental Frame
Device for
executing model
Simulator
Real World
Data: Input/output
relation pairs
modeling
relation
Conditions under which the system
is experimented with/observed
Each entity formalized
as a Mathematical Dynamic
System
(mathematical manipulations
to prove system properties)
simulation
relation
Model
Structure generating behavior
claimed to represent real world
Slide 7
Current needs

Interoperability:
 computer-based and non-computer-based systems
 support a wide range of models and simulations
 hybrid interoperability

Reuse:
 model and simulation reuse (computer-based and otherwise)
 centralized and distributed data and model repositories

Performance:
 Computational (local to each simulation)
 Communication (among multiple simulations)
Slide 8
Current practices
• Ad-hoc techniques, ignorance of previous recommendations
for software engineering.
• Tendency to encapsulate models/simulators/experimental
frames into tightly coupled packages, (written in
programming languages such as Fortran, C/C++, Java).
• Difficulties: testing, maintainability of the applications,
integration, software reuse.
• Relatively few examples of storing previously developed
simulation infrastructure commodities such that they can be
adapted to developing interoperability test
requirements
Slide 9
DEVS M&S methodology
• DEVS can be used to solve the previously mentioned
issues:
–
–
–
–
–
–
Interoperability and reuse
Hybrid systems definition
Engineering-based approach
Facilities for automated tasks
Reduced life cycles
High performance/distributed simulation
Slide 10
The DEVS M&S Framework
• DEVS = Discrete Event System Specification
• Formal M&S framework
• Supports full range of dynamic system representation capability
• Supports hierarchical, modular model development
(Zeigler, 1976/84/90/00)
Slide 11
The DEVS M&S Framework
• Separates Modeling from Simulation
• Derived from Generic Dynamic Systems Formalism
– Includes Continuous and Discrete Time Systems
• Provides Well Defined Coupling of Components
• Supports
– Hierarchical Construction
– Stand Alone Testing
– Repository Reuse
• Enables Provably Correct, Efficient, Event-Based,
Distributed Simulation
Slide 12
A Layered view on M&S
Applications
Models
Simulators (single/multi CPU/RT)
Middleware/OS (Corba/HLA/P2P;
Windows/Linux/RTOS…)
Hardware (PCs/Clusters of PC/HW boards…)
Slide 13
A Layered view on M&S
Applications
Models
Simulators (single/multi CPU/RT)
Middleware/OS (Corba/HLA/P2P;
Windows/Linux/RTOS…)
Hardware (PCs/Clusters of PC/HW boards…)
Slide 14
Advantages of DEVS
• Models/Simulators/EF: distinct entities with their own
software representations.
• Simulators can perform single host, distributed and real-time
execution as needed (DEVS simulators over various
middleware such as MPI, HLA, CORBA, etc.).
• Experimental frames appropriate to a model distinctly
identified; easier for potential users of a model to uncover
objectives and assumptions that went into its creation.
• Models/ frames developed systematically for interoperability
• Repositories of models and frames created and maintained
(components for constructing new models). Models/frames
stored in repositories with information to enable reuse.
Slide 15
DEVS Toolkits











ADEVS (University of Arizona)
CD++ (Carleton University)
DEVS/HLA (ACIMS)
DEVSJAVA (ACIMS)
GALATEA (USB – Venezuela)
GDEVS (Aix-Marseille III, France)
JDEVS (Université de Corse - France)
PyDEVS (McGill)
PowerDEVS (University of Rosario, Argentina)
SimBeams (University of Linz – Austria)
New efforts in China, France, Portugal, Spain, Russia.
Slide 16
KAIST
HDEVSim
DEVS
DEVSimD-DEVSim++
formalism
DEVSimHLA
Hierarchical
Agent
RTDEVSimModular DEVS-Scheme DEVSim++
DEVSimJava
DEVSim++
COM
DEVS
1976
1984
1986
1992
1995
1997
1998
1999
2000
2001
OO DEVS M&S Environment
Theory of DEVS M&S
Using Scheme (LISP Dialect)
C++ based
DEVS M&S Environment
Distributed DEVSim++
Ph.D. Thesis
Web based
M.S. Thesis
DEVS M&S Environment
Developed at KAIST
HLA-Compliant DEVSim++
Real-time DEVSim++
Public S/W
DEVS M&S Environ. for Hybrid System
DEVS M&S Environ for Mobile Agent
Technology transfer
Component-based DEVS M&S Env
Slide 17
DEVS Formalism (cont.)
 Discrete-Event formalism: time advances using a continuous time base.
 Basic models that can be coupled to build complex simulations.
 Abstract simulation mechanism
Atomic Models:
M = < X, S, Y, int, ext, , D >.
Coupled Models:
CM = < X, Y, D, {Mi}, EIC, EOC, IC, select >
Slide 18
DEVS atomic models semantics
y (3)
x (5)
s’ =  ext (s,e,x)
 (s) (2)
(6)
s’ =  int (s)
s
D(s) (1)
(4)
DEVS = < X, S, Y, int , ext , D,  >
Slide 19
DEVS atomic models semantics
y (3)
x (5)
s’ =  ext (s,e,x)
 (s) (2)
(6)
s’ =  int (s)
s
D(s) (1)
(4)
DEVS = < X, S, Y, int , ext , D,  >
Slide 20
Coupled Models
Components
couplings
Internal Couplings
External Input Couplings
External Output Couplings
start
start
generator
(genr)
out
stop
faulty
repair
shop
repaired
sent
finished
transducer
(transd)
report
out
Slide 21
Closure Under Coupling
DN
< X , Y, D, {Mi }, {Ii }, {Zi,j }>
DEVS
< X, S, Y, int, ext, con, ta,  >
DEVS
< X, S, Y, int, ext, con, ta,  >
Every DEVS
coupled model
has a DEVS
Basic equivalent
Slide 22
The CD++ toolkit
P o rt
0..*
Mo d e l
P ro c e s s o r
1..*
C o u p le d
A t o m ic
Ato m i c C e l l
In e r ti a l D e l a yC e l l
C o u p le d C e ll
T r a n s p o r tD e l a yC e l l
• Basic tool following DEVS formalism.
• Extension to include Cell-DEVS models.
• High level specification language for model definition.
F l a tC o u p l e d C e l l
Slide 23
+ ch i l d
Auto-Factory DEVS model
Slide 25
DEVS Graphs Modeling
environment
Slide 26
Engine Assembly Atomic
Model EngineAssem::EngineAssem(const string &name):Atomic(name),
in_piston(addInputPort( "in_piston") ), in_engineBody(addInputPort(
"in_engineBody") ), done(addInputPort("done") ), out( addOutputPort("out")),
manufacturingTime( 0, 0, 10, 0 ) { } // Model constructor
Model &EngineAssem::externalFunction( const ExternalMessage &msg ) {
if( msg.port() == in_piston ) {
// parts received one by one
elements_piston.push_back( 1 ) ;
if( elements_piston.size() == 1 && elements_engineBody.size()>=1)
holdIn(active, manufacturingTime );
for(int i=2;i<=msg.value;i++) //pushback if more than 1 received
elements_piston.push_back( 1 ) ;
}
if( msg.port() == in_engineBody )
{
...
}
Model &EngineAssem::internalFunction( const InternalMessage & ) {
passivate();
}
Model &EngineAssem::outputFunction( const InternalMessage &msg ) {
sendOutput( msg.time(), out, elements.front());
}
Slide 27
Auto Factory execution
X/00:000/top/in/2 to chassis
X/00:000/top/in/2 to body
X/00:000/top/in/2 to trans
X/00:000/top/in/2 to enginesubfact
D/00:000/chassis/02:000 to top
D/00:000/body/02:000 to top
D/00:000/trans/02:000 to top
X/00:000/enginesubfact/ in/2 to piston
X/00:000/enginesubfact/ in/2 to enginebody ...
Y/02:000/chassis/out/1 to top
D/02:000/chassis/... to top
X/02:000/top/done/1 to chassis
X/02:000/top/in_chassis/1 to finalass ...
*/02:000/top to enginesubfact
*/02:000/enginesubfact to enginebody
Y/02:000/enginebody/out/1 to enginesubfact
D/02:000/enginebody/... to enginesubfact
X/02:000/enginesubfact/done/1 to enginebody
X/02:000/in_enginebody/1 to engineassem
D/02:000/enginebody/02:000 to enginesubfact
D/02:000/engineassem/02:000 to enginesubfact ...
Slide 28
Auto Factory
Slide 29
DEVS Success Stories
•
Prototyping and testing environment for embedded system design (Schulz,
S.; Rozenblit, J.W.; Buchenrieder, K.; Mrva, M.)
•
Urban traffic models (Lee, J.K.; Lee, J-J.; Chi, S.D.; et al.)
•
Watershed Modeling (Chiari, F. et al.)
•
Decision support tool for an intermodal container terminal (Gambardella,
L.M.; Rizzoli, A.E.; Zaffalon, M.)
•
Forecast development of Caulerpa taxifolia, an invasive tropical alga (Hill,
D.; Thibault, T.; Coquillard, P.)
•
Intrusion Detection Systems (Cho, T.H.; Kim, H.J.)
•
Depot Operations Modeling (B. Zeigler et al. U.S. Air Force)
Slide 30
DEVS Success Stories
•
Supply chain applications (Kim, D.; Cao H.; Buckley S.J.)
•
Solar electric system (Filippi, J-B.; Chiari, F.; Bisgambiglia, P.)
•
M&S activities at the Army base of Fort Wachuka, AZ (B. Zeigler, J. Nutaro
et al.)
•
Representation of hardware models developed with heterogeneous
languages (Kim, J-K.; Kim, Y.G.; Kim, T.G.)
•
DEVS/HLA Research funded by DARPA received Honorable Mention in
1999 DMSO Awards
Slide 31
DEVS Bus Concept
Discrete Time
Systems
Discrete
Event
Formalisms
DEVS
DEVS
message
DEVS
message
HLA
HLA
Diff Eq.
Systems
message
HLA
RTI
Slide 32
Joint MEASURE Overview
• Scenario Specification - Runtime Visualization/Animation
Slide 33
Analysis
- Data
UA/Lockheed distributed experimentation
JM:
•Detailed Surface Ship Models
•Sub/Surface Enemy Assets
Medusa:
Space Manager
and Logger:
Hi Fidelity
Radar / Weapon
Scheduling
Pragmatic Event Cue
Emission Propagation
(with acoutics)
LMGES -- NJ
JM:
• Space Based Sensors
• Space Based Communication
• Land/Air Enemy Assets
Space Manager
and Logger:
Pragmatic Event Cue
Emission Propagation
DEVS/HLA
• quantization
• predictive filtering
• GIS/aggregation
LMMS -- CA
Slide 34
Component Model Reuse Matrix
Project
Model
Critical
Mobile
Target
Radar Model
x
IR Sensor
Model
x
Global
Positioning
System III
Arsenal
Ship
Coast Guard
Deep Water
Space
Operations
Vehicle
Common
Aero
Vehicle
Joint
Composite
Tracking
Network
x
x
x
x
x
x
Missile
Model
x
x
Command
Control
Model
x
Earth &
Terrain
Model
x
Weather
Model
x
Waypoint &
Heading Nav
Model
x
x
Orbital
Propagate
Model
x
x
Ballistic
Trajectory
Model
x
x
Space
Based
Laser
x
x
x
x
x
x
x
x
Space
Based
Discriminati
on
x
x
x
x
x
x
x
x
x
Missile
Defense
(Theater /
National)
x
x
Laser Model
Comm.
Model
Integrated
System
Center
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Slide 35
x
x
x
x
U. of New Mexico Virtual Lab for
Autonomous Agents
V-Lab: DEVS M&S environment for robotic agents with physics,
terrain and dynamics (Mars Pathfinders for NASA).
IDEVS
SimEnv
DEVS Simulator
Middleware
(HLA,CORBA,JMS)
Computer Network
Reported gains in development times thanks to the use of DEVS
Slide 36
DEVS framework for control of steel production
Sachem = large-scale monitor/diagnose control system for
blast furnace operation
Usinor -- world’s largest producer of steel products,
Problems for conventional control and AI:
• Experts’ perception knowledge: implicit
• Reasoning of a control process expert: difficult to model.
• Lack of models for blast furnace dynamics
Solution:
• time-based perception and discrete event processing for
dealing with complex dynamical systems
Slide 37
DEVS framework for control of steel production
quanti
zation
signal
events
signal
pheno
mena
Large Scale:
• Conceptual model contains 25,000 objects for 33 goals, 27 tasks,etc.
• Approximately 400,000 lines of code.
• 14 man-years: 6 knowledge engineers and 12 experts
One advantage of DEVS is compactness: high reduction in data volume
Effective analysis and control of the
Slide 38
behavior of blast furnaces at high resolution
process
pheno
mena
Examples of Application
• Models of an Intel 8086 CPU and DSP processors (VoIP).
• Simple Digital systems (vending machine, alarm clock, plant
controller, robot path finder). Interpreter of VHDL and nVHDL
• Simple Military systems: Radar, Unmanned vehicles, CC-130
Loads Monitoring System, static target seeker, mine seeker.
• Computer communication: routing protocols for LANs, IP6,
client/server models, simple protocols.
• Physical: excitable media, particle collision, flow injection.
• Geographical/Ecological : fire spread, plant growth, watershed
formation, erosion, ant foraging.
• Biosystems: mythocondria, heart tissue, bacteria spread.
Slide 39
a-1 simulated computer
Slide 40
Physical Systems
Heat Spread

Surface Tension
Binary solidification
Slide 41
Fire Spread Modeling
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
T (K)
Tig = 573 K
Tf = 333 K
(ti, Ta)
active
unburned
t
burning
burned
Slide 42
10
11
12
13
14
15
16
17
18
19
20
Watershed modeling
110
105
100
95
90
85
80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
0
9
8
7
6
5
4
3
2
1
110
105
100
95
90
85
80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
0
28 29 30
25 26 27
22 23 24
19 20 21
16 17 18
13 14 15
10 11 12
9
8
7
6
5
4
3
2
1
28 29 30
25 26 27
22 23 24
19 20 21
16 17 18
13 14 15
12
11
10
110
105
100
95
90
85
80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
0
1
2
3
4
5
6
7
8
9
110
105
100
95
90
85
80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
0
28 29 30
25 26 27
22 23 24
19 20 21
16 17 18
15
14
13
10 11 12
1
2
3
4
5
6
7
8
9
28 29 30
25 26 27
22 23 24
19 20 21
16 17 18
15
14
13
10 11 12
Slide 43
Pursuer/evader modeling
Slide 44
Vibrio Parahaemolyticus bacteria
Temperature
Bacteria
concentration
Initial
After 1.5 hr
After 4 hrs
Slide 45
Ants following pheromone paths
Ants seeking food
t=1
Sources of food
Ants found pheromone path
t=2
t=3
Ants returning to nest
Slide 46
t=4
Path Planning Evolution
(a)
(b)
(c)
(d)
Different phases of the algorithm: (a) Configuration of obstacles, (b)
Boundary detection, (c) Information for CA Expansion, (d) Optimal
collision-free path
Slide 47
Flow Injection Analysis (FIA)
FIA manifold. P: pump; A,B: carrier and reagent
lines; L: sample injection; I: injection valve; R:
reactor coil; D: flow through detector; W: waste
line.
– P pumps carrier solution A into valve I that connects to reactor R
– By turning valve I, sample B is injected into R
– Reactions in R between A and B are sensed by detector D
Slide 48
Heart tissue behavior
40
• Heart muscle excitable;
responds to external
stimuli by contracting
muscular cells.
• Equations defined by
Hodgkin and Huxley
• Every cell reproducing
the original equations
• Discrete time
• Discrete event approximation
• G-DEVS, Q-DEVS
20
0
données expémentales et approximation polynomiale
-20
-40
-60
-80
-100
0
0.5
1
1.5
2
2.5
4
x 10
Slide 49
Test cases: a heart tissue model
• Automated discretization of the continuous signal
Slide 50
A Watershed model
Excedent water
to neighbor
flowing
lands lvs(t)
Rain
Water
l(t)
Surface vegetation
Effective water
Water received
byfrom the
neighbors
lve(t)
le(t)
Acumulated water
Ac(t)
Land absortion
water f(t)
WSHED - Topology - Time 0
95-100
WSHED - Quantum Hys 1.0 - After 10'
95-100
90-95
90-95
85-90
85-90
80-85
80-85
75-80
75-80
70-75
70-75
65-70
65-70
60-65
60-65
55-60
55-60
50-55
50-55
45-50
45-50
40-45
40-45
35-40
35-40
30-35
30-35
25-30
25-30
20-25
20-25
Slide 51
Flow Injection Analysis Model
No Quantum, 120ms
Q-DEVS 0.1, 120ms
Quantum Standard 0.7 Dynamic 1 - 0.05, 120ms
Slide 52
ATLAS SW Architecture
Slide 53
Modelling a city section
• 24-line specification
• 1000 lines of CD++ specifications automatically
generated
Slide 54
Describing a city section
Slide 55
Defining a city section in MAPS
Slide 56
Exporting to TSC
Slide 57
Visualizing outputs
Slide 58
Modeling AODV routing
Variant of the classical Lee’s Algorithm.
 S: node; D: a destination; black cells: dead.
 S broadcasts RREQ message to all its neighbors
(wave nodes).
 Wave nodes re-broadcast, and set up a reverse
path to the sender.
 The process continues
until the message reaches
the destination node D.
 Shortest path is selected

Slide 59
Simulation results
Slide 60
Execution results
Slide 61
Internetworking Routing
• 3D Cell-DEVS model
• Plane 1: wireless network, Plane 2: wired.
Slide 62
Maze solving
(1)
(2)
(3)
Slide 63
Simulated results
• Creation of a 3D version of
the simulation
• Interpreted by the MEL
scripts
Slide 64
Path plane
Slide 65
3D Simulation
Slide 66
Advantages of DEVS
•
•
•
•
•
•
Reduced development times
Improved testing => higher quality models
Improved maintainability
Easy experimentation
Automated parallel/real-time execution
Verification/Validation facilities
Slide 67
Difficulties of DEVS
• Legacy (current experience of modelers)
• Building DEVS models is not trivial
• Petri Nets, FSA, etc. more successful
• Training
• Differential Equations
• State machines
• Programming
Slide 68
Where to go from now
• Bridging the gap between Academic world
Application users
•
•
•
•
and actual
DEVS ready to take the leap
Critical mass of knowledgeable people
Large amount of tools/researchers
Ready to go from Research to Development
• Standardization of models
• Building libraries/user-friendly environments
• Further research required; open areas.
Slide 69
Partial
Slide 70
Concluding remarks
• DEVS formalism: enhanced execution speed, improved model
definition, model reuse.
• Hierarchical specifications: multiple levels of abstraction.
• Separation of models/simulators/EF: eases verification.
• Experimental frameworks: building validation tools
• Modeling using CD++: fast learning curve
• Parallel execution of models: enhanced speed
• The variety of models introduced show the possibilities in defining
complex systems using Cell-DEVS.
• User-oriented approach. Development time improvement: test and
maintenance.
• Incremental development
Slide 71
Current work and a
research roadmap
http://www.sce.carleton.ca/faculty/wainer
Slide 72