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 Example Safeness, Liveness Model type Untimed DES model Required State sequence information Throughput Timed DES model Timed state sequence Behavioral analysis Non-behavioral analysis (Func. Veri/logical analysis) (Performance analysis) Logic Temporal Logic base Genralized SemiProcess CSP Markov process algebra CCS Min-Max algebra FSM Timed FSM Petri net Set/Bag Timed-PN Automata theory 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