1 / 22

ECE 449/549

ECE 449/549. Class Notes #2 Introduction to Discrete-Event Systems Specification (DEVS) Sept. 2008. Basic Entities and Relations in Modeling and Simulation. Experimental Frame. Source. Simulator. System. behavior database. Modeling Relation. Simulation Relation. Model.

lynna
Download Presentation

ECE 449/549

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. DEVS Formalism DEVS = Discrete Event Systems Specification • Atomic Models • Coupled Models • Hierarchical Models

  4. x x 0 1 Discrete Event Time Segments X t1 t0 t2 S e y0 Y

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

  6. 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 internaltransition 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.

  7. Basic specification: DEVS = <X,S,Y, dint , d ext ,dcon, ta,l > X : a set of input events. Y: a set of output events. S: a set of states ta :S-> R+0,inf time advance function dint :S -> Sinternal transition function. d ext :Q x Xb-> Sexternal transition function, d con :Q x Xb-> Sconfluent transition function, where Xb is a set of bags over elements in X. Q= {(s,e)|se S, 0<= e<=ta(s)} l:S -> Youtput function

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

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

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

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

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

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

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

  15. Coupled model specification: DN = < X,Y,D,{Mi },{Ii },{Zi,j }> X : a set of input events. Y: a set of output events. D : an index set for the components of the coupled model. For eachieD , Mi is a component DEVS model. For eachieDu self, Iiis the set of influencees ofi . For eachjeDu self , Zi,jis output translation mapping

  16. create components class ef:public digraph{ public: ef():digraph(){ genr * g = new genr("g); transd * t = new transd("t"); add(g); add(t); ef out start start g result ariv out t in out done add coupling 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"); declare ports inports->add("in"); outports->add("out"); inports->add("start"); outports->add("result"); DIGRAPH

  17. Legend inherits can hold ENTITY Object Oriented DEVS CLASSES DEVS ATOMIC devs COUPLED MESSAGE CONTAINER content entity port, value ->ENTITY

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

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

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

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

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

More Related