15
AtlanMod Team (Hugo Bruneliere) Eclipse Labs for Improving DSL Development 29/06/2012 1 © AtlanMod - [email protected] Eclipse DemoCamp Juno Nantes (France) Thursday 28 th of June 2012

Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Embed Size (px)

Citation preview

Page 1: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

AtlanMod Team (Hugo Bruneliere)

Eclipse Labs for Improving

DSL Development

29/06/2012 1 © AtlanMod - [email protected]

Eclipse DemoCamp Juno

Nantes (France) – Thursday 28th of June 2012

Page 2: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

AtlandMod: an Expert Research Team in MDE/Modeling

A common team between INRIA, Ecole des Mines de Nantes

(EMN) & LINA

Expertise on Model Driven Engineering

(MDE)

Focus on “Modeling Technologies for

Software Production, Evolution, and

Operation”

29/06/2012 2 © AtlanMod - [email protected]

Labs (scientific experts)

SMEs

(technology providers)

Big Companies

(end-users)

OMG

Eclipse

Open source

Etc.

Application Driven Research

Virtuous triangle

Page 3: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Developing DSLs…

29/06/2012 3 © AtlanMod - [email protected]

Page 4: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Developing DSLs…

29/06/2012 4 © AtlanMod - [email protected]

Domain-Specific Language – Abstract syntax: metamodel – Concrete syntax(es): textual or graphical – Semantics: e.g. via model transformations

Development of the DSL core (possible scenario)

1. Collaborative work to define the main concepts

2. Automated verification to validate some properties

3. View definition/building to validate the language

Page 5: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Eclipse Labs prototypes…

29/06/2012 5 © AtlanMod - [email protected]

Page 6: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Collaboro: Enabling the collaborative definition of DSLs

29/06/2012 6 © AtlanMod - [email protected]

Goal

Make the DSL development process more collaborative, meaning that anyone can help

How to do it

We define Collaboro, a DSL to represent proposals, solutions and comments during the development process

Implementation

Eclipse plugin providing the infrastructure needed to enable the collaboration

Page 7: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Collaboro: Enabling the collaborative definition of DSLs

29/06/2012 7 © AtlanMod - [email protected]

Collaboration in DSL development…

Page 8: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Click here for accessing the demo…

Collaboro: Enabling the collaborative definition of DSLs

Page 9: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

EMFtoCSP: automatically verifying EMF/UML/OCL models

29/06/2012 9 © AtlanMod - [email protected]

Goal

Verification of EMF static models and UML Class Diagrams to increase model reliability and soundness of MDE development processes.

How to do it

Checking whether the input model satisfies a given set of desirable correctness properties

Implementation

Prototype integrated in Eclipse

Page 10: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

EMFtoCSP: automatically verifying EMF/UML/OCL models

29/06/2012 10 © AtlanMod - [email protected]

Automated verification of metamodel…

NO VALID

VALID

+

Check •Weak Satisfiability •Strong Satisfiability •Lack of Constraints Redundancies •Lack of Constraints Subsumtions

EMFtoCSP EMF Models UML Class Diagram Models

Valid Instantiation

Sample

Page 11: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

EMFtoCSP: automatically verifying EMF/UML/OCL models

Click here for accessing the demo…

Page 12: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Virtual EMF: transparently composing, weaving or linking models

29/06/2012 12 © AtlanMod - [email protected]

Goal

Scalable and transparent generation of model views to enable unified visualization and editing of multiple (complex) models

How to do it

Representing views as a virtual model that reuses and propagates changes to base model elements

Implementation

Background Eclipse plugin to enable virtual model usage within standard EMF tools

Page 13: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Virtual EMF: transparently composing, weaving or linking models

29/06/2012 13 © AtlanMod - [email protected]

Transparent linking between different models…

Virtual Model VMab

Contributing Model Ma

Contributing Model Mb

Virtual EMF

Model Transformations

read/ write

read/ write

Corresp. Model

Model Editors

Page 14: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Virtual EMF: transparently composing, weaving or linking models

Click here for accessing the demo…

Page 15: Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Nantes

Thanks for your attention!

29/06/2012 15 © AtlanMod - [email protected]

Useful links – Collaboro

http://code.google.com/a/eclipselabs.org/p/collaboro/

– EMFtoCSP http://code.google.com/a/eclipselabs.org/p/emftocsp/

– Virtual EMF http://code.google.com/a/eclipselabs.org/p/virtual-emf/

AtlanMod contacts – Javier Canovas - [email protected] (Collaboro)

– Carlos Gonzalez - [email protected] (EMFtoCSP)

– Hugo Bruneliere - [email protected] (Virtual EMF)