Updates on SCCharts Christian Motika Steven Smyth

Similar documents
SCCharts. Sequentially Constructive Charts

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

Executing SyncCharts with Ptolemy

Sequential Constructiveness, SCL and SCCharts

Interactive Esterel to SyncCharts Transformation. Christian Motika

Synchronous Statecharts. Christian Motika

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

Interactive Incremental Hardware Synthesis

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

Synchronous Dataflow Processong

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

Modal Models in Ptolemy

Concurrent Models of Computation

Synchronous Languages Lecture 07

States Transitions Connectors Esterel Studio

Interactive Transformations for Visual Models

EE249 Lab September 30 h, 2008 Hugo A. Andrade

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

Semantic Specifications for Domain-Specific Modeling Languages

Reactive Parallel Processing for Synchronous Dataflow

Predictable multithreading of embedded applications using PRET-C

Submitted to Special Issue on Application of Concurrency to System Design

Synchronous C + WCRT Algebra 101

Towards Interactive Timing Analysis for Designing Reactive Systems

Analyzing Robustness of UML State Machines

INSTITUT FÜR INFORMATIK

Embedded Real-Time Systems

Towards a Unified View of Modeling and Programming (Track Summary)

Speculative Parallelization Technology s only constant is CHANGE. Devarshi Ghoshal Sreesudhan

A Solution Based on Modeling and Code Generation for Embedded Control System

Removing Cycles in Esterel Programs

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

Time for Reactive System Modeling: Interactive Timing Analysis with Hotspot Highlighting

Model Checking DSL-Generated C Source Code

Advanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA

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

XEVE, an ESTEREL Verification Environment

The Esterel language

Programming Deterministic Reactive Systems with Synchronous Java

Multi-View Modeling and Pragmatics in 2020

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

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

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

Flight Systems are Cyber-Physical Systems

State Machine Diagrams

An Introduction to Lustre

PROGRAM ANALYSIS & SYNTHESIS

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

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

A SyncCharts Editor based on YAKINDU SCT

Reactive Web Programming

ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN

Process Network Models for Embedded System Design based on the Real-Time BIP Execution Engine*

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES

SyncCharts in C. Reinhard von Hanxleden

On the Formalization of UML Activities for Component-Based Protocol Design Specifications

Orccad, a Model Driven Architecture and Environment for Real-Time Control. Soraya Arias Florine Boudin Roger Pissard-Gibollet Daniel Simon

Control Flow Analysis with SAT Solvers

Synchronous Estelle: Just Another Synchronous Language?

Leveraging DTrace for runtime verification

Behavioral Specification of a Circuit using SyncCharts: A Case Study

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Simulink/Stateflow. June 2008

TERM BASED WEIGHT MEASURE FOR INFORMATION FILTERING IN SEARCH ENGINES

Programming Language Concepts, cs2104 Lecture 09 ( )

Lecture 5: Declarative Programming. The Declarative Kernel Language Machine. September 12th, 2011

ESUIF: An Open Esterel Compiler

EE382N.23: Embedded System Design and Modeling

Distributed Systems Programming (F21DS1) Formal Verification

Tsmart-BIPEX: An Integrated Graphical Design Toolkit for Software Systems

Viewer 2.0. Shared Media one of the exciting improvements! 2010 Linden Lab 2

The Haskell Refactorer, HaRe, and its API

Component-Based Design of Embedded Control Systems

Model-based Run-Time Software Adaptation for Distributed Hierarchical Service Coordination

Safe Reactive Programming: the FunLoft Proposal

Ordered Read Write Locks for Multicores and Accelarators

Programming Embedded Systems

Approaches of using UML for Embedded System Design

The Montana Toolset: OSATE Plugins for Analysis and Code Generation

SCXML State Chart XML

Synchronous reactive programming

Embedded Software Engineering

Implementation of Process Networks in Java

... is a Programming Environment (PE)?... is Generic Language Technology (GLT)?

INSTITUT FÜR INFORMATIK

IA010: Principles of Programming Languages

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

IEC Basics. Presented by. Bill Lydon, Director PLCopen North America Automation Industry Consultant

Specifications Part 1

Extracting Executable Architecture from Legacy Code using Static Reverse Engineering. REHMAN ARSHAD The University of Manchester, UK

Formal Methods in Software Engineering. Lecture 07

Experiences with OWL-S, Directions for Service Composition:

OCL Support in MOF Repositories

Replication in Distributed Systems

Using and Compiling Esterel

Genie. Distributed Systems Synthesis and Verification. Marc Rosen. EN : Advanced Distributed Systems and Networks May 1, 2017

Visual Design Flows for Faster Debug and Time to Market FlowTracer White Paper

INSTITUT FÜR INFORMATIK

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh

Transcription:

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 Language SCCharts = SyncCharts Syntax + Sequential Constructive Semantics 1

Interface declaration Region ID Recall SCCharts Updates on SCCharts Root state Local declaration Transition trigger/effect Initial state Superstate Anonymous simple state Immediate transition Transition priority Termination Named simple state Final state Suspension Connector Count delay History transition Conditional termination Complex final state 3 1: y > -10 2: x <= 0 1: y > 0 Signal Initialization Entry/During /Exit actions Deferred transition Strong abort Pre operator Weak abort Core-SCCharts Small set of simple features ease Rich set of advanced SCCharts = SyncCharts down stream Syntax + Sequential Constructive Semantics compilation Extended- SCCharts features ease modeling 2

SCCharts = SyncCharts Syntax + Sequential Constructive Semantics 3

ALDO Example Updates on SCCharts Interface Concurrency Local Variables Instantaneous Communication SCCharts = SyncCharts Syntax + Sequential Constructive Semantics Signals Preemption 4

Modeling ALDO Updates on SCCharts Textual View and Editing SCChart Graphical View [VL/HCC 13] Transition State SCCharts = SyncCharts Syntax + Sequential Constructive Semantics Abstract Model 5

Modeling ALDO Demo Updates on SCCha 6

Updates on SCCharts Reliable Compiler + Reliable Models + Praticability [SYNCHRON 14] Single-Pass Language-Driven Incremental Compilation (SLIC) [ISOLA 14] Interactive Model-Transformation-Based Compiler Intemediate Results: White-Box Compiler Modeled Diagram Textual Modeling Select Transformation Compiler (Intermediate) Transformed Diagram / Code SCCharts = SyncCharts Syntax + Sequential Constructive Semantics 7

KIELER Updates Compiler on SCCharts (2) Textual Modeling Modeled Diagram (Intermediate) Transformed Diagram / Code Compiler Select Transformation Single-Pass Language-Driven Incremental Compilation (SLIC) Original Model Intermediate Model Fully trans- Formed Model 8

SLIC Order Updates on SCCharts 9

SLIC Order Updates on SCCharts 9

SCCharts Updates Compilation on SCCharts for ALDO 10

Compiling ALDO (1) Updates on SCChar t(s Signal During Abort Initalization Entry Connector Extended Core Normalized SCG 11

Compiling Updates on ALDO SCCharts (2) expand signal 12

Compiling Updates on ALDO SCCharts (3) expand during action 13

Compiling Updates on ALDO SCCharts (4) expand abort 14

Compiling Updates on ALDO SCCharts (5) expand initialization 15

Compiling Updates on ALDO SCCharts (6) expand entry 16

Compiling Updates on ALDO SCCharts (7) expand connector 17

Compiling Updates on ALDO SCCharts (8) normalization 18

Compiling Updates on ALDO SCCharts (9) SCG transformation 19

Compiling ALDO Demo Updates on SCCha 20

Usage expands Feature produces Transformation not handles registers registers consists of Kieler Compiler (KiCo) 2.0 registers Processor EObject EObject EObject uses KiCo by calling EObject KiCo.compile(EObject, ID1, ID2) KiCo.UI Auto Selection Visual Feedback Feature Selection Select All / Expand All Auto Selection On/Off Different Views Compile Chains 21

Feature Usage (2) expands produces not handles Transformation registers registers consists of Kieler Compiler (KiCo) 2.0 registers Processor uses KiCo by calling EObject KiCo.compile(EObject, ID1, ID2) EObject EObject EObject KiCo.Server HTTP Protocol 1. Read request 2. Parse Model 3. Call KiCo.compile() 4. Serialize result 5. Send back result HTTP request / respond External Application Web Browser 22

Usage (3) Updates on SCCha 23

Usage Demo Updates on SCCha 24

Regression Tests Updates on SCCha 25

ABROINO: ABRO SCChart running on Arduino, Dec 2014 26

More Some more student projects 27

Proxy Prox States Application models often contained proxy states that accumulate equations and were left immediately Proxy state within the Railway project Proxy state within the Mindstorms project 28

Proxy Prox States Application models often contained proxy states that accumulate equations and were left immediately Would be really cool if we could express this in a dataflow way. However, we don t want to change the semantics of Core SCCharts! Add a new Extended SCCharts feature! Proxy state within the Mindstorms project 29

Interface declaration Region ID Recall SCCharts Updates on SCCharts Root state Local declaration Transition trigger/effect Initial state Superstate Anonymous simple state Immediate transition Transition priority Termination Named simple state Final state Suspension Connector Count delay History transition Conditional termination Complex final state 3 1: y > -10 2: x <= 0 1: y > 0 Signal Initialization Entry/During /Exit actions Deferred transition Strong abort Pre operator Weak abort Core-SCCharts Small set of simple features ease Rich set of advanced SCCharts = SyncCharts down stream Syntax + Sequential Constructive Semantics compilation Extended- SCCharts features ease modeling 30

Dataflow Prox Regions Add dataflow regions as Extended SCCharts feature Simple input/output example Simple equation example Node example 31

Dataflow Prox Regions Dataflow regions and control-flow regions co-exist Defining new node Containing an control-flow region Expanded control shows embedded sub-chart Or simply reference another SCChart 32

Dataflow Prox Regions Dataflow regions and control-flow regions co-exist Hybrid SCCharts example 33

Dataflow Transformation Prox Several approaches a possible to transform the extended feature Minimal example Transform single pass evaluation with concurrent regions Transform single pass evaluation with initial and final state Transform frequent evaluation Transform frequent evaluation Initialize-Update-Read protocol 34

SCCharts Model Railway Controller Project 2014 STATES: 1,628 modeled 135,000 expanded 35

(3) (before the crash) SCCharts Quadrocopter Project 2015 36

(4) (before the crash) SCCharts Lego Mindstorms Project 2014 37

CHARLES ANDRÉ. Semantics of SyncCharts, 2003. To Go Further GÉRARD BERRY. The Esterel v5 Language Primer, 2000. MOTIKA, C., SMYTH, S., AND VON HANXLEDEN, R. Compiling SCCharts A Case-Study on Interactive Model-Based Compilation. 6th International Symposium On Leveraging of Formal Methods, Verification (ISoLA 14), Corfu, Oct 2014. 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, 15 19 Sept. 2013). UNI KIEL, REAL-TIME AND EMBEDDED SYSTEMS GROUP. KIELER & SCCharts webpage. http://www.informatik.uni-kiel.de/en/rtsys/kieler/. & http://www.sccharts.com. 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. 7539. VON HANXLEDEN, R., DUDERSTADT, B., MOTIKA, C., SMYTH, S., MENDLER, M., AGUADO, J., MERCER, S., AND O BRIEN, O. Sequentially Constructive Concurrency A conservative extension of the synchronous model of computation. Proc. ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 14), Edinburgh, Jun 2014. 38

That s all Folks - Thank You! 39

Traditional vs. Interactive SLIC vs. Modeled Diagram Textual Modeling Select Transformation Compiler (Intermediate) Transformed Diagram / Code BAK 1

Traditional vs. Interactive SLIC BAK 2

SCCharts Modeling User Story 1. Edit SCT code 3. Inspect original + transformed SCChart 4. Adjust layout Textual Entry Visual Browsing Layout Control Interactive Compilation Control 2. Select transformations BAK 3

Mapping SCCharts to SCG BAK 4

KiCo Selection Algorithm BAK 5

Test File Creation (ESO) BAK 6

Model Railway Track Scheme BAK 7

SCCharts Meta Model BAK 8