Before we start Literature review abstract DEVSJAVA license form

Slides:



Advertisements
Similar presentations
Discrete Event Control
Advertisements

Extended DEVSML as a Model Transformation Intermediary to Make UML Diagrams Executable Jianpeng Hu Dept. of Computer Science and Engineering Shanghai Jiao.
WSN Simulation Template for OMNeT++
Replacing Hardware With Software Analysis and simulation of existing hardware using Discrete Event System Specification. By:Philip Felber Aman Gupta Imaduddin.
Event Processing Course Event processing networks (relates to chapter 6)
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.
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}
Chapter 10 State Machine Diagrams
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
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.
DEVS-Centered Modeling and Simulation: Core Concepts for Engineering Education Bernard P. Zeigler Arizona Center for Integrative Modeling and Simulation.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
ECE 449/549 Class Notes #1 Introduction to System Modeling Concepts and DEVS Sept
Unifying Discrete and Continuous Simulation with Discrete Events: DEVS as the Next Modeling Standard Bernard P. Zeigler Arizona Center for Integrative.
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
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.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
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.
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)
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.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Chapter 3 Part 1 Switching and Bridging
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
CompSci 280 S Introduction to Software Development
Advanced Software Engineering
Continue the car washer example Experimental frame
Confluent vs. Splittable Flows
OPERATING SYSTEMS CS 3502 Fall 2017
Parallel DEVS & DEVSJAVA
Marlon Dumas Institute of Computer Science
Advanced Software Engineering
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 4 Control Flow Testing
Neuro-DEVS An hybrid methodology to describe complex systems
EA C451 Vishal Gupta.
Continue the car washer example Experimental frame
Outline of the Chapter Basic Idea Outline of Control Flow Testing
Chapter 9 Cellular Spaces
18-WAN Technologies and Dynamic routing
SyDEVS Introduction Theory – Paradigm – Implementation
Computer Simulation of Networks
Sequential Circuits: Latches
DEVS Background DEVS = Discrete Event System Specification
States.
Internet of Things A Process Calculus Approach
Graphs Chapter 11 Objectives Upon completion you will be able to:
Approach and Techniques for Building Component-based Simulation Models
Dr. Clincy Professor of CS
PRESENTATION COMPUTER NETWORKS
Chapter 14 Spatial Threshold Systems
Introduction to DEVSJAVA
Marlon Dumas Institute of Computer Science
States.
Market-based Dynamic Task Allocation in Mobile Surveillance Systems
CSCI1600: Embedded and Real Time Software
Chapter 4 DEVS Formalism
DEVS Background DEVS = Discrete Event System Specification
Chapter 6 Network Flow Models.
STATE MACHINE AND CONCURRENT PROCESS MODEL
STATE MACHINE AND CONCURRENT
Presentation transcript:

Before we start Literature review abstract DEVSJAVA license form This Friday’s Colloquium by Dr. Zeigler

DEVS-based Modeling and Simulation References: B. P. Zeigler, Hessam S. Sarjoughian, Introduction to DEVS Modeling and Simulation with JAVA: Developing Component-Based Simulation Models, http://www.acims.arizona.edu/SOFTWARE/devsjava_licensed/CBMSManuscript.zip B. P. Zeigler, H. Preahofer, T. G. Kim, Theory of Modeling and Simulation, New York, NY, Academic Press, 2000. http://www.acims.arizona.edu

What is and Why DEVS? DEVS = Discrete Event System Specification Provides formal M&S framework: specification,simulation Derived from Mathematical dynamical system theory Supports hierarchical, modular composition Object oriented implementation Although developed in the filed of modeling and simulation, it represents a modeling paradigm that is closely related to the major themes, such as modeling, designing, and verification, in software engineering.

SYSTEM output input state

SYSTEM output input state Input trajectory Output trajectory output input state We view systems as having input and output interfaces (input ports and output ports) through which they can interact with other systems The term “port” signifies a specific means of interacting with the system. Ports are the only channel through which one can interact with the system. The time-indexed inputs to systems are called input trajectories The time-indexed outputs are called output trajectories State and initial state A example – A lecturing classroom, a screen savor program

A Forest System …… lightning fire FOREST rain wind lightning rain wind Weather lightning rain wind …… Modeling and simulation interests How to capture that?

Discrete Time Systems output input state Input trajectory Output trajectory output input state Continuous systems – differential equation system specification. Example, a water tank, a heat diffusion system, etc. Discrete time systems – difference equation – discrete time system specification. Example, computer implementation for a water tank, a heat diffusion system, etc. Discrete event systems ?

Discrete Event Systems output input output input state The system is driven by event Discrete time systems is a special case of discrete event systems Discrete event system specification (DEVS) FSM, petri net, etc. Back to the classroom example

Basic Entities and Relations in Modeling and Simulation Experimental Frame Device for executing model Real World Simulator Data: Input/output relation pairs simulation relation modeling relation Experimental frame specifies conditions under which the system is experimented with and observed Model Structure for generating behavior claimed to represent real world

DEVS Models There are two kinds of Models in DEVS Atomic Model Coupled Model

DEVS Atomic Model Elements of an atomic model: input events output events state variables state transition functions External transition Internal transition Confluent transition output function time advance function (S,e) X Y

DEVS Atomic Model Formalism

Dynamic of Atomic Model internal Make a transition (internal) external Make a transition (external) Handle input input State time advance Hold for some time output Send an output

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.

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

A DEVSJAVA Demo of a Generator Model (Model genr in simpArc)

Internal Transition /Output Generation Generate output using the output function Time advance using the internal transition function s Make a transition s’ Discussion: time advance =0, = Infinity

Response to External Input Make a transition using the external transition function elapsed time Time advance Discussion: multiple inputs at the same time

Response to Simultaneous External Input and Internal Event output input Generate output Make a transition elapsed time using the confluent transition function Time advance Note: the output will be generated before the confluent function is executed

Discrete Event Time Segments x x 1 X t0 t1 t2 (S,e) X Y S e y0 Y

Discussion There is no way to generate an output directly from an external input event. An output can only occur just before an internal transition. To have an external event cause an output without delay, we have it “schedule” an internal state with a hold time of zero The output function does not change a model’s state In general, the only way to interact with a model is through input/output ports. An implementation issue -- An atomic model works with any object-oriented classes A coupled model does not have its own states or state transition functions.

DEVS Coupled Model Elements of coupled model: Components A B AB AB Components Interconnections Internal Couplings External Input Couplings External Output Couplings

Coupling in Action output output internal external time advance AB B A Output port Input port external State internal time advance output internal external State time advance output

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

Coupled Model Example – Neuron net can compute the shortest path in a directed graph by mapping distances of edges to equivalent time values. FireOnce Neuron 1 Neuron 3 Neuron 2 pulseIn pulseOut Neuron 4 Pulse Generator Small network of fire-once neurons a pulse emitted from the generator explores two paths concurrently to reach the final neuron (number 4). depending on the summed firing delays along each path, a pulse emerging from one or the other will arrive first to the final neuron, the other will be shut out and prevented from continuing in general, the clock time when a pulse first arrives to a neuron represents the shortest time to reach it if nodes and link distances are mapped to neurons and firing times, then the path taken by a pulse represents the shortest path of an associated digraph. the path can be reconstructed by extending the neuron model to allow retracing the path of earliest firings. This method turns out to be isomorphic to the well known Dikstrai shortest path algorithm. pulseModels. fireOnce NeuronNet If instead of shortest paths, we request longest paths, a net of neurons that fire after their assigned fireDelays every time they receive a pulse will do the job. Finding critical paths in PERT charts require such longest path computation. Back to the forest fire management system

A forest fire management system Decision Making System fire alarm fire fighting efforts lightning fire FOREST rain wind Weather lightning rain wind …… Fire Monitor System

genDevs. modeling. atomic Basic Atomic Methods public double ta() : the time advance function; returns the value of sigma for atomic models public message out() : the output function; releases the message just before an internal transition public void deltint(): the internal transition function public void deltext(double e,message x): the external transition funciton public void deltcon(double e,message x): the confluent transition function public void Continue(double e) : subtract e from sigma; use to retain the same time of next event after an external event public void holdIn(String phase, double sigma) : set the phase and sigma values as given in the arguments public void passivateIn(String phase) : set the phase as given in the argument and sigma to INFINITY public void passivate() : set the phase to passive and sigma to INFINITY public boolean phaseIs(String phase) : return true if the current phase equals the argument public double ta(){return sigma; } public message out(){return new message()} //override public void deltint() {} //override public void deltext(double e,message x) {} //override public void deltcon(double e,message x){}//default deltint(); deltext(0,x); } public void Continue(double e){ if (sigma < INFINITY) sigma = sigma - e; public void holdIn(String phase, double sigma) { this.phase = phase; this.sigma = sigma;; public void passivateIn(String phase) {holdIn(phase, INFINITY);} public void passivate() {passivateIn("passive");} public boolean phaseIs(String phase){ return this.phase.equals(phase);

ignore all subsequent pulses receptive refract input fire Firing delay >0 Output Fire-once Neuron This neuron fires exactly once after a fixed delay while ignoring all subsequent inputs public void initialize(){ super.initialize(); passivateIn("receptive"); } public void deltext(double e,message x){ Continue(e); if (phaseIs("receptive")&& somethingOnPort(x,"in")) holdIn("fire",fireDelay); ignore all subsequent pulses pulse pulse pulse pulse input t fire Continue: sigma = sigma - e phase state receptive refract public void deltint(){ //if (phaseIs("fire")) passivateIn("refract"); } public message out(){ return outputNameOnPort("pulse","out"); sigma pulseModels foreOnceNeuron elapsed time pulse output

Basic Generator Concepts pulseExpFrames. basicGenr second Duration third Duration First Duration first second passive third active public void initialize(){ super.initialize(); holdIn("active",0); } public void deltext(double e,message x){ Continue(e); if (somethingOnPort(x,"start")) holdIn("first",firstDuration); else if (somethingOnPort(x,"stop")) passivate(); public void deltint(){ if (phaseIs("active")) holdIn("first",firstDuration); else if (phaseIs("first")) holdIn("second",secondDuration); else if (phaseIs("second")) holdIn("third",thirdDuration); else passivate(); } public message out(){ if (phaseIs("active")) return outputRealOnPort(firstOutput,"out"); else if (phaseIs("first")) return outputRealOnPort(secondOutput,"out"); else if (phaseIs("second")) return outputRealOnPort(thirdOutput,"out"); else //if (phaseIs("third")) return outputRealOnPort(0,"out");

Example of basicGenr: Scuba Diving Plan surface 15 ft 10 min 40 ft 20 min 60 ft 20 min A diver drops immediately to 60 ft depth, stays there for 20 min., then rises to 40 ft, depth staying 20 min., and finally spends 10 minutes at 15ft before rising to the surface. Modify the basicGenr to represent this dive plan. Your model should output the new depth to which the diver goes at each stage.

Class pulseGenr -- generates pulses whose size and frequency can be specified start stop active passive out interPulseTime public void initialize(){ super.initialize(); holdIn("active",interPulseTime); } public void deltext(double e,message x){ Continue(e); // add setPulse and setTime if (somethingOnPort(x,"start")) else if (somethingOnPort(x,"stop")) passivate(); public void deltint(){ holdIn("active",interPulseTime); } public message out(){ return outputRealOnPort(pulse,"out"); Note: stop and start do not remember the time already elapsed in last period; this can be done by employing the elapsed time, e.

Coupled Model Example: using a basic generator to dynamically set the period of a pulse generator boxCar public class boxCar extends ViewableDigraph{ public boxCar(){ super("boxCar"); ViewableAtomic basic = new basicGenr("basic",15,20,14, 2,1,1000); \\ d1,d2,d3 ,p1,p2,p3 add(basic); ViewableAtomic pg = new pulseGenr("pg"); add(pg); addCoupling(basic,"out",pg,"setInterPulseTime"); }

Handout--Chapter 2: p13-p18

Homework Read Chapter 1 chapter 2, chapter 3 Install DEVS JAVA Decide project topic – some project ideas, 3 member group Next class – literature research topic Next class –DEVSJAVA Lab Session, bring laptop with installed DEVSJAVA Next class – take home exam

Recursive Location Management Schema in Wireless Network Mobile agent (tentative) Traffic Systems Modeling And Simulation Baby Delivery Room Simulation distributed, collaborative editing system Data Submission Management Mobile Sensors Network Routing Case Management Process within the SAMS. Quantitative performance prediction and decision-making tool based on DEVS Simulation of Neural Network (NN) Using DEVS Travelers Entering Through Immigration Store Check-Out System Simulation Optical Interconnection Networks Modeling and Simulation Simulation of a Public Computing Architecture RNA and Mg2+ interaction simulation