ECE 449/549 Class Notes #1 Introduction to System Modeling Concepts and 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

Discrete Event Control
CS 290C: Formal Models for Web Software Lecture 4: Implementing and Verifying Statecharts Specifications Using the Spin Model Checker Instructor: Tevfik.
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.
© Yilmaz “Introduction to DEVS” 1 Introduction to Model Conceptualization and Design Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer.
Object-Oriented Analysis and Design
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
Introduction To System Analysis and Design
An Introduction to Input/Output Automata Qihua Wang.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Replacing Hardware With Software Analysis and simulation of existing hardware using Discrete Event System Specification. By:Philip Felber Aman Gupta Imaduddin.
DEVS and DEVS Model Dr. Feng Gu. Cellular automata with fitness.
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Chapter 10: Architectural Design
C++ fundamentals.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
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.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
The Architecture of Secure Systems Jim Alves-Foss Laboratory for Applied Logic Department of Computer Science University of Idaho By, Nagaashwini Katta.
DEVS Namespace for Interoperable DEVS/SOA
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.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
ECE 449/549 Class Notes # 4 DEVS Models for Processing and Coordinating Workflow / System Entity Structure 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.
The Need for a Theory of Modeling and Simulation to Support the M&S COI Mission Bernard P. Zeigler, Ph.D., Arizona Center for Integrative Modeling and.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Modelling DEVS applications The CD++ tool
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,
System Testing Beyond unit testing. 2 System Testing Of the three levels of testing, system level testing is closest to everyday experience We evaluate.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
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.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
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.
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
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.
ECE 449/549 Class Notes #2 Introduction to Discrete-Event Systems Specification (DEVS) Sept
PDEVS Protocol Performance Prediction using Activity Patterns with Finite Probabilistic DEVS DEMO L. Capocchi, J.F. Santucci, B.P. Zeigler University of.
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.
Before we start Literature review abstract DEVSJAVA license form
Continue the car washer example Experimental frame
Parallel DEVS & DEVSJAVA
Cmpe 589 Spring 2006.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Information systems modeling tools
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 9 Architectural Design.
Chapter 4 DEVS Formalism
DEVS Background DEVS = Discrete Event System Specification
Information systems modeling tools
Presentation transcript:

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

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

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.

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.

Evolution of Systems Formalisms Basic Systems Specification Formalisms

Introducing the DEV&DESS Formalism

Combining Continuous And Discrete Formalisms Introducing Quantized System

Extensions of DEVS

DEVS as a Computational Basis for Simulation, Design and Control

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

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.

Input / output system

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

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

State Transition System Specification(Level 3)

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

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

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.

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

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

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

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

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

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

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.