On the Customization of Model Management Systems for File-Centric IDEs

16
1 David Méndez-Acuña , 1 Rubby Casallas and 2 Anne Etien October 27th 2013 DSM Workshop. Indianapolis USA On the customization of model management systems for file-centric IDEs 1 Department of Systems and Computing Engineering. Bogotá, Colombia http://sistemas.uniandes.edu.co/ 2 RMOD Team project Lille, France http://rmod.lille.inria.fr/web/ 1

Transcript of On the Customization of Model Management Systems for File-Centric IDEs

Page 1: 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  

Page 2: On the Customization of Model Management Systems for File-Centric IDEs

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  

Page 3: On the Customization of Model Management Systems for File-Centric IDEs

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  

Page 4: On the Customization of Model Management Systems for File-Centric IDEs

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  

Page 5: On the Customization of Model Management Systems for File-Centric IDEs

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  

Page 6: On the Customization of Model Management Systems for File-Centric IDEs

6  

Page 7: On the Customization of Model Management Systems for File-Centric IDEs

The metadata schema is predefined.

Extensibility mechanisms

are difficult to use.

Shortcomings

7  

Page 8: On the Customization of Model Management Systems for File-Centric IDEs

How to facilitate the customization of model management systems for

file-centric IDEs?  

8  

Page 9: On the Customization of Model Management Systems for File-Centric IDEs

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  

Page 10: On the Customization of Model Management Systems for File-Centric IDEs

Metadata schema

(Expressed  in    MOMS-­‐DL)  

MMS  

Metadata  repository  Model-­‐centric  views  Searching  engine  

Proposed approach Strategy overview

10  

Page 11: On the Customization of Model Management Systems for File-Centric IDEs

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  

Page 12: On the Customization of Model Management Systems for File-Centric IDEs

12  

Generated metadata schema

Page 13: On the Customization of Model Management Systems for File-Centric IDEs

Model::allInstances()−> select(m | m.conformsTo = ’MazeGames’)

13  

Page 14: On the Customization of Model Management Systems for File-Centric IDEs

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  

Page 15: On the Customization of Model Management Systems for File-Centric IDEs

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  

Page 16: On the Customization of Model Management Systems for File-Centric IDEs

Questions?

16