On the Customization of Model Management Systems for File-Centric IDEs
-
Upload
david-mendez-acuna -
Category
Software
-
view
60 -
download
0
Transcript of On the Customization of Model Management Systems for File-Centric IDEs
1David Méndez-Acuña, 1Rubby Casallas and 2Anne Etien
October 27th 2013 DSM Workshop. Indianapolis USA
On the customization of model management systems for file-centric IDEs
1Department of Systems and Computing Engineering. Bogotá, Colombia
http://sistemas.uniandes.edu.co/
2RMOD Team project Lille, France
http://rmod.lille.inria.fr/web/
1
Model-driven software
engineering
Terminal Model Metamodel
Model-to-model transformation
Model-to-text transformation
Weavings
UML Profiles
Grammars
High-order transformation Others coming?
2
What about the tools for dealing with this interlinked network of modeling artifacts?
IDEs adapted from code-driven techniques
(e.g., EMF)
IDEs built from scratch for model-driven techniques
(e.g., MetaEdit+)
Models-‐centric IDEs File-‐centric IDEs 3
What about the tools for dealing with this interlinked network of modeling artifacts?
Support for manipulating files that can be
manipulated with editors.
A model is a file!
Support for the par7cular needs of the model-‐driven
engineers.
Mechanisms for manipula7ng the network of modeling
ar7facts.
Models-‐centric IDEs File-‐centric IDEs
What about interlinked models?
4
Metadata repository
Models-centric project views
Searching engines (metadata queries)
Model::allInstances()−>select(m | m.conformsTo.kind = ’Java’)
Model management systems for file-centric IDEs
5
6
The metadata schema is predefined.
Extensibility mechanisms
are difficult to use.
Shortcomings
7
How to facilitate the customization of model management systems for
file-centric IDEs?
8
Proposed approach Key ideas
1. A domain-specific modeling language for defining metadata schemas.
2. A code-generation process for automatically
produce a MMS containing:
a) A metadata schema and the platform for synchronizing it with the file system.
b) A model centric view that shows the modeling artifacts classified by type.
c) A search engine 9
Metadata schema
(Expressed in MOMS-‐DL)
MMS
Metadata repository Model-‐centric views Searching engine
Proposed approach Strategy overview
10
MetaMegaModel example{ artifctTypes{ ArtifactType Metamodel { attributes{ attribute path : string [1] attribute uri : string [1] } } ArtifactType Model{ attributes { attribute path string [1] } references{ reference conformsTo : Metamodel[1] } } ArtifactType M2MTransformation { attributes { attribute path string [1] } references{ reference source: Metamodel [1] reference target: Metamodel [1] } } }}
MOMS-DL (Model Management
Systems DefinitionLanguage)
11
12
Generated metadata schema
Model::allInstances()−> select(m | m.conformsTo = ’MazeGames’)
13
Conclusions (Model Management Systems)
1. Models are not useful in isolation; interlinked models are a must.
2. We don’t need tool support for manipulating
models; we need tool support for manipulated interlinked models.
3. Just models, metamodels and transformations? No.
Tool support must offer customization.
14
Conclusions (Code generation process)
1. Generate code is a difficult task. Generate Eclipse plugins is even more difficult! Why?
1. Several plug-ins imply generating the code for
managing dependencies. 2. There are several concerns that should be
modeled in order to be able to generate the 100% of the code.
15
Questions?
16