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

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

McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe.
Categories of I/O Devices
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.
McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab MSDL’08 Eugene Syriani.
Specification, Partitioning, and Composition Techniques for Web Applications in the Context of Event-B Abdolbaghi Rezazadeh Michael Butler University of.
McGill University School of Computer Science ‘07 Eugene Syriani and Hans Vangheluwe McGill University School of Computer Science 1.
A component- and message-based architectural style for GUI software
Extended DEVSML as a Model Transformation Intermediary to Make UML Diagrams Executable Jianpeng Hu Dept. of Computer Science and Engineering Shanghai Jiao.
Eugene Syriani Jeff Gray University of Alabama Software Engineering Group Department of Computer Science College of Engineering.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Rule Based Operational Semantics Specification in Ptolemy Yanwar Asrigo COMP 763B - Modeling and Simulation Based Design 30 th April 2008.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.
1 Complexity of Network Synchronization Raeda Naamnieh.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Seyed Mohammad Ghaffarian ( ) Computer Engineering Department Amirkabir University of Technology Fall 2010.
Performance Analysis and Monitoring Facilities in CPN Tools Tutorial CPN’05 October 25, 2005 Lisa Wells.
Application architectures
Establishing the overall structure of a software system
Interface-based Design Donald Chai EE249. Outline Orthogonalization of concerns Formalisms Interface-based Design Example Cheetah Simulator Future Inroads.
DEVS and DEVS Model Dr. Feng Gu. Cellular automata with fitness.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 The Component Interaction Domain: Modeling Event-Driven and Demand- Driven Applications.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Resource Management Reading: “A Resource Management Architecture for Metacomputing Systems”
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6 – Architectural Design Lecture 2 1Chapter 6 Architectural design.
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 13 Starting Design: Logical Architecture and UML Package Diagrams.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
DEVS Namespace for Interoperable DEVS/SOA
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
By Ezequiel Glinsky Research Assistant, University of Buenos Aires, Argentina Supervisor: Prof. Gabriel A. Wainer SCE, Carleton University Thursday, November.
1 LiSyC ENSIETA/DTN 02/04/2008 AADL execution semantics transformation for formal verification Joel Champeau, Thomas Abdoul, Pierre Yves Pillain, Philippe.
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.
Modeling with Parallel DEVS Serialization in DEVS models Select function Implicit serialization of parallel models E-DEVS: internal transition first,
A Software Framework for Distributed Services Michael M. McKerns and Michael A.G. Aivazis California Institute of Technology, Pasadena, CA Introduction.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
DEVS and SES as a Framework for Modeling and Simulation Tool Development Bernard P. Zeigler Arizona Center for Integrative Modeling and Simulation University.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
DEVS-based Modeling and Simulation References: 1.B. P. Zeigler, Hessam S. Sarjoughian, Introduction to DEVS Modeling and Simulation with JAVA: Developing.
CS223: Software Engineering
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
ECE 449/549 Class Notes #2 Introduction to Discrete-Event Systems Specification (DEVS) Sept
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
PDEVS Protocol Performance Prediction using Activity Patterns with Finite Probabilistic DEVS DEMO L. Capocchi, J.F. Santucci, B.P. Zeigler University of.
DEVS modeling of Traffic in AToM3 Presented by Ximeng Sun April 11, 2005.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Designing Software for Ease of Extension and Contraction
Model-Driven Analysis Frameworks for Embedded Systems
Software Architecture
Presentation transcript:

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

OUTLINE  Context – Motivation: Model-Driven Engineering – Purpose: Distributed discrete-event simulation  Model of a DEVS simulator – Main entities – Distributed & Fault-tolerance entities  Synthesis of a DEVS simulator – Code generation – Calibration & Optimization  Conclusion 2

MODEL-DRIVEN ENGINEERING (MDE) 3 Problem Domains (Domain-Specific) Modeling Languages Represent the System … Low-Level Software Artifacts Generate the Code How to bridge the gap?

MULTI-PARADIGM MODELING Model everything – at the most appropriate level of abstraction(s) – using the most appropriate formalism(s) – to reduce accidental complexity Techniques: – Meta-Modeling – Model Transformation – Model Checking 4

MOTIF [1] Designed our own transformation language But need to model all aspects of the language – Syntax: Meta-Model – Semantics: Mapping onto DEVS – Execution: DEVS simulator 5 [1] E. Syriani, H. Vangheluwe. A Modular Timed Graph Transformation Language for Simulation-based Design. Journal of Software and System Modeling: 11, pp Springer (2011).

NEED FOR DISTRIBUTED EXECUTION Model transformation is a resource-intensive activity Handle industrial-scale models with > 1,000,000 elements Inter-operability with other tools Distributed  Distributed execution of the transformations DEVS simulator  Distributed DEVS simulator Model  Model distributed DEVS simulator 6

2-FOLD ADVANTAGE For modeling & simulation – Explicit model of algorithms  rigorous analysis & re-use – Automatic synthesis of distributed simulation architecture – Systematic way of comparing performance between simulators – Execute distributed simulations without the physical expensive infrastructure For model transformation – Can handle large-scale models and time-intensive transformations – Support for geographically distributed users & resources 7

DISCRETE EVENT SYSTEM SPECIFICATION (DEVS) [1] Atomic DEVS – Timed automata – Independent from other models – Reacts to events – Interruptible 8 [1] B. P. Zeigler. Multifacetted Modelling and Discrete Event Simulation., Academic Press, ATOMIC

ATOMIC DEVS BEHAVIOR 9 S t  (s) (s,t 0 ) s s'' s' Y t tyty y1y1 (s)  int (s) X x1x1 txtx t txtx (s,t x )  ext ((s,e),x 1 ) (s 0,0) s0s0 0 (s',t y ) (s'',t x ) e

DISCRETE EVENT SYSTEM SPECIFICATION (DEVS) Coupled DEVS – Modular composition of sub-models – Select function: conflict serialization 10 C A1 A2 A3

THE FORMALISM Which formalism should we use to model a DEVS simulator? Why not DEVS itself! It is an ideal candidate for – Modeling complex systems – Modularly composing sub-systems – A single DEVS model can be simulated on many different platforms – Efficient simulators already exist 11

DEVS simulator entitiesDEVS model entities Atomic Solver Coordinator Root Coordinator Messages Communication Atomic DEVS Coupled DEVS Ports Events Channels 12 DEVS MODEL OF A DEVS SIMULATOR

EVENTS Simulators exchange 4 types of messages: – INIT (s 0, source, target, t) : initial state of model & simulation time – * (source, target, t) : internal transition due at specific time – X (x, source, target, t) : external input information at specific time – Y (y, source, target, t N ) : output information & next time advance – DONE (source, target, t N ) : acknowledge that a message has been handled Events for distributed management: – Reallocation – Control – Logging – Failure – RETURN 13

ATOMIC SOLVER State – Typical from a DEVS atomic solver – Active ports – Activity Where is the model stored? – Each atomic DEVS model lies in the state of the Atomic Solver – Safe since no other simulator will ever interact with another atomic DEVS model Syntax 14

ATOMIC SOLVER  ext – Reacts to each message received (INIT, *, X, REALLOC, CTRL) – Main algorithm from standard DEVS simulator  int : Clear some state variables (e.g., output mapping) : Output message to outport mapping: Y, DONE, RETURN, LOG Time advance – Simulated time vs. actual computation time – 0 if tN-tL   –  if inactive Semantics 15

COORDINATOR State, same as atomic solver +: – Typical from a DEVS coordinator – Active ports, activity: same as atomic solver – Coupled DEVS model – Active children – Local event list Syntax 16

COORDINATOR  ext – Reacts to all messages received  Select function is called upon receiving * message  Transfer function upon receiving X or Y – Main algorithm from standard DEVS simulator  int : Clear some state variables (e.g., output mapping) : Output message to outport mapping: *, Y, X, INIT, DONE, LOG Time advance – 0 if active and there is a message to output –  otherwise Semantics 17

ROOT COORDINATOR State: – Active ports, activity: same as atomic solver – Active children – Current simulation time – Termination condition Syntax 18

ROOT COORDINATOR  ext – Reacts to each message received (INIT, DONE, REALLOC, CTRL)  Upon receiving DONE: update simulation time – If termination condition not satisfied: send *  int : Clear some state variables (e.g., is initial) : Output message to outport mapping: *, INIT, LOG Time advance – 0 if DONE received –  otherwise Semantics 19

MODEL OF A DISTRIBUTED ENVIRONMENT Each simulation entity runs on a machine – Channels from simulator to each machine – 1 active channel at a time 20

MODEL OF A DISTRIBUTED ENVIRONMENT Local Coupling Table: atomic DEVS – Models the intra-machine communication of simulators – Maps each simulator running on machine to a unique port (active ports) – Queues messages received – Local search: delay sampled from uniform distribution (ms) – If target simulator not in LCT, send remote – No concurrency assumed on single machine: LCT waits for call-back (RETURN) from currently processing simulator before sending the next message in the queue Machine: Coupled DEVS 21

MODEL OF A DISTRIBUTED ENVIRONMENT Activity: atomic DEVS – Modal state: ACTIVE/INACTIVE – Generates failures – May generate revival message – Passivates the LCT Machine: Coupled DEVS 22

MODEL OF A DISTRIBUTED ENVIRONMENT Remote Coupling Table: atomic DEVS – Similar behavior as LCT – Keeps a mapping of each simulator in cluster to the machine it is running on – Remote search: delay sampled from uniform distribution ( ms) – No waiting for call-back to process next message in queue Network: Atomic DEVS 23

FAULT-TOLERANCE COMPONENTS Monitors each machine to detect failures Pings for activity status at regular interval times – Broadcast activity message – Waits until all machines respond – After timeout, notifies the Master which machines are alive and which are not Master-Monitor communication delay Monitor: Atomic DEVS 24

FAULT-TOLERANCE COMPONENTS Check pointing mechanism for state restoration Receives messages from each simulation entity – Simulator id, last message received, resulting state Cleanup mechanism – For every 3 rd message received from the same simulator, the 1 st one is removed Master-Log communication delay Log: Atomic DEVS 25

FAULT-TOLERANCE COMPONENTS Overall view – Communicates directly to simulators & machines – Receives failure notifications – Requests for logs Controls simulation execution – Initialize – Pause/ Resume Re-partitioning – Re-allocates which simulator should run on which machine – Delay sampled from uniform distribution Master: Atomic DEVS 26

OVERALL (META-)MODEL 27

IMPLEMENTATION Generic instantiation and parameterization Input of the simulation: – DEVS model to simulate – Termination condition (model-specific) – Initial partitioning on the machines (set of tuples) Simulator model generated at instantiation time – Code generation techniques – Reflexion Re-partitioning modelled with active/inactive channels – Random algorithm Problem: DEVS does not support variable structure 28

PARAMETERS OF SIMULATION EXPERIMENT 29

DEPLOYMENT Over a cluster of 32 machines PythonDEVS implementation Using Python Remote Object [2] middleware (RMI) Architecture synthesis – Input: simulation model + original DEVS model – Master, Monitor and Log are all on 1 machine, distinct from simulators – Instantiation through Factory pattern – Asynchronous broadcast simulation protocol 30 [2]

CALIBRATION Metrics – Performance – Failure detection Parameters – Timeout duration – Number of machines 31

CONCLUSION 32

FUTURE WORK ? 33 Work on time performance Completely automate the synthesis of simulators Optimize partitioning – Specific to the model transformation – Detect common “structural patterns” and evaluate if distributing their components results in a more time efficient transformation overall  Matching & Rewriting