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

Slides:



Advertisements
Similar presentations
Eugene Syriani * † Hans Vangheluwe * ‡ Amr Al Mallah * † * ‡ Tuscaloosa, AL Montreal, Canada Antwerp, Belgium.
Advertisements

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.
Hydra (A General Framework for Formalizing UML with Formal Languages for Embedded Systems*) *from the Ph.D. thesis of William E. McUmber Software Engineering.
Object-Oriented Analysis and Design
Department of Computing
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Domain model: visualizing concepts
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
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.
Course Instructor: Aisha Azeem
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
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}
The Software Development Life Cycle: An Overview
Chapter 10 Architectural Design
What is a domain model? “A domain model captures the most important types of objects in the context of the business. The domain model represents the ‘things’
程建群 博士(Dr. Jason Cheng) 年03月
© Yilmaz “Agent-Directed Simulation – Course Outline” 1 Course Outline Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer Science &
DEVS Namespace for Interoperable DEVS/SOA
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
By Ezequiel Glinsky Research Assistant, University of Buenos Aires, Argentina Supervisor: Prof. Gabriel A. Wainer SCE, Carleton University Thursday, November.
Copyright © Craig Larman All Rights Reserved The Domain Model.
Lecture 13-17, chitkara university.  Gives a conceptual framework of the things in the problem space  Helps you think – focus on semantics  Provides.
Design Concepts By Deepika Chaudhary.
Chapter 9 Applying UML and Patterns -Craig Larman
Why building models? n Cannot experience on the real system of interest n Cost n Danger n The real system does not exist Why using simulation? n Reduced.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
ECE 449/549 Class Notes #1 Introduction to System Modeling Concepts and DEVS Sept
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
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.
Modelling DEVS applications The CD++ tool
Modeling with Parallel DEVS Serialization in DEVS models Select function Implicit serialization of parallel models E-DEVS: internal transition first,
Identifying Classes OO Software Design and Construction Computer Science Dept Va Tech January 2002 ©2002 McQuain WD & Keller BJ 1 Getting Started In the.
Simulator Protocol. coordinator simulator Component tN tN. tL After each transition tN = t + ta(), tL = t simulator Component tN tN. tL simulator Component.
DEVS and SES as a Framework for Modeling and Simulation Tool Development Bernard P. Zeigler Arizona Center for Integrative Modeling and Simulation University.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Transforming DEVS to Non-Modular Form For Faster Cellular Space Simulation Arizona Center for Integrative Modeling and Simulation Electrical and Computer.
DEVS-based Modeling and Simulation References: 1.B. P. Zeigler, Hessam S. Sarjoughian, Introduction to DEVS Modeling and Simulation with JAVA: Developing.
© Yilmaz “Introduction to Discrete-Event Simulation” 1 Introduction to Discrete-Event Simulation Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory.
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
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)
The Abstract simulator Simulator/Simulation Concepts n Simulator: responsible for executing a model’s dynamics (resented as instructions) in a given.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
ECE 449/549 Class Notes #2 Introduction to Discrete-Event Systems Specification (DEVS) Sept
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.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Elaboration popo.
Parallel DEVS & DEVSJAVA
OO Domain Modeling With UML Class Diagrams and CRC Cards
OO Domain Modeling With UML Class Diagrams and CRC Cards
Service-centric Software Engineering
Approach and Techniques for Building Component-based Simulation Models
Chapter 20 Object-Oriented Analysis and Design
Chapter 9 Architectural Design.
DEVS Background DEVS = Discrete Event System Specification
Presentation transcript:

© Yilmaz “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 COMP8700 Agent-Directed Simulation Acknowledgements: Thanks to Dr. Bernard Zeigler and Dr. Gabriel Wainer for sharing their DEVS lecture materials

© Yilmaz “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.

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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.

© Yilmaz “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.

© Yilmaz “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.

© Yilmaz “Introduction to DEVS” 8 Partitioning the Domain Model

© Yilmaz “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.

© Yilmaz “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

© Yilmaz “Introduction to DEVS” 11 Associations

© Yilmaz “Introduction to DEVS” 12 Multiplicity

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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.

© Yilmaz “Introduction to DEVS” 16 Do Not Use Attributes To Relate Concepts Why not?

© Yilmaz “Introduction to DEVS” 17

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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.

© Yilmaz “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

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

© Yilmaz “Introduction to DEVS” 23 THE DEVS FORMALISM DEVS = Discrete Event System Specification

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

© Yilmaz “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

© Yilmaz “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

© Yilmaz “Introduction to DEVS” 27 Formalism transformation

© Yilmaz “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

© Yilmaz “Introduction to DEVS” 29 Atomic model definition Behavioral models

© Yilmaz “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

© Yilmaz “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.)

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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

© Yilmaz “Introduction to DEVS” 36 Atomic model example: Processing Server

© Yilmaz “Introduction to DEVS” 37 Coupled models Structural models (multicomponent)

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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

© Yilmaz “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