McGill University School of Computer Science ‘07 Eugene Syriani and Hans Vangheluwe McGill University School of Computer Science 1.

Slides:



Advertisements
Similar presentations
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation.
Advertisements

McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe.
Eugene Syriani and Huseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab GraBaTS08 Eugene Syriani Hans Vangheluwe.
DEVS modeling of Traffic in AToM3 Presented by Ximeng Sun April 11, 2005.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe.
Modeling Main issues: What do we want to build How do we write this down.
McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab MSDL’08 Eugene Syriani.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation, and Design Lab MPM’10 Márk Asztalos, Eugene Syriani, Manuel.
Optimizing single thread performance Dependence Loop transformations.
Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
Marc Geilen, Eindhoven University of Technology, Information and Communication Systems 1 Object-Oriented Modelling and Specification.
Eugene Syriani * † Hans Vangheluwe * ‡ Amr Al Mallah * † * ‡ Tuscaloosa, AL Montreal, Canada Antwerp, Belgium.
Extended DEVSML as a Model Transformation Intermediary to Make UML Diagrams Executable Jianpeng Hu Dept. of Computer Science and Engineering Shanghai Jiao.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Semantic Translation of Simulink/Stateflow Models to Hybrid Automata using Graph Transformations A. Agarwal, Gy. Simon, G. Karsai ISIS, Vanderbilt University.
Hüseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
1 Statecharts for the many: Algebraic State Transition Diagrams Marc Frappier GRIL – Groupe de recherche en ingénierie du logiciel.
McGill University School of Computer Science COMP 763 Ph.D. Student in the Modelling, Simulation and Design Lab Eugene Syriani 1.
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
Rule Based Operational Semantics Specification in Ptolemy Yanwar Asrigo COMP 763B - Modeling and Simulation Based Design 30 th April 2008.
Object-Oriented Analysis and Design
Quantized State System Simulation in Dymola/Modelica Using the DEVS Formalism Tamara Beltrame VTT, Industrial Systems PO Box 1000, VM Espoo, Finland.
1 Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications.
Cpeg421-08S/final-review1 Course Review Tom St. John.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
Operational Semantics Semantics with Applications Chapter 2 H. Nielson and F. Nielson
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
November 21, 2005 Center for Hybrid and Embedded Software Systems Tivadar Szemethy, Institute for Software Integrated Systems, Vanderbilt University A.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Systems Analysis and Design in a Changing World, 3rd Edition
1 LiSyC ENSIETA/DTN 02/04/2008 AADL execution semantics transformation for formal verification Joel Champeau, Thomas Abdoul, Pierre Yves Pillain, Philippe.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
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.
Visual Specification of a DSL Processor Debugger Tamás Mészáros and Tihamér Levendovszky Budapest University of Technology and Economics.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 19 – Activity Diagrams.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Copyright 2001, Matt Dwyer, John Hatcliff, and Radu Iosif. The syllabus and all lectures for this course are copyrighted materials and may not be used.
Transforming DEVS to Non-Modular Form For Faster Cellular Space Simulation Arizona Center for Integrative Modeling and Simulation Electrical and Computer.
Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications Chapter.
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
Carnegie Mellon Vadim Zaliva, Franz Franchetti Carnegie Mellon University Department of Electrical and Computer Engineering Funded by the DARPA I2O HACMS.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
ECE 449/549 Class Notes #2 Introduction to Discrete-Event Systems Specification (DEVS) Sept
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
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.
DEVS modeling of Traffic in AToM3 Presented by Ximeng Sun April 11, 2005.
1 Hybrid Rule Scheduling in Story Driven Modeling a tool-independent approach by Bart Meyers Principal Adviser: prof. dr. Dirk Janssens Principal Co-Adviser:
SDN Network Updates Minimum updates within a single switch
Dynamic structure modelling for Causal Block Diagrams
Main issues: • What do we want to build • How do we write this down
2. Specification and Modeling
Chapter 4: Use Case Modeling
Graph-Based Operational Semantics
SyDEVS Introduction Theory – Paradigm – Implementation
Model Transformation with Hierarchical Discrete-Event Control
Model Transformation with Hierarchical Discrete-Event Control
Eugene Gavrin – MSc student
Model Transformation with the Ptera Controller
Presentation transcript:

McGill University School of Computer Science ‘07 Eugene Syriani and Hans Vangheluwe McGill University School of Computer Science 1

‘07 OVERVIEW  In the context  Overview of the Discrete EVent system Specification (DEVS) formalism  Building example with AToM 3  Graph Rewriting Control Flow (GRCF): Mimic AToM 3 and beyond  Summary 2

‘07 IN THE CONTEXT Model transformation: Programmed Graph Rewriting At least as expressive as: GreAT, VMTS, Fujaba, ProGreS, MOFLON Sequencing, Branching, Looping, Hierarchy, Parallelism Cleanly tear apart – Transformation entities – Control flow, structure, hierarchy DEVS gives us time and modularity too 3

‘07 OVERVIEW  In the context  Overview of the Discrete EVent system Specification (DEVS) formalism  Building example with AToM 3  Graph Rewriting Control Flow (GRCF): Mimic AToM 3 and beyond  Summary 4

‘07 OVERVIEW OF THE DEVS FORMALISM Bernard Zeigler, late ‘70s Basis for compositional modelling and simulation of discrete event systems Design, performance analysis and implementation 5

‘07 OVERVIEW OF THE DEVS FORMALISM Block: Atomic / Coupled Port: Inport / Outport Event Global time 6

‘07 OVERVIEW OF THE DEVS FORMALISM Atomic DEVS: – Time Advance – Output Function – Internal Transition –External Transition ATOMIC 7

‘07 OVERVIEW OF THE DEVS FORMALISM Coupled DEVS C A1 A2 A3 8

‘07 C OVERVIEW OF THE DEVS FORMALISM Coupled DEVS: – Select Function A1 A2 9

‘07 OVERVIEW OF THE DEVS FORMALISM class AExample(AtomicDEVS): def __init__(self): self.state = ExampleState() self.in = self.addInPort() self.out = self.addOutPort() def extTransition(self): X = self.peak(self.in)... return self.state def intTransition(self):... return self.state def outputFnc(self):... self.poke(self.out, Y) def timeAdvance(self): return 1 Our implementation: pythonDEVS class CExample(CoupledDEVS): def __init__(self): self.M1 = self.addSubModel(Example()) self.M2 = self.addSubModel(Example()) self.connectPorts(self.M1.out, self.M2.in) def select(self, immList): return immList[0] 10

‘07 OVERVIEW  In the context  Overview of the Discrete EVent system Specification (DEVS) formalism  Building example with AToM 3  Graph Rewriting Control Flow (GRCF): Mimic AToM 3 and beyond  Summary 11

‘07 BUILDING EXAMPLE WITH ATOM 3 [1] Simplified PacMan formalism [2] [1] de Lara J., Vangheluwe H., AToM 3 : A tool for multi-formalism and meta-modelling, LNCS (2002), [ 2] Heckel R., Graph Transformation in a nutshell, ENTCS (2006),

‘07 BUILDING EXAMPLE WITH ATOM 3 Build the Meta-Model of the PacMan formalism 13

‘07 BUILDING EXAMPLE WITH ATOM 3 Build the Graph Grammar 14

‘07 BUILDING EXAMPLE WITH ATOM 3 Build the Graph Grammar pacLink 3 ghostLink 3 1: return self.LHS.nodeWithLabel(1).score pacLink foodLink 6 4 pacLink P 1 P 2 15

‘07 BUILDING EXAMPLE WITH ATOM 3 Build the Graph Grammar gridLeft ghostLink gridLeft ghostLink gridRight pacLink gridRight pacLink 3 3 P 3 16

‘07 BUILDING EXAMPLE WITH ATOM 3 17

‘07 BUILDING EXAMPLE WITH ATOM 3 Capture a trace of execution – Keep log of used rules 18

‘07 OVERVIEW  In the context  Overview of the Discrete EVent system Specification (DEVS) formalism  Building example with AToM 3  Graph Rewriting Control Flow (GRCF): Mimic AToM 3 and beyond  Summary 19

‘07 GRAPH REWRITING CONTROL FLOW DEVS blocks – Atomic block: encapsulate the graph rewriting rule – Coupled block: encapsulate the graph grammar Events – Inport: recieve the host graph – Outport(s): send the transformed graph 20

‘07 GRAPH REWRITING CONTROL FLOW 21

‘07 GRAPH REWRITING CONTROL FLOW Model AToM 3 ’s graph transformation engine Input graph Step Send graph to transform Transformed graph Rules used 22

‘07 GRAPH REWRITING CONTROL FLOW Graph transformation engine g_out out_step done_rcv g_initdone_sendin_stepg_out g_modified g_unmodified g_in g_succeed match_fail match_succeed g_in match_fail trace trace g_in g_fail trace match_succeed 23

‘07 GRAPH REWRITING CONTROL FLOW Managing priorities g_in match_fail g_in g_in abort match_succeed Priority n g_in abort abort out_fail match_fail match_succeed in_successin_fail out_success g_succeed g_fail Priority n+1 Non-determinism: Randomize select function 24

‘07 GRAPH REWRITING CONTROL FLOW Use compiled version of AToM 3 ’s rule class pacDie:... 25

‘07 import compiled rules… GRAPH REWRITING CONTROL FLOW class AExample(AtomicDEVS): def __init__(self): self.state = ExampleState() self.in = self.addInPort() self.out = self.addOutPort() def extTransition(self): X = self.peak(self.in)... return self.state def intTransition(self):... return self.state def outputFnc(self):... self.poke(self.out, Y) def timeAdvance(self): return 1 26

‘07 GRAPH REWRITING CONTROL FLOW Extension of AToM 3 ’s graph transformation engine g_outout_step g_init done_send in_step done_rcv g_out g_succeed g_failg_ing_fail g_modifiedg_unmodified g_in out_control control_out control_in in_control 27

‘07 GRAPH REWRITING CONTROL FLOW Extension of AToM 3 ’s graph transformation engine g_incontrol_in keyg_in g_up g_down g_in match_succeedmatch_fail g_in match_succeedmatch_fail g_in match_succeedmatch_fail g_in match_fail g_left out_fail in_successin_fail out_success g_succeedg_fail match_succeed g_right 28

‘07 match_fail g_in match_fail g_in GRAPH REWRITING CONTROL FLOW Extension of AToM 3 ’s graph transformation engine g_ing_succeed match_succeed g_in g_fail match_succeed match_fail match_succeed 29

‘07 OVERVIEW  In the context  Overview of the Discrete EVent system Specification (DEVS) formalism  Building example with AToM 3  Graph Rewriting Control Flow (GRCF): Mimic AToM 3 and beyond  Summary 30

‘07 SUMMARY Sequence Branching Looping Hierarchy + Modularity Parallelism Control flow structure properties satisfied 31

‘07 Are we at the right level of abstraction? Is it the way industry should go in model transformation? 32

‘07 DEVS DEVS “[...] the rule execution semantics is similar to the execution semantics of asynchronous dataflow graphs and DEVS, but with a difference in the hierarchical rule execution. [...] the class diagrams Figs. 14 and 15 introduce the same concepts as found in DEVS.” A. Agrawal et al. The design of a language for model transformations. SoSym,

‘07 CONCLUSION AND FUTURE WORK DEVS is a sequential, deterministic formalism Parallel-DEVS Kiltera (CSP-like languages) Parallelism 34

‘07 CONCLUSION AND FUTURE WORK Metric, Statistics Timed graph transformation Real-Time DEVS Time 35

‘07 CONCLUSION AND FUTURE WORK Event-driven Graph Rewriting Modelling of the user User - Events 36

‘07 CONCLUSION AND FUTURE WORK Optimization hints Information on the flow Replace python code by... Statechart? Multi-formalism Add an AI block in the autonomous rules Some Extensions 37

‘07 GRAPH REWRITING CONTROL FLOW class AExample(AtomicDEVS): def __init__(self): self.state = ExampleState() self.in = self.addInPort() self.out = self.addOutPort() def extTransition(self): X = self.peak(self.in)... return self.state return 1 e(AtomicDEVS): def ___(self): self.state = ExampleState() self.in = self.addInPort() self.out = hsdhfjhb Sdvjvkv Ds v return 1 classself.state = ExampleState() sdvv self.in = self.addInPort() self.out = self.addOutPort() def extTransition(self): X = self.peak(self.in)... return sdsdfsdfsdfsfsdfsdf In AToM 3 Outside AToM 3 38