Introduction Synoptic language Middleware/Synoptic Interaction Current works - SPaCIFY project - Synoptic : Spacecraft Synchronous DSML Alexandre Cortier Post-doc at IRIT/ACADIE ❝♦rt✐❡r❅✐r✐t✳❢r IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 1/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works 1. Introduction 2. Synoptic language 3. Middleware/Synoptic Interaction 4. Current works IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 2/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works SPaCIFY : ANR Project Spacify ANR (French Research National Agency) Project End : September 2009 Aim : ◮ R & D project aiming at developing a design environment for critical embedded software (Spacecraft System) ◮ Model-Driven Engineering and Formal Methods • model checking • formally-verified domain specific transformations ◮ multi-clock synchronous paradigm ◮ simulation and analysis tools ◮ scheduling analysis ◮ executive platform supporting distribution, partitionning and dynamic adaptation (middleware) Environment components will be built upon the Topcased toolkit. ( The Open-Source Toolkit for Critical Systems ) IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 3/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works The SPaCIFY Project Industrial Stakeholders : ◮ CNES, Thales Alenia Space, EADS Astrium • spacecraft system designers ◮ Anyware Technologies, GEENSYS • graphical design environment • configuration, versions and documentation management Academic Stakeholders : ◮ IRIT-ACADIE (Toulouse): Synoptic language definition, formally-verified model transformations ◮ ENSTB-CAMA (Brest) : middleware design ◮ IRISA-ESPRESSO (Rennes) : synchronous semantics ◮ LaBRI (Bordeaux) : model-checking IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 4/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic Synoptic : DSML ( Domain Specific Modeling Language ) for spacecraft systems. Requirements : central language of the development environment support an iterative and incremental development process functional, architectural and dynamic views specifications modular design based on a synchronous semantics (functional part) IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 5/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Overview : SPaCIFY development process Dynamic/Hardware Simulink / Stateflow models Textual Requirement Specification (limited to functional behavior) Automation / System Engineer AADL models Model Transformation Req. Analysis Design S O F T "Functional" W Synoptic model A R Automata elicitation Domain specific transfo. pattern E Software function splitting Synoptic Transfo. pattern Model Organisation D E Synoptic model V E L O Dynamic analysis and design P M Code Generation Source Code E N Synoptic model MW Config. T MW Config. IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 6/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Overview : SPaCIFY development process Dynamic/Hardware Simulink / Stateflow models Textual Requirement Specification (limited to functional behavior) Automation / System Engineer AADL models Model Transformation Req. Analysis Design S O F T "Functional" W Synoptic model A R Synchronous E World D E Synoptic model V E L O Dynamic analysis and design P M Code Generation Source Code E N Synoptic model MW Config. T MW Config. IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 7/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works 1. Introduction 2. Synoptic language 3. Middleware/Synoptic Interaction 4. Current works IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 8/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic Synoptic : a graphical and textual DSML provides high-level constructions to handle ◮ multi-layers description (various modelling aspect) ◮ various granularity levels (iterative and refinement development) ◮ modular approach based on a synchronous semantics. ◮ formal and deterministic analysis and verification ◮ refinement proof ◮ transformation proof IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 9/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic : multi-layers system specification Synoptic is not fundamentally a new language but an integration of different sources and concepts. Synoptic is inspired by several approaches : Geneauto : safe subset of the Simulink/Stateflow modelling language used for the development of certified safety critical embedded real time systems AADL : Architecture Analysis & Design Language (formerly Avionics Architecture Description Language) Components Models : CCM, Fractal IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 10/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic : multi-layers system specification Software Architecture : Geneauto approach ◮ structural feature : Dataflow models (“Blocks Diagrams”) ◮ behavioral feature : Control Flow models (“Finite States Machines”) ◮ real-time constraints : clock properties Dynamic/Hardware Architecture : AADL approach ◮ Threads description ◮ platform aspects (“components view”) ◮ mappings : which component execute which functional blocks ? • functional blocks → threads • threads → hardware components (processor) • signals → bus • variables → memory IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 11/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic : multi-layers system specification Functional and control design Software architecture Threads + Properties Dynamic architecture 10 Hz 50 Hz Hardware architecture Device_1 Bus Processor Hardware Design IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 12/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic : multi-layers system specification Functional and control design Software architecture mappings Threads + Properties Dynamic architecture 10 Hz 50 Hz mappings Hardware architecture Device_1 Bus Processor Hardware Design IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 13/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic : multi-layers system specification Functional and control design Software architecture mappings Threads + Properties Dynamic architecture 10 Hz 50 Hz mappings Hardware architecture Device_1 Bus Processor Hardware Design IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 14/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic : functional model Software architecture = blocks/nodes hierarchy A node in a block diagram has : ◮ a type ◮ several implementations a node type describes interaction ports (interface) different kinds of implementations : ◮ dataflow : describes functional part ◮ automaton : describes behavioral part (modes) ◮ external/primitive : “black box” Dataflow and automaton blocks are mutually nested. IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 15/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic : functional model (block hierarchy) AUTOMATON transition Etat_1 Etat_2 DATAFLOW MACRO−ETAT AUTOMATON Garde Etat_1.1 Etat_1.2 Action Macro−état 1.3 IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 16/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic : functional model ( node type ) Node type example : 1 node type ❙✉♥P♦✐♥t✐♥❣ 2 features 3 ■▼❯❴❉❛t❛✿ in data port array ✸ of double ❀ 4 ❙❚❘❴❉❛t❛✿ in data port array ✹ of double ❀ ❉❖❘❴❉❛t❛✿ in data port array ✹ of double ❀ 5 ▼❚◗❴❈♠❞✿ out data port array ✸ of double ❀ 6 ❘❲❴❈♠❞✿ out data port array ✸ of double ❀ 7 end ❙✉♥P♦✐♥t✐♥❣❀ 8 Implicit ports : reset : re-initialization (boolean port) trigger : block activation (event port) enable : block activation control (boolean port) IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 17/28
Introduction Synoptic language Middleware/Synoptic Interaction Current works Synoptic : functional model ( dataflow ) Node type identifier Dataflow implementation name int1 . dtf node body is dataflow blocks sc1 : dataflow dtf2 << period = 10 ms >> sc2 : node type int2 ; −− to refine Hierarchy sc3 : extern var tc1; −− MW/Synoptic interaction sc4 : automaton aut ; sc1 : external algo << when evt1 >> Logical Expression signals s2 : event (ev1? and (dp>3)^) −> sc1. trigger ; s1 : data port sc2.odp −> sc1.idp ; .... Port identifier properties .... end int1.dtf ; IRIT - SPaCIFY project - , Synoptic : Spacecraft Synchronous DSML 18/28
Recommend
More recommend