Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Yilmaz- - 2004-12-06 “Introduction to DEVS” 1 Introduction to Model Conceptualization and Design Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer.

Similar presentations


Presentation on theme: "© Yilmaz- - 2004-12-06 “Introduction to DEVS” 1 Introduction to Model Conceptualization and Design Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer."— Presentation transcript:

1

2 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 1 Introduction to Model Conceptualization and Design Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer Science & Software Engineering Auburn University, Auburn, AL 36849 http://www.eng.auburn.edu/~yilmaz COMP8700 Agent-Directed Simulation Acknowledgements: Thanks to Dr. Bernard Zeigler and Dr. Gabriel Wainer for sharing their DEVS lecture materials

3 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 2 Aim The aim of this lecture is to overview the conventional conceptual and design models as well as fundamentals, principles, and the conceptual framework underlying the DEVS formalism.

4 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 3 Interested in modeling systems’ dynamic behavior  how it organizes itself over time in response to imposed conditions and stimuli. Predict how a system will react to external inputs and proposed structural changes. Modeling system dynamics

5 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 4 Modeling techniques classification Conceptual Modeling: informal model. –Communicates the basic nature of the process –Provides a vocabulary for the system (ambiguous) –General description of the system to be modeled

6 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 5 Domain Modeling Partitions and illustrates the important domain concepts. A classic object-oriented analysis activity. What are the objects of interest in the this domain? –their attributes? –their relationships? –IMPORTANT: Not software objects, but a “visual dictionary” of domain concepts.

7 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 6 A Domain Model Does Not Represent Software Objects A model of domain concepts, not of software objects. –A “visual dictionary” of important words in the domain. Uses UML static structure diagram notation.

8 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 7 How to Make a Domain Model List the candidate conceptual classes using the Conceptual Class category list Draw them in a domain model Add the associations necessary to record relations Add the necessary attributes to fulfill the information requirements.

9 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 8 Partitioning the Domain Model

10 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 9 Candidate lists (Conceptual category list – textbook page 134) Finding Domain Concepts Linguistic Analysis: Identify the nouns and noun phrases in textual descriptions. –Care must be applied with this method: a mechanical noun-to-class mapping isn’t possible, and words in natural languages are ambiguous. Specification: Design a library catalog system. The system must support the registration of patrons, checking books in and out patrons, adding and removing of books, and determining which patron has a book.

11 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 10 Abbott and Booch suggest: –Use nouns, pronouns, noun phrases to identify objects and classes –Singular  object, plural  class –Not all nouns are really going to relate to objects Coad and Yourdon suggest: –Identify individual or group “things” in the system or problem Ross suggest: –People, places, things, organizations, concepts, events Danger signs: class name is a verb, is described as performing something Approaches

12 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 11 Associations

13 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 12 Multiplicity

14 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 13 Focus on Important Associations Use Common associations list (page156 of your textbook) Name an association based on TypeName – VerbName –TypeName format

15 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 14 Domain Model: Adding Attributes An attribute is a logical data value of an object. The values of attributes of an object at any time during run-time execution constitutes the state of that object. UML Attribute Notation Relate with associations, NOT attributes

16 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 15 Attributes Show only “simple” relatively primitive types as attributes. Connections to other concepts are to be represented as associations, not attributes.

17 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 16 Do Not Use Attributes To Relate Concepts Why not?

18 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 17

19 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 18 Advantage of Formal Methods –Correctness and completeness  Testing –Communication means  Teamwork Formalism –Communication convention –Formal specification in unambiguous manner –Abstraction (representation) + Manipulation of abstraction –Formal model - Formal specification Formal Modeling

20 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 19 Declarative models System states (representing system entities) Transitions between states State-based declarative models –Example: States = number of persons waiting in line –Transitions: arrival of new customers/departure of serviced ones

21 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 20 Declarative models (cont.) Event-based declarative models Arcs: represent scheduling. Event relation: from arrival of token i to departure of token i.

22 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 21 Functional models “Black box”. Input: signal defined over time Output: depending on the internal function. Timing delays: discrete or continuous –Example: inputs = customers arriving –Outputs = delayed output of the input customers

23 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 22 Spatial models Space notions included Relationship between time and space positions –Example: customers moving through the server.

24 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 23 THE DEVS FORMALISM DEVS = Discrete Event System Specification

25 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 24 Source System Simulator Model Experimental Frame Simulation Relation Modeling Relation behavior database Basic Entities and Relations in Modeling and Simulation

26 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 25 DEVS = Discrete Event System Specification Provides sound formal M&S framework Supports full range of dynamic system representation capability Supports hierarchical, modular model development (Zeigler, 1976/84/90/00) DEVS Modeling & Simulation Framework

27 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 26 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 The DEVS Framework for M&S

28 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 27 Formalism transformation

29 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 28 DEVS Formalism  Discrete-Event formalism: time advances using a continuous time base.  Basic models that can be coupled to build complex simulations.  Abstract simulation mechanism

30 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 29 Atomic model definition Behavioral models

31 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 30 DEVS Atomic models Atomic DEVS = X : external input event set Y : external output event set S : sequential state set  int : internal transition function  ext :external transition function : output function ta : time advance function

32 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 31 ta : S  R + 0,  Q = {(s,e) | s  S, 0  e  ta(s)} : total state set, e: elapsed time  int : S  S  ext : X * Q  X : S  Y S  int  ext R X Y DEVS Atomic models (cont.)

33 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 32 External Event Transition Function (  ext ): transforms state and an input event into another state (e.g., receiving a faulty device, put it into a queue to await its turn for repair.) Output Function ( ): maps a state into an output (e.g., number of parts available falls below a minimum number, issue an order to restock.) Internal Event Transition Function (  int ): transforms state into another state after time has elapsed (e.g., there are 10 parts available and broken part requires 7 of them, after fixing broken part, 3 parts will remain.) Time Advance Function (ta): maps a state into a duration (e.g., how long to fix a device once processing has started.) Atomic model Discrete Event Dynamics

34 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 33 ta(s) (1) s DEVS = < X, S, Y,  int,  ext, ta,   s  y (3) s ’ =  int  s    x (5) s ’ =  ext ( s,e,x) (6) (6) DEVS atomic models semantics

35 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 34 –AMplayer_A = X = {Ball_B} Y = {Ball_A} S = {A, D}  int (A) = D  ext (Ball_B, D) = A ta(A) = thinking_time ta(D) = INFINITY (A) = Ball_A AD Ball_B Ball_A Ball_B Atomic model example: ping-pong

36 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 35 M outin event t x1x1 y1y1 x2x2 t S s0s0 s1s1 s2s2 s 2 =  ext ((s 0,e),x 1 ) s 1 =  int (x 2 ) t e ta(s 0 )ta(s 1 ) ta(s 2 ) Dynamic behavior of DEVS models

37 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 36 Atomic model example: Processing Server

38 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 37 Coupled models Structural models (multicomponent)

39 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 38 –Petri Net : incremental –DEVS : hierarchical GENBUFPROC out in out done GEN-BUF-PROC BUF-PROC G+B+P B+PG PB ABC Incremental : A and  B: connect ABC Hierarchical : A and BC: connect BC ABC Hierarchical vs. Incremental modelling

40 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 39 CM = X is the set of input events; Y is the set of output events; D is an index for the components of the coupled model, and  i  D, M i is a basic DEVS model (that is, an atomic or coupled model), defined by M i = I i is the set of influencees of model i (that is, the models that can be influenced by outputs of model i), and  j  I i, Z ij is the i to j translation function. Finally, select is the tie-breaking selector. Coupled models formal specification

41 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 40 –GEN-BUF-PROC = X =  ; Y = { out } I(GEN) = BUF; I(BUF) = PROC; I(PROC)= {BUF, self} Z(GEN)=BUF; Z(BUF)=PROC; Z(PROC) = BUF; Z(PROC)=self. SELECT : ({GEN, BUF, PROC}) = GEN ({BUF, PROC}) = BUF GENBUFPROC out in out done Coupled DEVS example

42 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 41 DN  X, Y, D, {M i }, {I i }, {Z i,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 Closure Under Coupling

43 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 42 Components (D) couplings –Internal Couplings (IC) –External Input Couplings (EIC) –External Output Couplings (EOC) repair shop out sent finished repaired faulty generator (genr) transducer (transd) out report stop start Input/output ports concepts

44 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 43 –GEN-BUF-PROC = X =  Y = { out } EIC =  EOC = { (PROC.out, GEN_BUF_PROC.out) } IC = { (GEN.out, BUF.in), (BUF.out, PROC.in), (PROC.out, BUF.done)} SELECT : ({GEN, BUF, PROC}) = GEN ({BUF, PROC}) = BUF  : GENBUFPROC out in out done Coupled DEVS example

45 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 44 coordinator simulator tN After each transition tN = t + ta(), tL = t Component tN tL simulator tN simulator tN Coupled Model 1. nextTN? 2. myTN 3 Output? 4 myOut 5 applyDelt DEVS Simulation Protocol Component tN tL Component tN tL

46 © Yilmaz- - 2004-12-06 “Introduction to DEVS” 45 tL = tN tN = tN + ta() tL = 0 tN = ta() initialize DEVS Simulator Protocol tL = time of last event tN = time of next event simulation cycle


Download ppt "© Yilmaz- - 2004-12-06 “Introduction to DEVS” 1 Introduction to Model Conceptualization and Design Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer."

Similar presentations


Ads by Google