220 likes | 347 Views
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
E N D
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: 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
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