Lock Step Refinement of Models, Metamodels and Model Transformations Variability Scenarios in Model-Driven Product Lines Donostia, May 28th, 2009
idea observation Observe lock-step inter-relationships between Models and metamodels Metamodels and model transformations
their variability is closely inter-related
pop-up idea The Lock-Step Refinement of Models, Metamodels and Model Transformations
contribution raise the concept of lock-step inter-relationships between apply Step-wise refinement To metamodels and model transformations
applicability to a case study for an embedded system
background (already well-known here) Model-Driven Development Models Metamodels Model Transformations
On the Refinement of Models Most of current work Show how to do so with Step-wise refinement
RainCreek: A Case for MDD Applying Model-Driven Development Model describing a flooding system with various subsystems A class is implemented for each subsystem using C++ Implementation code is automatically generated using a MOFScript transformation RcMM
<>
RainCreek
Rc2Cpp
Code template
<>
subsystem.cpp …
On the Refinement of Models RainCreek We have a base model representing a subsystem with various inputs A feature adds params to the subsystem The model is refined to extend it with feature elements RainCreek Params Subsystems Temp Cooling
Inputs Flow
RainCreek P1 Subsystems P2 Cooling
Flow Inputs
Temp
Params
P1 P2
Lock-Step Refinement What is it Model has been refined with new features The new features are not defined in the metamodel the composed model doesn’t conform to the metamodel The metamodel needs to be refined
Params??
RainCreek Subsystems Cooling
Flow Inputs Params
Temp P1 P2
Big picture A Lock-Step Refinement is defined as a set
ΔMMA
MMA ΔmA
ΔMMB
ΔTAB
<>
MMB
TAB <>
<>
mA
mB
ΔmB
Refinement of Metamodels Metamodel is refined with the new elements Necessary classes and relationships are added to define params
Refinement of Model Transformations Model transformation is refined to map new element types Some rules are extended and new ones are added
Conclusions A broader perspective on the application of variability to MDD Step-wise refinement is applied beyond models We focused on the refinement of metamodels and model transformations We observed Lock-Step Refinements among them Ideas shown with a case study of an embedded system. Available http://www.ikerlan.es/softwareproductline/gpce2009examples.zip