overview of meta-modeling works for multi-clocked environments
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 PresentationTRANSCRIPT
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