22
Overview of meta-modeling works for multi-clocked environments Christian Brunette IRISA/INRIA Rennes – ESPRESSO Synchron 2005

Overview of meta-modeling works for multi-clocked environments

  • Upload
    jewel

  • View
    32

  • Download
    0

Embed Size (px)

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

Page 1: Overview of meta-modeling works for multi-clocked environments

Overview of meta-modeling works for multi-clocked

environments

Christian BrunetteIRISA/INRIA Rennes – ESPRESSO

Synchron 2005

Page 2: Overview of meta-modeling works for multi-clocked environments

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

Page 3: Overview of meta-modeling works for multi-clocked environments

Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…

Page 4: Overview of meta-modeling works for multi-clocked environments

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

Page 5: Overview of meta-modeling works for multi-clocked environments

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

Page 6: Overview of meta-modeling works for multi-clocked environments

GME tools MetaGME interpeter OCL constraint checker Plug-in generator:

COM language Builder Object Network (BON) API

Page 7: Overview of meta-modeling works for multi-clocked environments

Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…

Page 8: Overview of meta-modeling works for multi-clocked environments

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..*

Page 9: Overview of meta-modeling works for multi-clocked environments

1st version: example

started ^= sec ^+ go

started := true when go default started$

count := (count$) + 1 when started

Page 10: Overview of meta-modeling works for multi-clocked environments

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

Page 11: Overview of meta-modeling works for multi-clocked environments

A Signal-Meta paradigm sheet

Page 12: Overview of meta-modeling works for multi-clocked environments

Example of modeling: watchdog

Dataflow Aspect Clock relations Aspects

Page 13: Overview of meta-modeling works for multi-clocked environments

Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…

Page 14: Overview of meta-modeling works for multi-clocked environments

Interpreter Instantiation of

graphical objects into BON2 objects

Check & build SIGNAL equations

Write into files

Page 15: Overview of meta-modeling works for multi-clocked environments

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

Page 16: Overview of meta-modeling works for multi-clocked environments

Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…

Page 17: Overview of meta-modeling works for multi-clocked environments

Mode Automata

States contains SIGNAL “equations” Only weak preemption for transitions Priority attribute of transitions determinism INRIA RR-5728

Page 18: Overview of meta-modeling works for multi-clocked environments

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

Page 19: Overview of meta-modeling works for multi-clocked environments

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.

Page 20: Overview of meta-modeling works for multi-clocked environments

Outline What is GME ? Signal-Meta A new front-end for Polychrony Some extensions And then…

Page 21: Overview of meta-modeling works for multi-clocked environments

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

Page 22: Overview of meta-modeling works for multi-clocked environments

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