Dynamic structure modelling for Causal Block Diagrams

Slides:



Advertisements
Similar presentations
Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
Advertisements

McGill University School of Computer Science ‘07 Eugene Syriani and Hans Vangheluwe McGill University School of Computer Science 1.
Control Structures Any mechanism that departs from straight-line execution: –Selection: if-statements –Multiway-selection: case statements –Unbounded iteration:
Program Representations. Representing programs Goals.
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
Common Sub-expression Elim Want to compute when an expression is available in a var Domain:
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Leveraging Synchronous Language Principles for Hybrid System Models Haiyang Zheng and.
Representing programs Goals. Representing programs Primary goals –analysis is easy and effective just a few cases to handle directly link related things.
1 Intermediate representation Goals: –encode knowledge about the program –facilitate analysis –facilitate retargeting –facilitate optimization scanning.
Chess Review May 11, 2005 Berkeley, CA Operational Semantics of Hybrid Systems Haiyang Zheng and Edward A. Lee With contributions from the Ptolemy group.
Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.
Another example p := &x; *p := 5 y := x + 1;. Another example p := &x; *p := 5 y := x + 1; x := 5; *p := 3 y := x + 1; ???
CS189A/172 - Winter 2008 Lecture 7: Software Specification, Architecture Specification.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Direction of analysis Although constraints are not directional, flow functions are All flow functions we have seen so far are in the forward direction.
Program Analysis Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Precision Going back to constant prop, in what cases would we lose precision?
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
Department of Computer Science A Static Program Analyzer to increase software reuse Ramakrishnan Venkitaraman and Gopal Gupta.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
“Software” Esterel Execution (work in progress) Dumitru POTOP-BUTUCARU Ecole des Mines de Paris
CHAPTER 4: CONTROL STRUCTURES - SEQUENCING 10/14/2014 PROBLEM SOLVING & ALGORITHM (DCT 1123)
2Object-Oriented Program Development Using C++ 3 Basic Loop Structures Loops repeat execution of an instruction set Three repetition structures: while,
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
CPS 506 Comparative Programming Languages Syntax Specification.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
C H A P T E R T W O Linking Syntax And Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
Principles of Programming & Software Engineering
Chapter 2 Writing Simple Programs
Chapter 3 – Describing Syntax
Basic Program Analysis
Code Optimization.
IAY 0600 Digitaalsüsteemide disain
DDC 2423 DATA STRUCTURE Main text:
CHAPTER 6: REPETITION AND LOOP STATEMENTS
Topic: Python’s building blocks -> Statements
CPE555A: Real-Time Embedded Systems
Python: Control Structures
Dataflow analysis.
Overview of Compilation The Compiler Front End
Overview of Compilation The Compiler Front End
Representation, Syntax, Paradigms, Types
Topic: Functions – Part 2
Demeter Aspects Who We Are Aspectual Collaborations
Event Relation Graphs and Extensions in Ptolemy II
Loops CS140: Introduction to Computing 1 Savitch Chapter 4 Flow of Control: Loops 9/18/13 9/23/13.
Model Transformation with Hierarchical Discrete-Event Control
Hardware Description Languages
Implementing Language Extensions with Model Transformations
CS1100 Computational Engineering
Structural style Modular design and hierarchy Part 1
Multiple Aspect Modeling of the Synchronous Language Signal
Modeling Heterogeneous Semantics in Ptolemy
Representation, Syntax, Paradigms, Types
VHDL Discussion Subprograms
Iterative Constructs Review
Representation, Syntax, Paradigms, Types
VHDL Discussion Subprograms
Changyoon Lee, Donghoon Han, Hyoungwook Jin
Data Types and Expressions
Representation, Syntax, Paradigms, Types
Implementing Language Extensions with Model Transformations
IP Reuse through Machine Learning
Presentation transcript:

Dynamic structure modelling for Causal Block Diagrams Master Thesis by Yves Maris Promotors: Fernando Barros, Hans Vangheluwe

Overview Background: Causal Block Diagrams Problem statement Syntax Semantics Problem statement Dynamic structure CBD Implementation Case study: elevator model

Overview Background: Causal Block Diagrams (CBD) Problem statement Syntax Semantics Problem statement Dynamic structure CBD Implementation Case study: elevator model

Causal Block Diagrams Abstract Syntax

Causal Block Diagrams Visual Syntax

Overview Background: Causal Block Diagrams (CBD) Problem statement Syntax Semantics Problem statement Dynamic structure CBD Implementation Case study: elevator model

Causal Block Diagrams semantics

Background: flattening Purely syntactical Needed for loop detection

Background: Evaluation Order Dependenties beween blocks Topological sort

Loop detection Strong component algorithm Use gausian solver for implicit solution

Overview Background: Causal Block Diagrams (CBD) Problem statement Syntax Semantics Problem statement Dynamic structure CBD Implementation Case study: elevator model

Problem Statement Expressiveness limited by fixed structure Changing model during simulation Staying consistent with CBD constructs

Schedule Background: Causal Block Diagrams Problem statement Dynamic structure CBD Syntax Semantics Implementation Case study: elevator model

Abstract Syntax

Visual syntax: implicit representation Trigger received trough CBD input port Added structures: green Removed structures: red

Visual syntax: explicit representation Reuse of existing graph transformation syntax Left-hand side before Right-hand side after Trigger trough input port

Visual syntax: hybrid representation Mix between implicit and explicit representation Implicit representation separated by block Simulated model isolated

Visual syntax: comparison Implicit representation not expressive enough Hybrid representation Same expressiveness as explicit representation More compact

Overview Background: Causal Block Diagrams (CBD) Problem statement Syntax Semantics Problem statement Dynamic structure CBD Visual syntax Implementation Case study: elevator model

Related work Hybrid CBD Dynamic structure DEVS (DSDEVS) Mustafiz, Sadaf, et al. "Towards Modular Language Design Using Language Fragments: The Hybrid Systems Case Study." Information Technology: New Generations. Springer International Publishing, 2016. 785-797. Uses signal crossing Dynamic structure DEVS (DSDEVS) Barros, Fernando J. "Modeling formalisms for dynamic structure systems."ACM Transactions on Modeling and Computer Simulation (TOMACS) 7.4 (1997): 501-515. Hetrogeneous flow systems Barros, Fernando J. "Dynamic structure multiparadigm modeling and simulation." ACM Transactions on Modeling and Computer Simulation (TOMACS) 13.3 (2003): 259-275. Use of model executive

Triggering a change: zero crossing Piecewise constant signal to “event” Pre and post condition Implemented using basic blocks

Triggering a change: zero crossing Signal must cross zero from below Previous iteration: condition must be not satisfied Current iteration: condition must be satisfied

Triggering a change: timed event Generating “event” after a fixed number of timesteps Value determined when intialised

Modeling a change: structure block Features of a dynamic structure formalism Identification of existing structures Creation of new structures Removal of existing structures Initialisation of values

Modeling a change: structure block Structure block = adapted CBD specification Structure function for modelling change Multiple input/ no output ports Default 1: event that triggers a change Other input ports for initialisation of values Changes apply only to one CBD! (hierarchical)

Modeling a change: examples

Modeling a change: examples

Adapted operational semantics

Overview Background: Causal Block Diagrams (CBD) Problem statement Syntax Semantics Problem statement Dynamic structure CBD Implementation Case study: elevator model

Implementation

Implementation: AToMPM Visual modeling enviroment

Metadepth Exported AToMPM model using built in functionality Supports EGL for code generation

XML Readable models Consistent declarations Remove tags

Python Parser generates code including structure functions Simulator implemented in python Extended CBD simulator from MOSIS course

Debugging Test driven development Traces

Overview Background: Causal Block Diagrams (CBD) Problem statement Syntax Semantics Problem statement Dynamic structure CBD Implementation Case study: elevator model

Case Study Balls in elevator Doors open when elevator reaches floor Balls can enter and leave elevator trough door

Modeling a Ball

Position with constant velocity

Position with constant acceleration

Velocity CBD for elevator wall

Demo

Future work Advanced scheduling of structure blocks Optimisation techniques Comparison to other methods (hybrid systems)

Questions?