Overview of meta-modeling works for multi-clocked environments

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Overview of meta-modeling works for multi-clocked

environments

Christian BrunetteIRISA/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

ConstToConstIn<<Connection>>

ConstInToConstIn<<Connection>>

ConstantIn<<Atom>>

ciDataType : field

Constant<<Atom>>

cDataType : fieldcValue : field

InputToOutput<<Connection>>

Equation<<Atom>>

EquationAttr : field

EquationBox<<Model>>

OutputToOutput<<Connection>>

OutputToLocal<<Connection>>LocalToInput

<<Connection>>

InputToInput<<Connection>>

Output<<Atom>>

oInitialValue : fieldoDataType : field

Local<<Atom>>

lInitialValue : fieldlInitialType : field

Input<<Atom>>

IDataType : fieldIInitialValue : field

Process<<Model>>

SignalSheet<<Model>>

ParamOutputFiles : fieldSignalOutputFiles : field

0..*

0..*

0..*

0..*

0..*

0..*

dst0..*

src0..*

dst 0..*

0..*

0..*

0..*

0..*

0..*

0..*

0..*

1..*

src0..*

dst 0..*

0..*

0..*

0..*0..*src 0..*dst 0..*

src0..*

dst0..*src

0..*

dst 0..*

src0..*

dst0..*

src 0..*

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

Recommended