Presentation is loading. Please wait.

Presentation is loading. Please wait.

ECE 449/549 Class Notes #1 Introduction to System Modeling Concepts and DEVS Sept. 2008.

Similar presentations


Presentation on theme: "ECE 449/549 Class Notes #1 Introduction to System Modeling Concepts and DEVS Sept. 2008."— Presentation transcript:

1 ECE 449/549 Class Notes #1 Introduction to System Modeling Concepts and DEVS Sept. 2008

2 Systems Specification Formalisms System theory distinguishes between system structure (the inner constitution of a system) and behavior (its outer manifestation). Fig. 1 Basic System Concepts

3 Hierarchical System Decomposition Decomposition, composition, hierarchical construction, Closure under composition Modular systems have recognized input and output ports through which all interaction with the environment occurs. They can be coupled together by coupling output ports to input ports and can have hierarchical structure in which component systems are coupled together to form larger ones.

4 Relation to Object Orientation Both objects and system models share a concept of internal state. However, mathematical systems are formal structures that operate on a time base while programming objects typically do not have an associated temporal semantics. While coupling establishes output-to-input pathways, the systems modeler is completely free to specify how data flows along such channels. Although systems models have formal temporal and coupling features not shared by conventional objects, object-orientation does provide a supporting computational mechanism for system modeling.

5 Evolution of Systems Formalisms Basic Systems Specification Formalisms

6 Introducing the DEV&DESS Formalism

7 Combining Continuous And Discrete Formalisms Introducing Quantized System

8 Extensions of DEVS

9 DEVS as a Computational Basis for Simulation, Design and Control

10 Levels of System Knowledge George Klir’s [Klir 1985] systems framework. Leve l NameWhat we know at this level 0Sourcewhat variables to measure and how to observe them 1Datadata collected from a source system 2Generativ e means to generate data in a data system 3Structurecomponents (at lower levels) coupled together to form a generative system

11 Hierarchy of Systems Specifications LevelSpecification NameCorresponds to Klir’s What we know at this level 0Observation FrameSource Systemhow to stimulate the system with inputs; what variables to measure and how to observe them over a time base; 1I/O BehaviorData Systemtime-indexed data collected from a source system; consists of input/output pairs 2I/O Function knowledge of initial state; given an initial state, every input stimulus produces a unique output. 3State TransitionGenerative Systemhow states are affected by inputs; given a state and an input what is the state after the input stimulus is over; what output event is generated by a state. 4Coupled ComponentStructure Systemcomponents and how they are coupled together. The components can be specified at lower levels or can even be structure systems themselves – leading to hierarchical structure.

12 Input / output system

13 The Specification Levels Informally Presented 1. Observation Frame (Level 0) A forest specified as a system in the Observation Frame (Level 0)

14 I/O Behavior and I/O Function Some Input-Output Pairs for the Forest System Frame (Level 1 & 2)

15 State Transition System Specification(Level 3)

16 Coupled Component System Specification Component Structure System Specification for the Forrest System (Level 4)

17 System Specification Morphisms: Basic Concepts Morphism Concepts for System Specification Hierarchy A morphism is a relation that places elements of system descriptions into correspondence. morphic, if we can place their defining elements  inputs, outputs, and time bases into correspondence

18 LevelSpecification NameTwo Systems are Morphical at this level if: 0Observation Frametheir inputs, outputs and time bases can be put into correspondence 1I/O Behaviorthey are morphic at level 0 and the time- indexed input/output pairs constituting their I/O behaviors also match up in one-one fashion 2I/O Functionthey are morphic at level 0 and their initial states can be placed into correspondence so that the I/0 functions associated with corresponding states are the same 3State Transitionthe systems are homomorphic (explained below) 4Coupled Componentcomponents of the systems can be placed into correspondence so that corresponding components are morphic; in addition, the couplings among corresponding components are equal Morphism relations between systems in System Specification Hierarchy and Klir’s levels.

19 Homomorphism Concept. This figure illustrates the preservation of state transitions that a homomorphism requires. Homomorphism: a mapping preserving step-by-step state transition and output Homomorphism

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

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

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

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

24 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.

25 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:

26 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

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

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

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

30 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 = ∞

31 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

32 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

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

34 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

35 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:

36 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

37 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

38 EFA ARCH EF GEN TRANSD EF ARCH COORD PROC Hierarchical Construction

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

40 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

41 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)

42 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 + 8 + 1 i + 2 i + 3 i + 4 i + 5 i + 6 i + 7 i i + 9 i i + 11 + 10 i Block (UI)

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

44 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

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


Download ppt "ECE 449/549 Class Notes #1 Introduction to System Modeling Concepts and DEVS Sept. 2008."

Similar presentations


Ads by Google