Overview of meta-modeling works for multi-clocked environments Christian Brunette IRISA/INRIA Rennes – ESPRESSO Synchron 2005
Motivations Generalize the use of Polychrony SystemC SSA Signal Be able to operate in popular frameworks Metamodeling approach OPENEMBEDD & TOPCASED projects Definition of a UML profile for real-time and embedded systems (MARTE) Develop a front-end for different multi- clocked environments
Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…
Generic Modeling Environment Configurable UML toolkit that supports the creation of : domain-specific modeling program synthesis environments Free and Open-Source Defines modeling paradigms as metamodels Describes concepts and relations in UML-like class diagrams
Generic Modeling Environment MetaGME: modeling paradigm for specifying metamodels: Offers specific stereotypes: FCO, Atom, Model, Reference… Relation: containment, inheritance (classical and interface/implementation), Connection classes Offers a ‘separation of concerns’ concept (Aspect): specify visibility + way to use FCO OCL constraints + OCL functions
GME tools MetaGME interpeter OCL constraint checker Plug-in generator: COM language Builder Object Network (BON) API
Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…
1st version
1st version: example started ^= sec ^+ go started := true when go default started$ count := (count$) + 1 when started
Signal-Meta Meta-model close to SIGNAL grammar v4 An Atom per SIGNAL operator (arithmetic, boolean, clock relation, scheduling,…) An Atom for signal/constant declaration A Model for process declaration, module, type declaration, sub-process, iteration A Reference per process instantiation, for signals 3 Aspects: interface, dataflow, and clock relations
A Signal-Meta paradigm sheet
Example of modeling: watchdog Dataflow Aspect Clock relations Aspects
Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…
Interpreter Instantiation of graphical objects into BON2 objects Check & build SIGNAL equations Write into files
Interpreter Build equations by recursive analysis on FCOs Start/End on end-statements (signals, constants,…) Checked Signal/constant references Validity of FCO attribute values Detect cyclic definition Not checked: Type Clock constraints
Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…
Mode Automata States contains SIGNAL “equations” Only weak preemption for transitions Priority attribute of transitions determinism INRIA RR-5728
MIMAD Model for Integrated Modular Avionics Design Models for IMA systems, modules, partitions, and processes (standard ARINC653) Describe mainly IMA Process and Module levels References for Blocks (APEX services) User-defined services described in SIGNAL Represents scheduling of blocks as a mode automaton Extension of the Signal-Meta Interpreter INRIA RR-5715
Signal-Meta on Eclipse Use ATL (ATLAS Transformation Language) Transformation of MetaGME AMMA (EMF) AMMA EMF Current problem: lost graphical information Bridging the Generic Modeling Environment and the Eclipse Modeling Framework, 4th workshop of Best Practice for MDSD, OOPSLA 2005.
Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…
Conclusions A new front-end for Polychrony Modeling Code generation Foundation for several multi-clock modeling paradigms Signal-Meta will be available on Eclipse Too few interactivity during the modeling: no type or clock constraint checking
Future works Polychrony as a GME Addon Check dynamically types and clock constraints Interactivity during modeling Integration in OPENEMBEDD and/or TOPCASED platform Improvement of transformations MetaGME EMF