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

Post on 22-Jan-2018

60 views 0 download

transcript

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