Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
EMF Facet
A Non-Intrusive Tooling to Extend Metamodels
Frédéric Madiot, Mia-Software
Grégoire Dupé, Mia-Software
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Mia-Software
Mia-Software is a Software Company
80 customers, in 10 different countries
Eclipse Foundation member (5 committers)
Develops Model-Driven solutions since 1998
Mia-Insight :
Quality Analysis
Legacy Understanding
Application Mining
Mia-Studio
Model-to-Model transformation
Model-to-Text transformation
Eclipse Projects
MDT/MoDisco
EMFT/EMF Facet
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Why to extend ?
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Add new links
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Add new attributes
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Add new operations
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Add new subtypes
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Icon depending
on the category
Add non-semantic properties
IconLabel color depending
on the number of books
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Oups…!
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Extensibility limitations
What if you are not the author of the metamodel ?
You can’t always change the metamodel
ex: UML
What to do with existing models ?
Existing Instances can’t change their type
Ex: Book -> ScienceFictionBook
What if your extension is specific to a working context ?
You can’t dynamically create/load/unload extensions
Ex: Statistics, Shortcuts, Viewpoint, etc.
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
EMF Facet project
An non-intrusive metamodel extension tooling
http://www.eclipse.org/modeling/emft/facet/
Initial contribution from MoDisco
Facet
Metamodel extensibility
Customization
Generic additional properties
Query
Computable values
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Why to use EMF Facet?
Tools developpers: provide customizable tools
Call EMF Facet APIs
Execute Queries
Apply Facets
Get extended Attributes and References values
Get graphical property values
Integrate customizable tree view
Tools users: adapt tools to your needs
Write your own queries
Customize your diagrams, forms, trees, …
Declare your own model extension
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Demo
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
What can you do with EMF Facet ?
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Example: UML extension for SysML
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Example: Java extension for JPA
Additional
attribute
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Example: Java extension for JUnit
Icon for
test methods
Additional
relations
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Example: Java extension for JUnit
Additional
attributes
Color calculated
dynamically
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Project Status
Project plan
Project creation: done
Initial contribution: in progress
Refactoring: in progress
Release within Indigo
Team
Gabriel Barbier (Mia-Software)
Nicolas Bros (Mia-Software)
Hugo Brunelière (INRIA / AtlanMod)
Grégoire Dupé (Mia-Software)
Fabien Giquel (Mia-Software)
Frédéric Madiot (Mia-Software)
Patrick Tessier (CEA)
Copyright © 2010 Mia-Software
All Rights Reserved
Copyright © 2010 Mia-Software
All Rights Reserved
Thank you !
Eclipse projects
http://www.eclipse.org/MoDisco/
http://www.eclipse.org/modeling/emft/facet/
Company
http://www.mia-software.com/
http://www.sodifrance.fr/
Blog
http://fmadiot.blogspot.com/

EMF Facet at ESE 2010

  • 1.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved EMF Facet A Non-Intrusive Tooling to Extend Metamodels Frédéric Madiot, Mia-Software Grégoire Dupé, Mia-Software
  • 2.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Mia-Software Mia-Software is a Software Company 80 customers, in 10 different countries Eclipse Foundation member (5 committers) Develops Model-Driven solutions since 1998 Mia-Insight : Quality Analysis Legacy Understanding Application Mining Mia-Studio Model-to-Model transformation Model-to-Text transformation Eclipse Projects MDT/MoDisco EMFT/EMF Facet
  • 3.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Why to extend ?
  • 4.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Add new links
  • 5.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Add new attributes
  • 6.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Add new operations
  • 7.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Add new subtypes
  • 8.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Icon depending on the category Add non-semantic properties IconLabel color depending on the number of books
  • 9.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Oups…!
  • 10.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Extensibility limitations What if you are not the author of the metamodel ? You can’t always change the metamodel ex: UML What to do with existing models ? Existing Instances can’t change their type Ex: Book -> ScienceFictionBook What if your extension is specific to a working context ? You can’t dynamically create/load/unload extensions Ex: Statistics, Shortcuts, Viewpoint, etc.
  • 11.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved EMF Facet project An non-intrusive metamodel extension tooling http://www.eclipse.org/modeling/emft/facet/ Initial contribution from MoDisco Facet Metamodel extensibility Customization Generic additional properties Query Computable values
  • 12.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Why to use EMF Facet? Tools developpers: provide customizable tools Call EMF Facet APIs Execute Queries Apply Facets Get extended Attributes and References values Get graphical property values Integrate customizable tree view Tools users: adapt tools to your needs Write your own queries Customize your diagrams, forms, trees, … Declare your own model extension
  • 13.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Demo
  • 14.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved What can you do with EMF Facet ?
  • 15.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Example: UML extension for SysML
  • 16.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Example: Java extension for JPA Additional attribute
  • 17.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Example: Java extension for JUnit Icon for test methods Additional relations
  • 18.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Example: Java extension for JUnit Additional attributes Color calculated dynamically
  • 19.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Project Status Project plan Project creation: done Initial contribution: in progress Refactoring: in progress Release within Indigo Team Gabriel Barbier (Mia-Software) Nicolas Bros (Mia-Software) Hugo Brunelière (INRIA / AtlanMod) Grégoire Dupé (Mia-Software) Fabien Giquel (Mia-Software) Frédéric Madiot (Mia-Software) Patrick Tessier (CEA)
  • 20.
    Copyright © 2010Mia-Software All Rights Reserved Copyright © 2010 Mia-Software All Rights Reserved Thank you ! Eclipse projects http://www.eclipse.org/MoDisco/ http://www.eclipse.org/modeling/emft/facet/ Company http://www.mia-software.com/ http://www.sodifrance.fr/ Blog http://fmadiot.blogspot.com/

Editor's Notes

  • #3 First of all, let me me introduce Mia-Software and Atlanmod. Mia-Software is member of the Eclipse foundation and we develop tools based on model-driven engineering. These tools can be combined to transform existing software systems with a model-driven approach. The idea is to create models from the existing systems, transform these models and regenerate the code with a new architecture or new technology.