synchronous statecharts - for executing esterel with ptolemy · real-time systems and embedded...

36
Esterel SyncCharts SyncCharts Execution (KlePto) Esterel to SyncCharts transformation (KIES) Synchronous Statecharts for executing Esterel with Ptolemy Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universit ¨ at zu Kiel, Germany KIEL ER DREAMS Seminar, 03. OCT 2011 Christian Motika Synchronous Statecharts 1 / 36

Upload: others

Post on 13-Jul-2020

1 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

Synchronous Statechartsfor executing Esterel with Ptolemy

Christian Motika

Real-Time Systems and Embedded Systems GroupDepartment of Computer Science

Christian-Albrechts-Universitat zu Kiel, Germany

KIELER

DREAMS Seminar,03. OCT 2011

Christian Motika Synchronous Statecharts 1 / 36

Page 2: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationOverview

Embedded Systems

I Designed for dedicated applications inside a surrounding system

I”A computer that is not perceived as such“

I Often non-terminating SW, continuous interaction w/ HW⇒ Reactive Systems

I Often safety-critical systems

Christian Motika Synchronous Statecharts 2 / 36

Page 3: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationOverview

Reactive Systems

analoghardware

analoghardware

surrounding system (mechanic, electronic, pneumatic,...)

software

digitale hardware(actors) (sensors)

I Continuous, non-terminating interaction

I Pace is controlled by the environment

I Computation (output) of steps of the reactive system⇒Reaction vs. interaction

I When to produce outputs? In real-time! →WCRT

Christian Motika Synchronous Statecharts 3 / 36

Page 4: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationOverview

Synchronous LanguagesI Separate concerns

1. Functionality2. Timing

I Specify functionality, logical timing only (order)I Goal: Fully deterministic behaviorI Assume zero reaction time⇒ perfect synchrony w/ interaction

Christian Motika Synchronous Statecharts 4 / 36

Page 5: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationOverview

Motivation

I Synchronous model of computation (MoC):

I Esterel, SyncCharts, SC (control flow)I Lustre, Signal, SCADE (data flow)I Ptolemy (SR domain)

I SyncCharts a synchronous statechart dialect

I → Primary example for KIELER framework

I KlePto: Executing SyncCharts w/ Ptolemy

I KIES: Esterel to SyncCharts transformation

I ⇒ Execute Esterel w/ Ptolemy

Christian Motika Synchronous Statecharts 5 / 36

Page 6: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationOverview

Overview

I Esterel

I SyncCharts

I SyncCharts Execution (KlePto)

I Esterel to SyncCharts transformation (KIES)

I Demo

I Summary

Christian Motika Synchronous Statecharts 6 / 36

Page 7: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewSynchronyConceptsABRO Example

What is Esterel?

I Synchronous language

I Imperative

I Control flow oriented

I Deterministic programs

I History

I Developed by J.-P. Marmorat and J.-P. Rigault (at Ecole desMines de Paris)

I G. Berry developed a formal semantics for Esterel in 1983I Esterel v5: Has been stable since late 1990sI Esterel v7: same principles as in v5, several extensions

Christian Motika Synchronous Statecharts 7 / 36

Page 8: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewSynchronyConceptsABRO Example

Synchrony in Esterel

Definition[Perfect Synchrony]A system works in perfect synchrony, if all reactions of the system areexecuted in zero time. Hence, outputs are generated at the same time,when the inputs are read.

I In practice, ‘zero time’ means before the next interaction

I Macro steps consist of only finitely many micro steps

I ⇔ No data dependent loops in a macro step

I WCET (high-level, low-level) to meet real-time constraints

Christian Motika Synchronous Statecharts 8 / 36

Page 9: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewSynchronyConceptsABRO Example

Basic ConceptsI Imperative language

I Statement (mostly instantanous)I Sequence of statements is a statement→ s1;s2

I Control flow oriented→ pause statement

I ModulesI Esterel programs are a list of modulesI Module body is a statement

I SignalsI CommunicationI Emission, Test→ emit S, present S, await S

I Concurrency→ [ s1 || s2 || ... || sn ]

I Preemption→ [weak] abort s when S

Christian Motika Synchronous Statecharts 9 / 36

Page 10: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewSynchronyConceptsABRO Example

Signals

Definition[Signal Coherence]A signal is either present or absent within a macro tick but never both.

I Present iff emitted, absent otherwise

I ”iff emitted” means iff an emit statement must be executed

I Constructiveness

I Speculative executions are not allowedI E.g., present S then emit S else emit S

Christian Motika Synchronous Statecharts 10 / 36

Page 11: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewSynchronyConceptsABRO Example

Example: ABRO

module ABRO:

input A, B, R;output O;

loopabort

[ await A || await B ];emit O;halt

when Rend loop

end module

”The system has booleanvalued inputs A, B, R, and anoutput O. Output O shall betrue as soon as both inputs Aand B have been true. Thisbehavior should be restartedif R is true.“

Christian Motika Synchronous Statecharts 11 / 36

Page 12: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewConceptsSyncCharts vs. StatechartsABRO Example

Overview

I Esterel

I SyncCharts

I SyncCharts Execution (KlePto)

I Esterel to SyncCharts transformation (KIES)

I Demo

I Summary

Christian Motika Synchronous Statecharts 12 / 36

Page 13: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewConceptsSyncCharts vs. StatechartsABRO Example

What are SyncCharts?

I Statechart dialect (Statecharts proposed by David Harel [1987])

I Built on Esterel semantics

I Invented by Charles Andre

I Safe State Machines

I Was supported by the commercial tool Esterel Studio,which uses Esterel as intermediate step in code generation

Christian Motika Synchronous Statecharts 13 / 36

Page 14: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewConceptsSyncCharts vs. StatechartsABRO Example

SyncCharts

I Statechart dialect

I Mealy machine with

I Parallelism,hierarchy, compoundevents, broadcast

I Synchrony hypothesis

I Discrete ticksI Computations take

no time

Christian Motika Synchronous Statecharts 14 / 36

Page 15: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewConceptsSyncCharts vs. StatechartsABRO Example

Harel-Statecharts vs. SyncCharts—Similarities

SyncCharts are made up of elements common to most Statechartsdialects:

I States

I Initial/terminal states

I Transitions

I Signals/Events

I Hierarchy

I Modularity

I Parallelism

Christian Motika Synchronous Statecharts 15 / 36

Page 16: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewConceptsSyncCharts vs. StatechartsABRO Example

Harel-Statecharts vs. SyncCharts—Differences

SyncCharts differ from other implementations of Statecharts:

I Synchronous framework

I Determinism

I Compilation into backend language Esterel

I No interpretation for simulations

I No hidden behaviour

I Multiple events

I Negation of events

I No inter-level transitions

Christian Motika Synchronous Statecharts 16 / 36

Page 17: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

OverviewConceptsSyncCharts vs. StatechartsABRO Example

Example: ABRO

module ABRO:

input A, B, R;output O;

loopabort

[ await A || await B ];emit O;halt

when Rend loop

end module

Christian Motika Synchronous Statecharts 17 / 36

Page 18: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SyncCharts in KIELERSyncCharts in Ptolemy

Overview

I Esterel

I SyncCharts

I SyncCharts Execution (KlePto)

I Esterel to SyncCharts transformation (KIES)

I Demo

I Summary

Christian Motika Synchronous Statecharts 18 / 36

Page 19: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SyncCharts in KIELERSyncCharts in Ptolemy

What is KIELER?

I Kiel Integrated Environment for Layout Eclipse Rich Client

I Modeling platform and test bed

I Improve pragmatics

I Open source and Eclipse based (plug-ins)

I General concepts:

I Generic approachesI Symbiosis w/ Eclipse technologies (e.g., EMF, GMF, TMF,

Xpand, Xtend)I Interfaces to other tools (Ptolemy, Papyrus)

Christian Motika Synchronous Statecharts 19 / 36

Page 20: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,
Page 21: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SyncCharts in KIELERSyncCharts in Ptolemy

SyncCharts Execution in KIELER

KIES SyncCharts

Ptolemy

Xtend2 S

Xtend2

Xtend2Xpand2/Xtend2

Esterel RC

Xtend2

SC SJ

KlePto

Christian Motika Synchronous Statecharts 21 / 36

Page 22: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SyncCharts in KIELERSyncCharts in Ptolemy

KlePto Overview

moml.ecore

dsl.ecore model.dsl

Xtend M2M

dsl2moml.xtend

model.pto

Execution Manager

M2M description

produce

load & execute

commands,model inputs

simulation data,model outputs

metamodels model to simulate

Ptolemy Simulator

Data Observer

Data Producer

[Semantics and Execution of Domain Specific Models, MEMWe 2010]

Christian Motika Synchronous Statecharts 22 / 36

Page 23: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SyncCharts in KIELERSyncCharts in Ptolemy

Ptolemy

I”The Ptolemy project studies heterogeneous modeling,simulation, and design of concurrent systems.“

Introduction to Ptolemy II, UC Berkeley

I Executable Models to describe behavior of reactive systems

I Ptolemy models are a set of interacting components→Actor-Oriented Design

Christian Motika Synchronous Statecharts 23 / 36

Page 24: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SyncCharts in KIELERSyncCharts in Ptolemy

SyncCharts in Ptolemy - Todaym

Christian Motika Synchronous Statecharts 24 / 36

Page 25: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SyncCharts in KIELERSyncCharts in Ptolemy

SyncCharts in Ptolemy - ModalModels and SR

I ModalModels do cannot analysis toexpose signals that cannot be emitted

I Signals can then be set to absent

I ModalModels can do this hierarchically

I Ptolemy models can be heterogeneous:

I State refinement does not need tobe a state machine (e.g., SR)

I → Currently limits this approachI → Ptolemy Control Flow Domain

(w/ Chris Shaver)

Christian Motika Synchronous Statecharts 25 / 36

Page 26: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationConceptTransformation RulesSyncCharts Optimization

Overview

I Esterel

I SyncCharts

I SyncCharts Execution (KlePto)

I Esterel to SyncCharts transformation (KIES)

I Demo

I Summary

Christian Motika Synchronous Statecharts 26 / 36

Page 27: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationConceptTransformation RulesSyncCharts Optimization

Model transformations

I Applications

I Synthesize multiple (graphical/textual) views from onemodel

I Edit a model (refactoring, optimization)I Code generationI Simulation desires

I Drawbacks

I Large and inflexibleI Hard to visualizeI Hard to debugI Not interactive

I Goal of KIES: Address the above drawbacks→ Use case: KIELER Esterel to SyncCharts transformation

Christian Motika Synchronous Statecharts 27 / 36

Page 28: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationConceptTransformation RulesSyncCharts Optimization

Esterel to SyncCharts

Transformation Optimization

Christian Motika Synchronous Statecharts 28 / 36

Page 29: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationConceptTransformation RulesSyncCharts Optimization

Transformation Rule“A transformation rule is a description of how one or moreconstructs in the source language can be transformed intoone or more constructs in the target language” (Mens andGorp)

I Esterel to SyncCharts

I One rule for each Esterel statement

I SyncCharts Optimization

I One rule for a certain SyncCharts state

I Rules presented by Lars Kuhl (also formal proofs for Esterel toSyncCharts)

Christian Motika Synchronous Statecharts 29 / 36

Page 30: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationConceptTransformation RulesSyncCharts Optimization

Implementation

CombinationButtonTrigger

Transformation-Effect

XtendTrans-formationContext

stepstep

Transformation-Descriptor

Xtend rule

model elementsname binding

XtendFacade

current model

[Interactive Transformations for Visual Models, MEMWe 2011]

Christian Motika Synchronous Statecharts 30 / 36

Page 31: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationConceptTransformation RulesSyncCharts Optimization

Esterel to SyncChartsemit

7−→

loop-each

7−→

Christian Motika Synchronous Statecharts 31 / 36

Page 32: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

MotivationConceptTransformation RulesSyncCharts Optimization

SyncCharts Optimization

7−→

Christian Motika Synchronous Statecharts 32 / 36

Page 33: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SummaryTo Go FurtherThe End

KIELER Demo

LIVE DEMO

Christian Motika Synchronous Statecharts 33 / 36

Page 34: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SummaryTo Go FurtherThe End

Summary

I Reasearch goals (long term)

I Investigate on synchronous languagesI Bringing together graphical and textual syntaxI Integrate Esterel in KIELER

I Improve pragmaticsI Validation purposes (SC and ControlFlow Domain)

I Reasearch goals (near term)I Modular and interactive transformations

I UnderstandI Debug

I Teaching

I Acknowledgements: Reinhard v. Hanxleden, Ulf Ruegg

Christian Motika Synchronous Statecharts 34 / 36

Page 35: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SummaryTo Go FurtherThe End

To Go FurtherCHARLES ANDRE.Semantics of SyncCharts, 2003.

GERARD BERRY.The Esterel v5 Language Primer, 2000.

MOTIKA, C.Semantics and execution of domain specificmodels—KlePto and an execution framework.

UC BERKELEY, EECS DEPT.Ptolemy webpage.http://ptolemy.eecs.berkeley.edu/.

UNI KIEL, REAL-TIME AND EMBEDDED SYSTEMS GROUP.KIELER webpage.http://www.informatik.uni-kiel.de/en/rtsys/kieler/.

Christian Motika Synchronous Statecharts 35 / 36

Page 36: Synchronous Statecharts - for executing Esterel with Ptolemy · Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universitat zu Kiel,

EsterelSyncCharts

SyncCharts Execution (KlePto)Esterel to SyncCharts transformation (KIES)

SummaryTo Go FurtherThe End

Thank you for your attention andparticipation!

Any questions or suggestions?

[5] [4] [3] [2] [1]

Christian Motika Synchronous Statecharts 36 / 36