SCCharts. Sequentially Constructive Charts

Size: px
Start display at page:

Download "SCCharts. Sequentially Constructive Charts"

Transcription

1 SCCharts Sequentially Constructive Charts Reinhard von Hanxleden, Björn Duderstadt, Christian Motika, Steven Smyth, Michael Mendler, Joaquin Aguado, Stephen Mercer, and Owen O Brien Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität zu Kiel, Germany SYNCHRON 13 Dagstuhl, 19 Nov Christian Motika Sequentially Constructive Charts (SCCharts) 1 / 34

2 Motivation Contribution Overview Reactive Embedded Systems Embedded systems react to inputs with computed outputs Typically state based computations Computations often exploit concurrency Threads Threads are problematic Synchronous languages: Lustre, Esterel, SCADE, SyncCharts Christian Motika Sequentially Constructive Charts (SCCharts) 2 / 34

3 Motivation Contribution Overview SyncCharts Statechart dialect for specifying deterministic & robust concurrency SyncCharts: Hierarchy, Concurrency, Broadcast Synchrony Hypothesis 1. Discrete ticks 2. Computations: Zero time Charles André, Semantics of SyncCharts, 2003 [Gerald Lüttgen, 2001] Christian Motika Sequentially Constructive Charts (SCCharts) 3 / 34

4 Motivation Contribution Overview Causality in SyncCharts Christian Motika Sequentially Constructive Charts (SCCharts) 4 / 34

5 Motivation Contribution Overview Causality in SyncCharts (cont d) Rejected by SyncCharts compiler Signal Coherence Rule May seem awkward from SyncCharts perspective, but common paradigm Deterministic sequential execution possible using Sequentially Constructive MoC Sequentially Constructive Charts (SCCharts) Christian Motika Sequentially Constructive Charts (SCCharts) 5 / 34

6 Motivation Contribution Overview Overview SCCharts Overview Normalizing Core SCCharts Implementation in KIELER Demo Christian Motika Sequentially Constructive Charts (SCCharts) 6 / 34

7 Overview Features Core Transformations SCCharts Overview SCCharts = SyncCharts syntax + Seqentially Constructive semantics Hello World of Sequential Constructiveness: ABO Variables instead of signals Behavior (briefly) 1. Initialize 2. Concurrently wait for inputs A or B to become true 3. Once A and B are true after the initial tick, take Termination 4. Sequentially set O1 and O2 Christian Motika Sequentially Constructive Charts (SCCharts) 7 / 34

8 Overview Features Core Transformations SCCharts - Features Christian Motika Sequentially Constructive Charts (SCCharts) 8 / 34

9 Interface declaration Region ID Transition trigger/effect Initial state Transition priority Immediate transition Suspension Connector Count Delay History transition Conditional termination Root state Local declaration Superstate Anonymous simple states Termination Named simple states Final state Signal Entry/During/Exit actions Deferred transition Strong abort Pre-Operator Weak abort

10 Overview Features Core Transformations Motivation Interface declaration Region ID Transition trigger/effect Initial state Transition priority Immediate transition Suspension Connector Count Delay History transition Conditional termination Root state Local declaration Superstate Anonymous simple states Termination Named simple states Final state Signal Entry/During/Exit actions Deferred transition Strong abort Pre-Operator Weak abort Numerous features Readability of models Compilation & verification more complex Various features can be expressed by other ones Syntactic sugar Minimal base language (Core SCCharts) + advanced features (Extended SCCharts) Define extended features by means of base features Extensible Similar to Esterel Kernel Statements & Statement Expansion Christian Motika Sequentially Constructive Charts (SCCharts) 10 / 34

11 Overview Features Core Transformations SCCharts - Core & Extended Features Christian Motika Sequentially Constructive Charts (SCCharts) 11 / 34

12 Overview Features Core Transformations Overview SCCharts Overview Normalizing Core SCCharts Implementation in KIELER Demo Christian Motika Sequentially Constructive Charts (SCCharts) 12 / 34

13 Connector Signal Strong Abort SCCharts - Core Transformations Examples Interface declaration Region ID Transition trigger/effect Initial state Transition priority Immediate transition Suspension Connector Count Delay History transition Conditional termination Root state Local declaration Superstate Anonymous simple states Termination Named simple states Final state Signal Entry/During/Exit actions Deferred transition Strong abort Pre-Operator Weak abort Christian Motika Sequentially Constructive Charts (SCCharts) 13 / 34

14 Connector Signal Strong Abort Transforming Connectors Extended SCCharts with Connectors Core SCCharts without Connectors Christian Motika Sequentially Constructive Charts (SCCharts) 14 / 34

15 Connector Signal Strong Abort Transforming Signals Christian Motika Sequentially Constructive Charts (SCCharts) 15 / 34

16 Connector Signal Strong Abort SyncChart and SCChart ABRO Charles André, Semantics of SyncCharts, ABRO SCChart Christian Motika Sequentially Constructive Charts (SCCharts) 16 / 34

17 Connector Signal Strong Abort ABRO - Transforming Strong Aborts. Core SCChart without Strong Abort ABRO SCChart with Strong Abort Write-Things-Once (WTO) principle violated Christian Motika Sequentially Constructive Charts (SCCharts) 17 / 34

18 Connector Signal Strong Abort ABRO - Transforming Strong Aborts (cont d). Core SCChart without Strong Abort and WTO ABRO SCChart with Strong Abort Christian Motika Sequentially Constructive Charts (SCCharts) 18 / 34

19 Connector Signal Strong Abort Transforming General Aborts Extended SCCharts with Aborts. Core SCCharts with one Termination Christian Motika Sequentially Constructive Charts (SCCharts) 19 / 34

20 Connector Signal Strong Abort Overview SCCharts Overview Normalizing Core SCCharts Implementation in KIELER Demo Christian Motika Sequentially Constructive Charts (SCCharts) 20 / 34

21 Normalization Modeling SCCharts & Demo Conclusion Normalization Further simplify compilation process for Core SCCharts Allowed patterns: Region Superstate Trigger Action State (connected states) (parallel regions) (conditionals) (assignments) (tick boundary) Christian Motika Sequentially Constructive Charts (SCCharts) 21 / 34

22 Normalization Modeling SCCharts & Demo Conclusion Actions Normalization Core SCChart before normalization Core SCChart after normalization Christian Motika Sequentially Constructive Charts (SCCharts) 22 / 34

23 Normalization Modeling SCCharts & Demo Conclusion Actions Normalization (cont d) Core SCChart before normalization Core SCChart after normalization Christian Motika Sequentially Constructive Charts (SCCharts) 23 / 34

24 Normalization Modeling SCCharts & Demo Conclusion Actions Normalization Implementation Example 1 def void transformtriggeractions(transition transition) { 2 if (((transition.trigger!= null!transition.immediate) 3 &&!transition.actions.nullorempty) transition.actions.size > 1) { 4 5 val targetstate = transition.targetstate 6 val parentregion = targetstate.parentregion 7 val transitionoriginaltarget = transition.targetstate 8 9 var Transition lasttransition = transition for (action : transition.actions.immutablecopy) { val actionstate = parentregion.createstate(targetstate.id + action.id) 14 actionstate.settypeconnector val actiontransition = createimmediatetransition.addaction(action) 17 actiontransition.setsourcestate(actionstate) lasttransition.settargetstate(actionstate) 20 lasttransition = actiontransition 21 } lasttransition.settargetstate(transitionoriginaltarget) 24 } 25 } Christian Motika Sequentially Constructive Charts (SCCharts) 24 / 34

25 Normalization Modeling SCCharts & Demo Conclusion Trigger Normalization Core SCChart before normalization Core SCChart after normalization (Surface & Depth) Christian Motika Sequentially Constructive Charts (SCCharts) 25 / 34

26 Normalization Modeling SCCharts & Demo Conclusion Trigger Normalization (Cont d) Core SCChart before normalization Core SCChart after optimized normalization Christian Motika Sequentially Constructive Charts (SCCharts) 26 / 34

27 Normalization Modeling SCCharts & Demo Conclusion ABO - Normalization Example (Actions) ABO Core SCChart. ABO Core SCChart with normalized actions Christian Motika Sequentially Constructive Charts (SCCharts) 27 / 34

28 Normalization Modeling SCCharts & Demo Conclusion ABO - Normalization Example (Actions & Trigger) ABO Core SCChart with normalized actions. ABO Normalized SCChart Christian Motika Sequentially Constructive Charts (SCCharts) 28 / 34

29 Normalization Modeling SCCharts & Demo Conclusion Overview SCCharts Overview Normalizing Core SCCharts Implementation in KIELER Demo Christian Motika Sequentially Constructive Charts (SCCharts) 29 / 34

30 Normalization Modeling SCCharts & Demo Conclusion Textual Modeling with KLighD Eclipse based KIELER framework Textual modeling based on Xtext Syntax highlighting Code completion Formatter Transient view based on KLighD [C. Schneider et al., VL/HCC 13] Christian Motika Sequentially Constructive Charts (SCCharts) 30 / 34

31 Normalization Modeling SCCharts & Demo Conclusion SCCharts Demo LIVE DEMO Christian Motika Sequentially Constructive Charts (SCCharts) 31 / 34

32 Normalization Modeling SCCharts & Demo Conclusion Conclusions SyncCharts are a great choice for specifying deterministic control-flow behavior but does not accept sequentiality If (!done) {... ; done = true;} SCCharts extend SyncCharts w.r.t. semantics Sequentially Constructive MoC All valid SyncCharts interpreted as SCCharts keep their meaning Core SCCharts: Few basic features for simpler & more robust compilation Extended SCCharts: Syntactic sugar, readability, extensible Normalized SCCharts: Further ease compilation Reinhard will give details :-) Christian Motika Sequentially Constructive Charts (SCCharts) 32 / 34

33 Normalization Modeling SCCharts & Demo Conclusion To Go Further CHARLES ANDRÉ. Semantics of SyncCharts, GÉRARD BERRY. The Esterel v5 Language Primer, SCHNEIDER, C., SPÖNEMANN, M., AND VON HANXLEDEN, R. Just model! Putting automatic synthesis of node-link-diagrams into practice. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 13) (San Jose, CA, USA, Sept. 2013). UNI KIEL, REAL-TIME AND EMBEDDED SYSTEMS GROUP. KIELER webpage. VON HANXLEDEN, R., LEE, E. A., MOTIKA, C., AND FUHRMANN, H. Multi-view modeling and pragmatics in 2020 position paper on designing complex cyber-physical systems. In Proceedings of the 17th International Monterey Workshop on Development, Operation and Management of Large-Scale Complex IT Systems, LNCS (Oxford, UK, Dec. 2012), vol VON HANXLEDEN, R., MENDLER, M., AGUADO, J., DUDERSTADT, B., FUHRMANN, I., MOTIKA, C., MERCER, S., AND O BRIEN, O. Sequentially Constructive Concurrency A conservative extension of the synchronous model of computation. Christian In Proc. Motika Design, Automation and Test in Europe Sequentially Conference Constructive (DATE 13) Charts (Grenoble, (SCCharts) France, Mar. 2013), IEEE, 33 / 34

34 Normalization Modeling SCCharts & Demo Conclusion That s all folks! Any questions or suggestions? Christian Motika Sequentially Constructive Charts (SCCharts) 34 / 34

35 Sequentially Constructive MoC Natural sequencing prescribes deterministic scheduling stmt1; stmt2 trigger/effect Only concurrent data dependencies matter Sequential data dependencies do not lead to rejection Deterministic concurrent scheduling: Distinguish between relative and absolute writes Absolute writes: x = false Relative writes: x = x true Reads: y = x (1) Absolute writes, (2) relative writes, (3) reads Sequentially Constructiveness fully subsumes Berry Constructiveness Christian Motika Sequentially Constructive Charts (SCCharts) 35 / 34

36 Concurrency with Threads Typical observer pattern implemented with Java Threads 1 public class ValueHolder { 2 private List listeners = new LinkedList(); 3 private int value; 4 public interface Listener { 5 public void valuechanged(int newvalue); 6 } 7 public void addlistener(listener listener) { 8 listeners.add(listener); 9 } 10 public void setvalue(int newvalue) { 11 value = newvalue; 12 Iterator i = listeners.iterator(); 13 while(i.hasnext()) { 14 ((Listener)i.next()).valueChanged(newValue); 15 } 16 } 17 } E. A. Lee, The Problem with Threads, 2006 Not thread safe! E.g., multiple threads call setvalue(). Christian Motika Sequentially Constructive Charts (SCCharts) 36 / 34

37 Synchronous Program Classes Sequentially Constructive (S) y=x 1 par if (!x 0 ) x 1 =1 if (x) x=1 if (!x) x=1 if (x and y) x=1 if (x) x=1 par if (!y) z=1 par if (!z) {y=1; z=1} Pnueli-Shalev Constructive (P) P P P PS Speculate on absence Berry Constructive (B) if (x) then y=z par Static cycles if (!x) then z=y Dynamic scheduling P S Sequences P of values AS P APS PALPS P LPS P BLPS P ABLPS Ineffective writes P LP if (!x) y=1 par if (!y) {x=1; y=1} P ALS if (x) y=1 par if (y) x=1 else {x=1; y=1} if (x) x=1 else x=1 PLS x 0 =1; {if (x 0 ) then y=1 par if (y) then x 1 =1} Out-of-order scheduling Speculate on absence or presence P L Cycle of concurrent dependencies Logically Correct (L) Acyclic SC (A) or, concurrent writes if (x) x=1 par if (!x) x=1 P 0 if (!x) y=1 par if (!y) x=1 All Programs Christian Motika Sequentially Constructive Charts (SCCharts) 37 / 34

Updates on SCCharts Christian Motika Steven Smyth

Updates on SCCharts Christian Motika Steven Smyth Updates on SCCharts Updates on SCCharts Christian Motika Steven Smyth SYNCHRON 2015 04. DEC 2015, Kiel 1 Reactive System Updates on SCCharts Safety-critical systems State based reactions Concurrency Synchronous

More information

Reinhard v. Hanxleden 1, Michael Mendler 2, J. Aguado 2, Björn Duderstadt 1, Insa Fuhrmann 1, Christian Motika 1, Stephen Mercer 3 and Owen Brian 3

Reinhard v. Hanxleden 1, Michael Mendler 2, J. Aguado 2, Björn Duderstadt 1, Insa Fuhrmann 1, Christian Motika 1, Stephen Mercer 3 and Owen Brian 3 Sequentially Constructive Concurrency * A conservative extension of the Synchronous Model of Computation Reinhard v. Hanxleden, Michael Mendler 2, J. Aguado 2, Björn Duderstadt, Insa Fuhrmann, Christian

More information

Interactive Esterel to SyncCharts Transformation. Christian Motika

Interactive Esterel to SyncCharts Transformation. Christian Motika Interactive Esterel to SyncCharts Transformation for executing Esterel with Ptolemy Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität

More information

Compiling SCCharts A Case-Study on Interactive Model-Based Compilation

Compiling SCCharts A Case-Study on Interactive Model-Based Compilation Compiling SCCharts A Case-Study on Interactive Model-Based Compilation Christian Motika, Steven Smyth, and Reinhard von Hanxleden Real-Time and Embedded Systems Group, Department of Computer Science Christian-Albrechts-Universität

More information

Synchronous Statecharts. Christian Motika

Synchronous Statecharts. Christian Motika Execution (KlePto) Esterel to transformation (KIES) Synchronous Statecharts for executing Esterel with Ptolemy Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science

More information

Overview. Synchronous Languages Lecture 12. Code Generation for Sequential Constructiveness. Compilation Overview. The 5-Minute Review Session

Overview. Synchronous Languages Lecture 12. Code Generation for Sequential Constructiveness. Compilation Overview. The 5-Minute Review Session Synchronous Languages Lecture 12 Overview Prof. Dr. Reinhard von Hanxleden Steven Smyth Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and Embedded Systems Group

More information

Executing SyncCharts with Ptolemy

Executing SyncCharts with Ptolemy Executing SyncCharts with Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität zu Kiel, Germany KIEL ER SYNCHRON Workshop 2010 Frejús,

More information

Sequential Constructiveness, SCL and SCCharts

Sequential Constructiveness, SCL and SCCharts Sequential Constructiveness, SCL and SCCharts Incorporating synchrony in conventional languages Reinhard von Hanxleden (U Kiel) 14 March 2018, Collège de France Reactive Systems pause input I output O

More information

Synchronous Dataflow Processong

Synchronous Dataflow Processong Synchronous Dataflow Processong Claus Traulsen and Reinhard von Hanxleden Christian-Albrechts Universität zu Kiel Echtzeitsysteme / Eingebettete Systeme March 00 CAU Claus Traulsen / 8 Outline Motivation

More information

The Problem with Threads

The Problem with Threads The Problem with Threads Author Edward A Lee Presented by - Varun Notibala Dept of Computer & Information Sciences University of Delaware Threads Thread : single sequential flow of control Model for concurrent

More information

The Problem with Treads

The Problem with Treads The Problem with Treads Edward A. Lee Programming Technology Lecture 2 11/09/08 Background on Edward A. Lee Bachelors degree (Yale University) (1979) Master degree (MIT) (1981) Ph.D. (U. C. Berkeley) (1986)

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-2011, Edward A. Lee, All rights

More information

A Data-Flow Approach for Compiling the Sequentially Constructive Language (SCL)

A Data-Flow Approach for Compiling the Sequentially Constructive Language (SCL) A Data-Flow Approach for Compiling the Sequentially Constructive Language (SCL) Steven Smyth, Christian Motika, and Reinhard von Hanxleden Real-Time and Embedded Systems Group, Department of Computer Science

More information

Prof. Dr. Reinhard von Hanxleden. Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and Embedded Systems Group

Prof. Dr. Reinhard von Hanxleden. Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and Embedded Systems Group Design of Embedded Systems: Models, Validation and Synthesis (EE 249) Lecture 4a Prof. Dr. Reinhard von Hanxleden Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and

More information

Interactive Incremental Hardware Synthesis

Interactive Incremental Hardware Synthesis Interactive Incremental Hardware Synthesis for SCCharts Francesca Rybicki Bachelor Thesis March 2016 Kiel University Prof. Dr. von Hanxleden Real-Time and Embedded Systems Advised by: Dipl.-Inf. Christian

More information

States Transitions Connectors Esterel Studio

States Transitions Connectors Esterel Studio Time in Differences SyncCharts differ from other implementations of : Synchronous framework Determinism Compilation into backend language Esterel No interpretation for simulations No hidden behaviour Multiple

More information

Analyzing Robustness of UML State Machines

Analyzing Robustness of UML State Machines Analyzing Robustness of UML State Machines Reinhard von Hanxleden Department of Computer Science and Applied Mathematics Real-Time Systems and Embedded Systems Group Christian-Albrecht Universität zu Kiel

More information

Synchronous Languages Lecture 07

Synchronous Languages Lecture 07 Synchronous Languages Lecture 07 Prof. Dr. Reinhard von Hanxleden Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and Embedded Systems Group 27 May 2015 Last compiled:

More information

Removing Cycles in Esterel Programs

Removing Cycles in Esterel Programs Removing Cycles in Esterel Programs Dissertation zur Erlangung des akademischen Grades Doktor der Naturwissenschaften (Dr. rer. nat.) der Technischen Fakultät der Christian-Albrechts-Universität zu Kiel

More information

Reactive Parallel Processing for Synchronous Dataflow

Reactive Parallel Processing for Synchronous Dataflow Reactive Parallel Processing for Synchronous Dataflow Claus Traulsen and Reinhard von Hanxleden Real-Time and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität zu Kiel

More information

Submitted to Special Issue on Application of Concurrency to System Design

Submitted to Special Issue on Application of Concurrency to System Design Submitted to Special Issue on Application of Concurrency to System Design A Sequentially Constructive Concurrency A Conservative Extension of the Synchronous Model of Computation REINHARD VON HANXLEDEN,

More information

SyncCharts in C. Reinhard von Hanxleden

SyncCharts in C. Reinhard von Hanxleden SyncCharts in C Reinhard von Hanxleden Real-Time and Embedded Systems Group (RTSYS) Department of Computer Science Christian-Albrechts-Universität zu Kiel www.informatik.uni-kiel.de/rtsys EMSOFT 09, Grenoble,

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK A Sequentially Constructive Circuit Semantics for Esterel Alexander Schulz-Rosengarten, Steven Smyth, Reinhard von Hanxleden, Michael Mendler Bericht Nr. 1801 February 2018 ISSN

More information

Synchronous C + WCRT Algebra 101

Synchronous C + WCRT Algebra 101 Synchronous C + 101 Reinhard von Hanxleden Joint work with Michael Mendler, Claus Traulsen,... Real-Time and Embedded Systems Group (RTSYS) Department of Computer Science Christian-Albrechts-Universität

More information

Interactive Transformations for Visual Models

Interactive Transformations for Visual Models Interactive Transformations for Visual Models Ulf Rüegg, Christian Motika, Reinhard von Hanxleden Christian-Albrechts-Universität zu Kiel {uru,cmot,rvh}@informatik.uni-kiel.de Abstract: Model transformations

More information

Specifications Part 1

Specifications Part 1 pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification

More information

Modal Models in Ptolemy

Modal Models in Ptolemy Modal Models in Ptolemy Edward A. Lee Stavros Tripakis UC Berkeley Workshop on Equation-Based Object-Oriented Modeling Languages and Tools 3rd International Workshop on Equation-Based Object-Oriented Modeling

More information

EE382N.23: Embedded System Design and Modeling

EE382N.23: Embedded System Design and Modeling EE382N.23: Embedded System Design and Modeling Lecture 3 Language Semantics Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture 3: Outline

More information

Hierarchical FSMs with Multiple CMs

Hierarchical FSMs with Multiple CMs Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung

More information

A SyncCharts Editor based on YAKINDU SCT

A SyncCharts Editor based on YAKINDU SCT Christian-Albrechts-Universität zu Kiel Master Thesis A SyncCharts Editor based on YAKINDU SCT cand. inform. Wahbi Haribi March 14, 2013 Department of Computer Science Real-Time and Embedded Systems Group

More information

PROGRAM ANALYSIS & SYNTHESIS

PROGRAM ANALYSIS & SYNTHESIS Lecture 02 Structural Operational Semantics (SOS) PROGRAM ANALYSIS & SYNTHESIS EranYahav 1 Previously static analysis over-approximation of program behavior abstract interpretation abstraction, transformers,

More information

Programming Deterministic Reactive Systems with Synchronous Java

Programming Deterministic Reactive Systems with Synchronous Java Programming Deterministic Reactive Systems with Synchronous Java Christian Motika and Reinhard von Hanxleden and Mirko Heinold Dept. of Computer Science Christian-Albrechts-Unversität zu Kiel 24098 Kiel,

More information

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15 12 Specifications Peter Marwedel TU Dortmund, Informatik 12 2008/11/15 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Structure of this course Application Knowledge 3: Embedded System HW 2: Specifications

More information

Predictable multithreading of embedded applications using PRET-C

Predictable multithreading of embedded applications using PRET-C Predictable multithreading of embedded applications using PRET-C Sidharta Andalam University of Auckland New Zealand Interactive Presentation March 2010 Andalam (UoA) PRET DATE'10 1 / 20 Layout 1 Introduction

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 2009/10/20 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Structure of this course 2: Specification Design repository Design Application

More information

Removing Cycles in Esterel Programs

Removing Cycles in Esterel Programs Removing Cycles in Esterel Programs Jan Lukoschus 1, Reinhard von Hanxleden 2 1 Christian-Albrechts-Universität zu Kiel, Institut für Informatik 24098, Kiel, Olshausenstr. 40, Germany jlu@informatik.uni-kiel.de

More information

Model-based Code Generation: Esterel Scade. Daniel Kästner AbsInt Angewandte Informatik GmbH

Model-based Code Generation: Esterel Scade. Daniel Kästner AbsInt Angewandte Informatik GmbH Model-based Code Generation: Esterel Scade Daniel Kästner kaestner@absint.com AbsInt Angewandte Informatik GmbH AbsInt GmbH 2 Model-based Software Development 3 Model is software specification. Hardware/Software

More information

PRET-C: A New Language for Programming Precision Timed Architectures (extended abstract)

PRET-C: A New Language for Programming Precision Timed Architectures (extended abstract) PRET-C: A New Language for Programming Precision Timed Architectures (extended abstract) Sidharta Andalam 1, Partha S Roop 1, Alain Girault 2, and Claus Traulsen 3 1 University of Auckland, New Zealand

More information

Programming Languages for Real-Time Systems. LS 12, TU Dortmund

Programming Languages for Real-Time Systems. LS 12, TU Dortmund Programming Languages for Real-Time Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 20 June 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 41 References Slides are based on Prof. Wang Yi, Prof.

More information

The Synchronous Languages 12 Years Later

The Synchronous Languages 12 Years Later The Synchronous Languages 12 Years Later Tawatchai Siripanya Seminar in Programming Language(19666) Advisor: Lilit Hakobyan Supervisor: Prof. Dr. Elfriede Fehr Institute of Computer Science Freie Universität

More information

Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming

Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming Nicolas Bettenburg 1 Universitaet des Saarlandes, D-66041 Saarbruecken, nicbet@studcs.uni-sb.de Abstract. As traditional

More information

The Esterel language

The Esterel language Pascal Raymond, Verimag-CNRS Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, sequential style (i.e.

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

Using and Compiling Esterel

Using and Compiling Esterel Using and Compiling Esterel Stephen A. Edwards Columbia University Department of Computer Science sedwards@cs.columbia.edu http://www.cs.columbia.edu/ sedwards/ Memocode Tutorial, July 11, 2005 The Esterel

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

Modular code generation from synchronous models:

Modular code generation from synchronous models: Modular code generation from synchronous models: modularity vs. reusability vs. code size Stavros Tripakis Joint work with Roberto Lublinerman, Penn State CHESS seminar, Berkeley, Feb 2009 1 Semantics-preserving

More information

Embedded software design with Polychrony

Embedded software design with Polychrony Embedded software design with Polychrony DATE 09 tutorial on Correct-by-Construction Embedded Software Synthesis: Formal Frameworks, Methodologies, and Tools Jean-Pierre Talpin, RIA List of contributors

More information

Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, s

Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, s Pascal Raymond, Verimag-CNRS Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, sequential style (i.e.

More information

Synchronous reactive programming

Synchronous reactive programming Synchronous reactive programming Marcus Sundman Department of Computer Science Åbo Akademi University, FIN-20520 Åbo, Finland e-mail: marcus.sundman@iki.fi URL: http://www.iki.fi/marcus.sundman/ Abstract

More information

Research Article Removing Cycles in Esterel Programs

Research Article Removing Cycles in Esterel Programs Hindawi Publishing Corporation EURASIP Journal on Embedded Systems Volume 2007, Article ID 48979, 23 pages doi:10.1155/2007/48979 Research Article Removing Cycles in Esterel Programs Jan Lukoschus and

More information

Compiling Esterel. Dumitru Potop-Butucaru. Stephen A. Edwards Gérard Berry

Compiling Esterel. Dumitru Potop-Butucaru. Stephen A. Edwards Gérard Berry Compiling Esterel Compiling Esterel Dumitru Potop-Butucaru Stephen A. Edwards Gérard Berry A C.I.P. Catalogue record for this book is available from the Library of Congress. ISBN 978-0-387-70626-9 (HB)

More information

Outline. Introduction Concepts and terminology The case for static typing. Implementing a static type system Basic typing relations Adding context

Outline. Introduction Concepts and terminology The case for static typing. Implementing a static type system Basic typing relations Adding context Types 1 / 15 Outline Introduction Concepts and terminology The case for static typing Implementing a static type system Basic typing relations Adding context 2 / 15 Types and type errors Type: a set of

More information

Concurrency & Multithreading

Concurrency & Multithreading Concurrency & Multithreading Multithreaded Programming Pieter Hijma Multithreaded Programming Multithreaded Programming is really difficult. Problems race conditions non-determinism deadlock termination

More information

Reactive Web Programming

Reactive Web Programming Reactive Web Programming Colin Vidal colin.vidal@inria.fr INRIA Sophia Antipolis Supervisors : Manuel Serrano Gérard Berry December 2, 2015 1 / 14 JavaScript language A mainstream language to write web

More information

ESUIF: An Open Esterel Compiler

ESUIF: An Open Esterel Compiler ESUIF: An Open Esterel Compiler Stephen A. Edwards Department of Computer Science Columbia University www.cs.columbia.edu/ sedwards Not Another One... My research agenda is to push Esterel compilation

More information

A Deterministic Concurrent Language for Embedded Systems

A Deterministic Concurrent Language for Embedded Systems A Deterministic Concurrent Language for Embedded Systems Stephen A. Edwards Columbia University Joint work with Olivier Tardieu SHIM:A Deterministic Concurrent Language for Embedded Systems p. 1/30 Definition

More information

A Deterministic Concurrent Language for Embedded Systems

A Deterministic Concurrent Language for Embedded Systems SHIM:A A Deterministic Concurrent Language for Embedded Systems p. 1/28 A Deterministic Concurrent Language for Embedded Systems Stephen A. Edwards Columbia University Joint work with Olivier Tardieu SHIM:A

More information

Section 8. The Basic Step Algorithm

Section 8. The Basic Step Algorithm Section 8. The Basic Step Algorithm Inputs The status of the system The current time A list of external changes presented by the environment since the last step Comments Scheduled action appears in the

More information

Multi-paradigm Declarative Languages

Multi-paradigm Declarative Languages Michael Hanus (CAU Kiel) Multi-paradigm Declarative Languages ICLP 2007 1 Multi-paradigm Declarative Languages Michael Hanus Christian-Albrechts-University of Kiel Programming Languages and Compiler Construction

More information

Cyber Physical System Verification with SAL

Cyber Physical System Verification with SAL Cyber Physical System Verification with July 22, 2013 Cyber Physical System Verification with Outline 1 2 3 4 5 Cyber Physical System Verification with Table of Contents 1 2 3 4 5 Cyber Physical System

More information

Model Checking DSL-Generated C Source Code

Model Checking DSL-Generated C Source Code Model Checking DSL-Generated C Source Code Martin Sulzmann and Axel Zechner Informatik Consulting Systems AG, Germany {martin.sulzmann,axel.zechner}@ics-ag.de Abstract. We report on the application of

More information

ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN

ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN / ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN Gerard Berry Ed Harcourt Luciano Lavagno Ellen Sentovich Abstract We propose a new specification environment for system-level design called ECL.

More information

Lecture 2. The SCADE Language Data Flow Kernel. Daniel Kästner AbsInt GmbH 2012

Lecture 2. The SCADE Language Data Flow Kernel. Daniel Kästner AbsInt GmbH 2012 Lecture 2 The SCADE Language Data Flow Kernel Daniel Kästner AbsInt GmbH 2012 2 Synchronous Programming Two simple ways of implementing reactive systems: Event-driven Foreach input_event

More information

Understandable Concurrency

Understandable Concurrency Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS Director, CHESS: Center for Hybrid and Embedded Software Systems Director, Ptolemy Project UC Berkeley Chess Review November 21, 2005 Berkeley,

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design

More information

Separate Translation of Synchronous Programs to Guarded Actions

Separate Translation of Synchronous Programs to Guarded Actions Separate Translation of Synchronous Programs to Guarded Actions Jens Brandt and Klaus Schneider Embedded Systems Group Department of Computer Science University of Kaiserslautern http://es.cs.uni-kl.de

More information

EE249 Lab September 30 h, 2008 Hugo A. Andrade

EE249 Lab September 30 h, 2008 Hugo A. Andrade High-Level Development Tools Data Flow C Code Textual Math Modeling Statechart EE249 Lab September 30 h, 2008 Hugo A. Andrade Graphical System Design Platform Linux Macintosh Windows Real-Time FPGA Micro

More information

Programming Embedded Systems

Programming Embedded Systems Programming Embedded Systems Lecture 10 An introduction to Lustre Wednesday Feb 15, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/34 Course topic: programming lang. Which language to

More information

A Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version

A Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version The Synchronous Language Prof. Stephen. Edwards Simple Example The specification: The output O should occur when inputs and have both arrived. The R input should restart this behavior. First Try: n FSM

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

A Deterministic Concurrent Language for Embedded Systems

A Deterministic Concurrent Language for Embedded Systems A Deterministic Concurrent Language for Embedded Systems Stephen A. Edwards Columbia University Joint work with Olivier Tardieu SHIM:A Deterministic Concurrent Language for Embedded Systems p. 1/38 Definition

More information

Combining Static and Dynamic Contract Checking for Curry

Combining Static and Dynamic Contract Checking for Curry Michael Hanus (CAU Kiel) Combining Static and Dynamic Contract Checking for Curry LOPSTR 2017 1 Combining Static and Dynamic Contract Checking for Curry Michael Hanus University of Kiel Programming Languages

More information

Real-Time Programming Languages (ADA and Esterel as Examples)

Real-Time Programming Languages (ADA and Esterel as Examples) Real-Time Programming Languages (ADA and Esterel as Examples) Real-Time Systems, 2008 RT Languages, 1 RT Language Classes HLL suitable for RT-Analysis (e.g., rms or time-driven) Synchronous HLL (clock

More information

Combining Timing, Localities and Migration in a Process Calculus

Combining Timing, Localities and Migration in a Process Calculus Combining Timing, Localities and Migration in a Process Calculus Andrew Hughes http://www.dcs.shef.ac.uk/~andrew Department of Computer Science University of Sheffield BCTCS - 05/04/2006 Outline 1 Introduction

More information

Towards Interactive Timing Analysis for Designing Reactive Systems

Towards Interactive Timing Analysis for Designing Reactive Systems Towards Interactive Timing Analysis for Designing Reactive Systems Insa Fuhrmann 1, David Broman 2,3, Steven Smyth 1, and Reinhard von Hanxleden 1 1 Christian-Albrechts-Universität zu Kiel, Germany 2 University

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK On Comments in Visual Languages Christoph Daniel Schulze, Christina Plöger, and Reinhard von Hanxleden Bericht Nr. 1602 April 2016 ISSN 2192-6247 CHRISTIAN-ALBRECHTS-UNIVERSITÄT

More information

Esterel and the Synchronous Approach

Esterel and the Synchronous Approach Esterel and the Synchronous Approach Stephen A. Edwards Columbia University April 2009 The Big Picture The Digital Approach Discretize value to completely eliminate noise The Synchronous Approach Discretize

More information

Multi-View Modeling and Pragmatics in 2020

Multi-View Modeling and Pragmatics in 2020 Multi-View Modeling and Pragmatics in 2020 Position Paper on Designing Complex Cyber-Physical Systems Reinhard von Hanxleden 1, Edward A. Lee 2, Christian Motika 1, and Hauke Fuhrmann 3 1 Christian-Albrechts-Universität

More information

UND PRAKTISCHE MATHEMATIK. Efficient Compilation of Cyclic Synchronous Programs. Jan Lukoschus, Reinhard von Hanxleden, Stephen A.

UND PRAKTISCHE MATHEMATIK. Efficient Compilation of Cyclic Synchronous Programs. Jan Lukoschus, Reinhard von Hanxleden, Stephen A. INSTITUT FÜR INFORMATIK UND PRAKTISCHE MATHEMATIK Efficient Compilation of Cyclic Synchronous Programs Jan Lukoschus, Reinhard von Hanxleden, Stephen A. Edwards Bericht Nr. 0402 April 2004 CHRISTIAN-ALBRECHTS-UNIVERSITÄT

More information

SYNCHRON'16, Bamberg. Lego Mindstorms 6. Lego Mindstorms Preparations 7. Exercise V: SCCharts for Lego Mindstorms 8. Exercise VI: SCCharts Pathfinder

SYNCHRON'16, Bamberg. Lego Mindstorms 6. Lego Mindstorms Preparations 7. Exercise V: SCCharts for Lego Mindstorms 8. Exercise VI: SCCharts Pathfinder SCCharts Tutorial, KIELER SCCharts 1. Tutorial Preparations 2. Exercise I: Textical Modeling 3. Exercise II: Interactive Compilation 4. Exercise III: Simulation 5. Bonus Exercise IV: SCG Lego Mindstorms

More information

An Introduction to Lustre

An Introduction to Lustre An Introduction to Lustre Monday Oct 06, 2014 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/35 ES Programming languages Which language to write embedded software in? Traditional: low-level

More information

A Multi-Threaded Reactive Processor

A Multi-Threaded Reactive Processor A Multi-Threaded Reactive Processor Xin Li Marian Boldt Reinhard v. Hanxleden Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität zu Kiel, Germany

More information

CMSC Computer Architecture Lecture 15: Memory Consistency and Synchronization. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 15: Memory Consistency and Synchronization. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 15: Memory Consistency and Synchronization Prof. Yanjing Li University of Chicago Administrative Stuff! Lab 5 (multi-core) " Basic requirements: out later today

More information

Semantic Analysis. Compiler Architecture

Semantic Analysis. Compiler Architecture Processing Systems Prof. Mohamed Hamada Software Engineering Lab. The University of Aizu Japan Source Compiler Architecture Front End Scanner (lexical tokens Parser (syntax Parse tree Semantic Analysis

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

NAME CHSM-Java Concurrent, Hierarchical, Finite State Machine specification language for Java

NAME CHSM-Java Concurrent, Hierarchical, Finite State Machine specification language for Java NAME CHSM-Java Concurrent, Hierarchical, Finite State Machine specification language for Java SYNOPSIS declarations description user-code DESCRIPTION The CHSM specification language is a text-based means

More information

XEVE, an ESTEREL Verification Environment

XEVE, an ESTEREL Verification Environment XEVE, an ESTEREL Verification Environment Amar Bouali INRIA, B.P. 93, F-06902 Sophia-Antipolis cedex amar@sophia, inria, fr Abstract. We describe the verification methods and tools we are currently developing

More information

Early design phases. Peter Marwedel TU Dortmund, Informatik /10/11. technische universität dortmund. fakultät für informatik informatik 12

Early design phases. Peter Marwedel TU Dortmund, Informatik /10/11. technische universität dortmund. fakultät für informatik informatik 12 12 Early design phases Peter Marwedel TU Dortmund, Informatik 12 2010/10/11 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Graphics: Alexandra Nolte, Gesine Marwedel, 2003

More information

The Esterel Language. The Esterel Version. Basic Ideas of Esterel

The Esterel Language. The Esterel Version. Basic Ideas of Esterel The Synchronous Language Esterel OMS W4995-02 Prof. Stephen. Edwards Fall 2002 olumbia University epartment of omputer Science The Esterel Language eveloped by Gérard erry starting 1983 Originally for

More information

World Wide Web Server.

World Wide Web Server. World Wide Web Server Complete distribution of version 0.5.2, including all source code. Distribution of Ptiny Ptolemy, a small demonstration version. An evolving quick tour of Ptolemy with animations

More information

Program Representations

Program Representations Program Representations 17-654/17-765 Analysis of Software Artifacts Jonathan Aldrich Representing Programs To analyze software automatically, we must be able to represent it precisely Some representations

More information

SCXML State Chart XML

SCXML State Chart XML SCXML State Chart XML Previously, in this course... Previously, in this course... Running Example all actions omitted wasn t it supposed to help? Previously, in this course... Running Example all actions

More information

A Formal Model for Web-Service Composition

A Formal Model for Web-Service Composition Simon Foster Department of Computer Science University of Sheffield http://www.dcs.shef.ac.uk/~simonf BCTCS 2006 Outline 1 Composing Web-Services Current Technologies 2 3 4 Outline

More information

Safe Reactive Programming: the FunLoft Proposal

Safe Reactive Programming: the FunLoft Proposal Safe Reactive Programming: the FunLoft Proposal Frédéric Boussinot MIMOSA Project, Inria Sophia-Antipolis (Joint work with Frédéric Dabrowski) http://www.inria.fr/mimosa/rp With support from ALIDECS SYNCHRON

More information

Formal Semantics of Programming Languages

Formal Semantics of Programming Languages Formal Semantics of Programming Languages Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson http://www.daimi.au.dk/~bra8130/wiley_book/wiley.html Benefits of formal

More information

The Java Memory Model

The Java Memory Model Jeremy Manson 1, William Pugh 1, and Sarita Adve 2 1 University of Maryland 2 University of Illinois at Urbana-Champaign Presented by John Fisher-Ogden November 22, 2005 Outline Introduction Sequential

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK Automatic Layout of Data Flow Diagrams in KIELER and Ptolemy II Miro Spönemann, Hauke Fuhrmann, Reinhard von Hanxleden Bericht Nr. 0914 Juli 2009 CHRISTIAN-ALBRECHTS-UNIVERSITÄT

More information

Simulink/Stateflow. June 2008

Simulink/Stateflow. June 2008 Simulink/Stateflow Paul Caspi http://www-verimag.imag.fr/ Pieter Mosterman http://www.mathworks.com/ June 2008 1 Introduction Probably, the early designers of Simulink in the late eighties would have been

More information

Application: Programming Language Semantics

Application: Programming Language Semantics Chapter 8 Application: Programming Language Semantics Prof. Dr. K. Madlener: Specification and Verification in Higher Order Logic 527 Introduction to Programming Language Semantics Programming Language

More information

Synchronous Estelle: Just Another Synchronous Language?

Synchronous Estelle: Just Another Synchronous Language? Electronic Notes in Theoretical Computer Science 88 (2003) URL: http://www.elsevier.nl/locate/entcs/volume88.html 15 pages Synchronous Estelle: Just Another Synchronous Language? Miguel Riesco 1 Javier

More information