View
109
Download
0
Category
Preview:
Citation preview
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
On Lightweight Metamodel Extension to Support
Modeling Tools Agility
Hugo Bruneliere, Jokin Garcia, Philippe Desfray, Djamel Eddine Khelladi, Regina Hebig,
Reda Bendraou and Jordi Cabot
ECMFA 2015 @ L’Aquila, ItalyWednesday 22nd of July 2015
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Introduction
● MDE in the industryo Various context, various purposes...
● Need for adaptation of model-based environments/toolso Traceability, coherence, interoperability, etc.
● Evolving and/or adding (new) metamodelso Cf. OMG MOF Extension Facility (MEF) RFP...
● More agility is required!
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
MoNoGe Project (French FUI #15)
● “ “New generation modeling tool”
● Partners:o Industrial - Softeam (leader), DCNS, Sodifranceo Academic - LIP6, ARMINES/Mines Nantes
● Duration: 30 months● Total budget: 3,57M€
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Industrial Motivation
● Minimizing cost/effort when evolving modeling toolso Metamodels are core artifacts (cf. related
parsers, editors, generators, etc.)
● Example of the Modelio environmento Implementations of UML, BPMN, SysML, etc.o Parts reused and/or extended for domain-specific
modeling (e.g. System, EA, Requirement)
● Need for more agile metamodel extension
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Proposition/Contribution
● A generic lightweight metamodel extension approach for rapid and efficient adaptations of modeling tools
o Base list of metamodel extension operators
o Corresponding generic (textual) DSL
o Architecture for an EMF-based implementation
o DSL-compliant solution relying on Modelio
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Terminology
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Characteristics (1/2)
● Genericityo From any metamodel, modeling tool, framework
or environment
● Non-intrusivenesso No modification of original (meta)models
● Persistence & Interoperability o Notably of metamodel extension (cf. our DSL)
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Characteristics (2/2)
● Compatibility/conformance preserving
● Transparency o From both tool and user perspectives
● Dynamicity & synchronizationo E.g. at extension application/removal
● Runtime computationo Notably at model-level
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Base Operators (1/2)
● ADD (a new concept)o Create “from scratch”o Specialize (subtype) a concepto Generalize (supertype) concept(s)
● FILTER (an existing concept)
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Base Operators (2/2)
● MODIFY (an existing concept)o Add property to an existing concepto Filter property from an existing concepto Modify property (Filter + Add)o Add constraint to concept/propertyo Filter constraint from concept/property
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Proposed DSL (1/3)
Operator Textual Syntax
ADD - “From scratch” add class X
ADD - Specializingadd class Y
specializing uml.A
ADD - Generalizationadd class Z
generalizing uml.B, uml.C
FILTER filter class uml.D
MODIFY (cf. next sub-
operators)modify class uml.A { … }
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Proposed DSL (2/3)
Operator Textual Syntax
MODIFY - Add prop.add property propertyA
type String
MODIFY - Filter prop. filter property propertyB
MODIFY - Modify prop.
modify property propC
attribute = "name",
value = "propCbis"
MODIFY - Add constr. add constraint consA “val”
MODIFY - Filter constr. filter constraint consB
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Proposed DSL (3/3)
● Example of a simple DODAF extension
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Eclipse support
● https://github.com/atlanmod/monoge
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Eclipse support
● Short demonstration...
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Modelio support
● https://www.modelio.org/downloads/download-modelio.html
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Related Work (1/2)
● Metamodel Evolution approacheso Main effort on migrating related artifacts (more
or less automated)o Original metamodels usually abandonedo Our solution: metamodel versions can coexist
● (UML) Profile or annotation mechanismso Mostly limited to adding extra (meta)datao Our solution: more possible extension operations
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Metamodel Extension - Related Work (2/2)
● Model Composition techniqueso Creation of a single model by merging elements
coming from several oneso Main issues on synchronization and scalabilityo Our solution: “new” & “old” models are the same
● Runtime-oriented solutions (e.g. EMF Facet)o (Meta)model extension via derived informationo Our solution: new “materialized” data can be
supported
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Conclusion
● Lightweight metamodel extension mechanism based on a textual DSL
● Two alternative but DSL-compliant implementationso Eclipse/EMF-based architectureo Modelio solution
● Quite promising results so far (according to our MoNoGe partners)
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Future Work
● DSL for metamodel extensiono Polish current textual syntax + toolingo Study other possible syntax(es) - e.g. graphical
● Validation of extension applicationo E.g. coherence/consistency at model-level
● More complex extension algebrao Combination/composition of base operators...
© AtlanMod (atlanmod-contact@mines-nantes.fr)© AtlanMod (atlanmod-contact@mines-nantes.fr)
Thanks for your attention!
● Questions? Comments?
● Contact persons:o Hugo Bruneliere - hugo.bruneliere@inria.fro Jokin Garcia - jokin.garcia-perez@inria.fr
Recommended