SCCharts. Sequentially Constructive Charts
|
|
- Vivian Chandler
- 6 years ago
- Views:
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 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 informationReinhard 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 informationInteractive 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 informationCompiling 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 informationSynchronous 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 informationOverview. 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 informationExecuting 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 informationSequential 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 informationSynchronous 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 informationThe 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 informationThe 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 informationConcurrent 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 informationA 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 informationProf. 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 informationInteractive 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 informationStates 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 informationAnalyzing 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 informationSynchronous 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 informationRemoving 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 informationReactive 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 informationSubmitted 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 informationSyncCharts 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 informationINSTITUT 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 informationSynchronous 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 informationInteractive 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 informationSpecifications 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 informationModal 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 informationEE382N.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 informationHierarchical 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 informationA 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 informationPROGRAM 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 informationProgramming 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 informationfakultä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 informationPredictable 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 informationSpecifications 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 informationRemoving 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 informationModel-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 informationPRET-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 informationProgramming 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 informationThe 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 informationWritten 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 informationThe 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 informationHardware 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 informationUsing 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 informationHardware 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 informationModular 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 informationEmbedded 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 informationIntroduction 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 informationSynchronous 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 informationResearch 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 informationCompiling 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 informationOutline. 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 informationConcurrency & Multithreading
Concurrency & Multithreading Multithreaded Programming Pieter Hijma Multithreaded Programming Multithreaded Programming is really difficult. Problems race conditions non-determinism deadlock termination
More informationReactive 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 informationESUIF: 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 informationA 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 informationA 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 informationSection 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 informationMulti-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 informationCyber 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 informationModel 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 informationECL: 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 informationLecture 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 informationUnderstandable 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 informationSpecifications 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 informationSeparate 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 informationEE249 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 informationProgramming 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 informationA 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 informationExercise 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 informationA 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 informationCombining 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 informationReal-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 informationCombining 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 informationTowards 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 informationINSTITUT 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 informationEsterel 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 informationMulti-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 informationUND 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 informationSYNCHRON'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 informationAn 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 informationA 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 informationCMSC 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 informationSemantic 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 informationPetri 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 informationNAME 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 informationXEVE, 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 informationEarly 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 informationThe 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 informationWorld 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 informationProgram 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 informationSCXML 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 informationA 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 informationSafe 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 informationFormal 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 informationThe 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 informationINSTITUT 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 informationSimulink/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 informationApplication: 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 informationSynchronous 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