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, 29.11.2010 Christian Motika Executing SyncCharts with 1 / 23
KIELER Semiotics CEC Execution Manager SCC Semantics Automatic Layout Synchronous C/Java CodeGen / Sim UML State Machines () SyncCharts Semiotics Pragmatics Dynamic Views Data Flow Syntax View Management Actor Oriented UML Christian Motika Executing SyncCharts with 2 / 23
Overview KIELER Overview SyncCharts Heterogenous Modeling ModalModel and SR Domain KIELER leveraging Summary Simulation Approach Transformations Eclipse Integration Christian Motika Executing SyncCharts with 3 / 23
Overview SyncCharts What is KIELER? Kiel Integrated Environment for Layout Eclipse Rich Client Modeling platform and test bed Improve pragmatics Open source and Eclipse based (plug-ins) General concepts: Generic approaches Symbiosis w/ Eclipse technologies (e.g., EMF, GMF, TMF, Xpand, Xtend) Interfaces to other tools (, Papyrus) Christian Motika Executing SyncCharts with 4 / 23
Overview SyncCharts SyncCharts Statechart dialect Mealy machine with Parallelism, hierarchy, compound events, broadcast Graphical notation for the Esterel synchronous language Synchrony hypothesis Discrete ticks Computations take no time Christian Motika Executing SyncCharts with 5 / 23
Overview SyncCharts Abstract Syntax (EMF) Christian Motika Executing SyncCharts with 6 / 23
Overview KIELER Overview SyncCharts Heterogenous Modeling ModalModel and SR Domain KIELER leveraging Summary Simulation Approach Transformations Eclipse Integration Christian Motika Executing SyncCharts with 8 / 23
Heterogenous Modeling ModalModel and SR Domain The project studies heterogeneous modeling, simulation, and design of concurrent systems. Introduction to II, UC Berkeley Executable Models to describe behavior of reactive systems models are a set of interacting components Actor-Oriented Design Constructed under a model of computation (MoC) Christian Motika Executing SyncCharts with 9 / 23
Actor Example Introduction to II, UC Berkeley, 2008
Heterogenous Modeling ModalModel and SR Domain Model of Computation Defines interaction of system components Semantics of a model Model can have more than one MoC MoC domains/directors: Process Networks (PN) Continuous Time (CT) Finite State Machines (FSM) Synchronous Reactive (SR)... Christian Motika Executing SyncCharts with 11 / 23
Heterogenous Modeling ModalModel and SR Domain ModalModel Domain Entities not actors but states Execution: Strictly ordered sequence of state transitions Build-in expression language to evaluate guards Refinements (multiple) Reset and preemptive transitions Christian Motika Executing SyncCharts with 12 / 23
Heterogenous Modeling ModalModel and SR Domain Synchronous Reactive Domain Zero-Delay blocks Instantaneous communication Feedback Fixed point Stable state Values from flat lattice Determinism Unique solution Christian Motika Executing SyncCharts with 13 / 23
Overview KIELER Overview SyncCharts Heterogenous Modeling ModalModel and SR Domain KIELER leveraging Summary Simulation Approach Transformations Eclipse Integration Christian Motika Executing SyncCharts with 14 / 23
Simulation Approach Transformations Eclipse Integration Simulation Engine Mapping SyncCharts to : Mealy machine ModalModel Orthogonality Concurrent Actors (inherent) Hierarchy Compound Actors, state refinements Compound events Expression language Interesting: Implicit broadcast vs. explicit signal representation Signal coherence (must/cannot analysis) Transition priorities Normal termination Christian Motika Executing SyncCharts with 15 / 23
Transformation Example: Parallelism and Signals
Transformation Example: Hierarchy
Simulation Approach Transformations Eclipse Integration Schematic Overview M2M description SyncChart 2 Xtend MM SyncChartsMM metamodels SyncChart Model model to simulate Xtend M2M Simulator Data Producer Data Observer produce Model load & execute simulation data, model outputs commands, model inputs Execution Manager Christian Motika Executing SyncCharts with 18 / 23
Simulation Approach Transformations Eclipse Integration Architecture and User Interface Execution Manager Runtime Data Producer/Observer Data Producer/Observer Data Observer Data Observer Data Producer Data Producer/Observer Java Simulator Generic Simulator II Environment Visualization Model Feedback Visualization Recorded Trace Player TCP/IP Interface External Appl. Christian Motika Executing SyncCharts with 19 / 23
Simulation Approach Transformations Eclipse Integration KIELER Simulation Demo LIVE DEMO Christian Motika Executing SyncCharts with 20 / 23
Summary To Go Further The End Summary KIELER KIELER leveraging concept Construct runnable models for EMF based models (Xtend) integration in Eclipse Infrastructure for interactive model execution Also: Visualization, stepwise transformation, model checking, online debugging, regression tests, validation,... Christian Motika Executing SyncCharts with 21 / 23
Summary To Go Further The End To Go Further ANDRÉ, C. Computing SyncCharts reactions. In SLAP 2003: Synchronous Languages, Applications and Programming, A Satellite Workshop of ECRST 2003 (2004), vol. 88, pp. 3 19. MOTIKA, C., FUHRMANN, H., AND VON HANXLEDEN, R. Semantics and execution of domain specific models. In 2nd Workshop Methodische Entwicklung von Modellierungswerkzeugen (MEMWe 2010) at conference INFORMATIK 2010 (Leipzig, Germany, Sept. 2010), GI-Edition Lecture Notes in Informatics (LNI), Bonner Köllen Verlag. UC BERKELEY, EECS DEPT. 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 Executing SyncCharts with 22 / 23
Summary To Go Further The End Thank you for your attention and participation! Any questions or suggestions? Christian Motika Executing SyncCharts with 23 / 23