ECE 449/549 Class Notes #2 Introduction to Discrete-Event Systems Specification (DEVS) Sept. 2008.

Slides:



Advertisements
Similar presentations
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Advertisements

McGill University School of Computer Science ‘07 Eugene Syriani and Hans Vangheluwe McGill University School of Computer Science 1.
Representing Hierarchical Mobility in Software Architectures Fernando J. Barros University of Coimbra Portugal.
Eugene Syriani * † Hans Vangheluwe * ‡ Amr Al Mallah * † * ‡ Tuscaloosa, AL Montreal, Canada Antwerp, Belgium.
Review DEVS Formalism  Discrete-Event formalism: time advances using a continuous time base.  Basic models that can be coupled to build complex simulations.
Extended DEVSML as a Model Transformation Intermediary to Make UML Diagrams Executable Jianpeng Hu Dept. of Computer Science and Engineering Shanghai Jiao.
Modeling & Simulation. System Models and Simulation Framework for Modeling and Simulation The framework defines the entities and their Relationships that.
© Yilmaz “Introduction to DEVS” 1 Introduction to Model Conceptualization and Design Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer.
Introduction To System Analysis and Design
Quantized State System Simulation in Dymola/Modelica Using the DEVS Formalism Tamara Beltrame VTT, Industrial Systems PO Box 1000, VM Espoo, Finland.
An Introduction to Input/Output Automata Qihua Wang.
Replacing Hardware With Software Analysis and simulation of existing hardware using Discrete Event System Specification. By:Philip Felber Aman Gupta Imaduddin.
Simulation Waiting Line. 2 Introduction Definition (informal) A model is a simplified description of an entity (an object, a system of objects) such that.
DEVS and DEVS Model Dr. Feng Gu. Cellular automata with fitness.
Formal Verification of SpecC Programs using Predicate Abstraction Himanshu Jain Daniel Kroening Edmund Clarke Carnegie Mellon University.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
OMNET++. Outline Introduction Overview The NED Language Simple Modules.
Review. A_DA_A Ball_A Ball_B player_A B_DB_A Ball_B Ball_A player_B Ball_A Ball_B A_A, B_DA_D, B_A Ball_A Ball_B CFSM Player_A  : X  S  S X A = {Ball_A}
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Stacks. An alternative storage structure for collections of entities is a stack. A stack is a simplified form of a linked list in which all insertions.
DEVS Namespace for Interoperable DEVS/SOA
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal.
Develop DEVS Models Using DEVSJAVA Dr. Feng Gu. DEVS atomic model Elements of an atomic model input events output events state variables state transition.
Real Time Event Based Communication Team Abhishekh Padmanabhan CIS 798 Final Presentation.
By Ezequiel Glinsky Research Assistant, University of Buenos Aires, Argentina Supervisor: Prof. Gabriel A. Wainer SCE, Carleton University Thursday, November.
ECE 449/549 Class Notes # 4 DEVS Models for Processing and Coordinating Workflow / System Entity Structure Sept
Chapter 15 Introduction to PL/SQL. Chapter Objectives  Explain the benefits of using PL/SQL blocks versus several SQL statements  Identify the sections.
ECE 449/549 Class Notes #1 Introduction to System Modeling Concepts and DEVS Sept
Definition of cell-shaped spaces. CCA = n C cell’s state variables; n S finite alphabet to represent each cell’s state; n n dimensional space; n N neighboring.
Modeling VHDL in POSE. Overview Motivation Motivation Quick Introduction to VHDL Quick Introduction to VHDL Mapping VHDL to POSE (the Translator) Mapping.
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Modelling DEVS applications The CD++ tool
The 14 th IEEE Real-Time and Embedded Technology and Applications Symposium, April 2008 Real-Time Distributed Discrete-Event Execution with Fault Tolerance.
Unifying Discrete and Continuous Simulation with Discrete Events: DEVS as the Next Modeling Standard Bernard P. Zeigler Arizona Center for Integrative.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
DEVS M&S Tutorial 2 Chungman Seo
Modeling with Parallel DEVS Serialization in DEVS models Select function Implicit serialization of parallel models E-DEVS: internal transition first,
Performance Analysis and Simulation of Service Based Applications Rajapaksage Jayampathi DM Rasanjalee Himali Instructor: Dr Xaolin Hu CSC 8350.
Simulator Protocol. coordinator simulator Component tN tN. tL After each transition tN = t + ta(), tL = t simulator Component tN tN. tL simulator Component.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
DEVS and SES as a Framework for Modeling and Simulation Tool Development Bernard P. Zeigler Arizona Center for Integrative Modeling and Simulation University.
Transforming DEVS to Non-Modular Form For Faster Cellular Space Simulation Arizona Center for Integrative Modeling and Simulation Electrical and Computer.
ECE 449/549 Class Notes #3 DEVS Simulators and Executors / Methodology : How to model and simulate Sept
DEVS-based Modeling and Simulation References: 1.B. P. Zeigler, Hessam S. Sarjoughian, Introduction to DEVS Modeling and Simulation with JAVA: Developing.
Approach and Techniques for Building Component-based Simulation Models Bernard P. Zeigler, Ph.D. Hessam S. Sarjoughian, Ph.D. Arizona Center for Integrative.
Review n System dynamics : A sequence of state transition n model : A set of rules for state transition System S X Y Discrete event system FSM (Automata)
 Simulation enables the study of complex system.  Simulation is a good approach when analytic study of a system is not possible or very complex.  Informational,
The Abstract simulator Simulator/Simulation Concepts n Simulator: responsible for executing a model’s dynamics (resented as instructions) in a given.
Agenda  Quick Review  Finish Introduction  Java Threads.
Parallel and Distributed Simulation Deadlock Detection & Recovery.
Discrete-Event System Simulation in Java. Discrete Event Systems New dynamic systems New dynamic systems Computer and communication networks Computer.
PDEVS Protocol Performance Prediction using Activity Patterns with Finite Probabilistic DEVS DEMO L. Capocchi, J.F. Santucci, B.P. Zeigler University of.
Www. senseglobal.com 1 MS4 Modeling Environment (MS4 Me) System Entity Structure based DEVS Modeling and Simulation environment July, 2015 MS4 Systems,
Extension du formalisme SES pour l’intégration de la hiérarchie d’abstraction et la granularité temporelle au sein de la modélisation et la simulation.
Introduction to Omnet++ By: Mahsa Soheil Shamaee.
Before we start Literature review abstract DEVSJAVA license form
Continue the car washer example Experimental frame
Parallel DEVS & DEVSJAVA
Cmpe 589 Spring 2006.
Continue the car washer example Experimental frame
Parallel and Distributed Simulation Techniques
Section 11.1 Class Variables and Methods
SyDEVS Introduction Theory – Paradigm – Implementation
DEVS Background DEVS = Discrete Event System Specification
Atomic Model Simulator
Approach and Techniques for Building Component-based Simulation Models
Chapter 4 DEVS Formalism
DEVS Background DEVS = Discrete Event System Specification
Module 6: Introduction to Parallel Computing
Presentation transcript:

ECE 449/549 Class Notes #2 Introduction to Discrete-Event Systems Specification (DEVS) Sept. 2008

Source System Simulator Model Experimental Frame Simulation Relation Modeling Relation behavior database Basic Entities and Relations in Modeling and Simulation

DEVS Formalism DEVS = Discrete Event Systems Specification Atomic Models Coupled Models Hierarchical Models

x 0 x 1 X S Y y0y0 e t0t0 t1t1 t2t2 Discrete Event Time Segments

DEVS Atomic Model input events output events state variables state transition functions output function time advance function Elements of an atomic model:

Atomic Model Operation 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.

DEVS = <X,S,Y,  int,  ext,  con, ta,  X X : a set of input events. Y Y : a set of output events. S S : a set of states ta :S  R + 0,inf ta : S  R + 0,inf time advance function  int :S  S  int :S  S internal transition function.  ext :Q x X b  S  ext :Q x X b  S external transition function,  con :Q x X b  S  con :Q x X b  S confluent transition function, X b X where X b is a set of bags over elements in X. Q= {(s,e)|s  S, 0  e  ta(s)} Q= {(s,e)|s  S, 0  e  ta(s)} :S  Y : S  Y output function Basic specification:

State output external internal time advance Make a transition (external) Make a transition (internal) Handle input Send an output Hold for some time input output DEVS Atomic Model Implements Basic DEVS

Internal Transition /Output Generation s Generate output output Make a transition s’s’ Time advance using the internal transition function using the output function

Time advance input Make a transition Response to External Input elapsed time using the external transition function

Time advance input Make a transition Response to Simultaneous External Input and Internal Event elapsed time Generate output output using the confluent transition function

receptive refract Input fire Firing delay >0 Output Fire-once Neuron Atomic Model Examples Pulse Generator out pulse time passive active start interPulseTime >0 Output Pulse Generator start external event Internal eventoutput event ta = ∞

Basic DEVS: Example Scuba Model Dive Plan Emergency Phone Call Response =dint (“five”) for phase != “five”,“surface1”, “surface2” dint (“five”,s ) otherwise //except when already on “five

void proc::deltext(timetype e,message * x) { Continue(); if (phase_is("passive")) for (int i=0; i get_length();i++) if (message_on_port(x,"in",i)) { job = x->get_val_on_port("in",i); hold_in("busy",processing_time); } message * proc::out( ) { if (phase_is("busy")) message * m = new message(); entity *val = job; m->add(make_content("out",val);); return m; } void proc::deltint( ) { passivate(); } external transition function internal transition function output function  jobphase time advance x y s inout ATOMIC

DEVS Hierarchical Modular Composition Atomic: lowest level model, contains structural dynamics -- model level modularity + coupling Coupled: composed of one or more atomic and/or coupled models hierarchical construction

DN = < X,Y,D,{M i },{I i },{Z i,j }  X X : a set of input events. Y Y : a set of output events. D D : an index set for the components of the coupled model. i  D For each i  D, M i M i is a component DEVS model. i  D  self I i i For each i  D  self, I i is the set of influencees of i. j  D  self For each j  D  self, Z i,j Z i,j is output translation mapping Coupled model specification:

class ef:public digraph{ public: ef():digraph(){ genr * g = new genr("g); transd * t = new transd("t"); add(g); add(t); create components g t done start ariv out ef out inports->add("in"); outports->add("out"); inports->add("start"); outports->add("result"); declare ports instartresult out add_coupling(this, "in", t, "done"); add_coupling(this, "start", g, "start"); t->add_coupling(t,"out",g,"stop"); t->add_coupling(t, "out", this, "result"); g->add_coupling(g, "out", this, "out"); g->add_coupling(g, "out", t, "ariv"); add coupling DIGRAPH

DEVS <X,S,Y,  int,  ext,  con, ta,  <X,S,Y,  int,  ext,  con, ta,  Every Devs Coupled model has a Devs Basic equivalent DN < X,Y,D,{M i },{I i },{Z i,j }  DEVS <X,S,Y,  int,  ext,  con, ta,  <X,S,Y,  int,  ext,  con, ta,  Closure Under Coupling

EFA ARCH EF GEN TRANSD EF ARCH COORD PROC Hierarchical Construction

EFA EFA-DEC GENR COORD EF EFA-DEC TRANSD PROC S PRO C ARCH ARCH-SPEC MULT MULT-DEC PROC SYSTEM ENTITY STRUCTURE

EFAEFA-DEC GENR COORD EF EFA-DEC TRANSD PROCS PROC ARCH ARCH-SPEC MULT MULT-DEC PROC PRUNING GENREFAEFA-DEC EF EFA-DEC TRANSD ARCH ARCH-SPEC PROC TRANSFORMING EFA PROC EF GENR TRANSD

DEVS ENTITY CONTAINER ATOMIC COUPLED devs entity Legend inherits can hold Object Oriented DEVS CLASSES MESSAGE content port, value  ENTITY

Simulation Cycle for DEVS Parallel /Confluent 1Compute the global next event time, t N : use reduce to get minimum of component times to next event (tN) 2Tell all components the global t N and if component is imminent (t N == global t N ), then generate output message(using ) 3 Sort and distribute (using coupling) output messages. 4 Tell all components if component is imminent (t N == global t N ) or has incoming mail (external events) or both then execute transition function (wrap_deltfunc). wrap_deltfunc(t,m) deltcon(m) deltint() deltext(t-tN,m)

Simulation Cycle Step 1 Compute the next event time (tN) : uses reduction to get minimum of the component times to next event. Tell_all (next_tN) Ensemble Message compute tN return tN return MIN tN return tN return MIN tN Collection of Minimum tN Values Low Node High Node i i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i i + 9 i i i Block (UI)

Simulation Cycle Step 2 Tell_all (compute_IO) Ensemble Message compute_IO Low Node High Node i i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i i+ 9 i i i compute_IO Tell all components global tN: if component is imminent generate and sort output messages compute_IO

Mail Exchange in Step3 + 1 i + 2 i + 3 i + 4 i + 5 i tell all imminents, sort, and distribute output messages (mail) using coupling Step 1 : Mail Message Size Information Step 2 : Mail Exchange

Simulation Cycle Step 4 Tell_all (wrap_deltfunc) Ensemble Message wrap_deltfunc Low Node High Node i i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i i+ 9 i i i wrap_deltfunc Tell all components with to execute their transition functions.