emf facet vs. emf profiles - eclipsecon north america 2012, modeling symposium
TRANSCRIPT
![Page 1: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/1.jpg)
You need to extend
your models?
EMF Facet vs. EMF Profiles
Hugo Bruneliere [email protected]
Modeling Symposium – Monday March 26th, 2012
Philip Langer [email protected]
![Page 2: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/2.jpg)
Modeling Language
Meta model
Concrete Syntax Editor
… generates Ruby on Rails.
… generates JavaServer Faces.
… generates DB Schema.
I want to additionally specify “Finder SQL” statements!
I want to additionally specify the bean scope!
Leave it as it is! If you introduce every
imaginable feature that I don’t need, I could have used
UML in the first place.
Why extending existing models?
![Page 3: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/3.jpg)
Modeling Language
Meta model
Concrete Syntax Editor
… generates Ruby on Rails.
… generates JavaServer Faces.
… generates DB Schema.
I want to additionally specify “Finder SQL” statements!
I want to additionally specify the bean scope!
Leave it as it is! If you introduce every
imaginable feature that I don’t need, I could have used
UML in the first place.
You need a lightweight extension mechanism!
Main Objectives - No modification of existing models - Adding of “concern-specific” information
I can’t address all your requirements!
Why extending existing models?
![Page 4: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/4.jpg)
EMF Facet - http://www.eclipse.org/modeling/emft/facet/
My instances (XMI)
conforms to
My model (in Ecore)
![Page 5: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/5.jpg)
EMF Facet - http://www.eclipse.org/modeling/emft/facet/
My instances (XMI)
conforms to
My model (in Ecore)
Facet extends
My facet model • Types
• Attributes
• References
uses
Queries
Different languages • Java
• OCL
• Etc.
relies on
![Page 6: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/6.jpg)
EMF Facet - http://www.eclipse.org/modeling/emft/facet/
My instances (XMI)
conforms to
My model (in Ecore)
Facet extends
My facet model • Types
• Attributes
• References
uses
Queries
Different languages • Java
• OCL
• Etc.
relies on
![Page 7: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/7.jpg)
EMF Profiles - http://code.google.com/a/eclipselabs.org/p/emf-profiles/
My model (in Ecore)
Ecore metamodel
conforms to
![Page 8: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/8.jpg)
EMF Profiles - http://code.google.com/a/eclipselabs.org/p/emf-profiles/
My model (in Ecore)
Ecore metamodel
conforms to
extends
My EMF Profile •Stereotypes
•Tagged Values
applied to
![Page 9: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/9.jpg)
EMF Profiles - http://code.google.com/a/eclipselabs.org/p/emf-profiles/
My model (in Ecore)
Ecore metamodel
conforms to
extends
My EMF Profile •Stereotypes
•Tagged Values
applied to
My model & profile application
conforms to
![Page 10: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/10.jpg)
Example for demo Review my model, Ms. “know-it-all”!
![Page 11: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/11.jpg)
Example for demo Review my model, Ms. “know-it-all”!
• Without polluting the original instances!
• Without affecting the Ecore model!
• But still in a structured way!
• Easily processible by humans and tools!
![Page 12: EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium](https://reader033.vdocuments.mx/reader033/viewer/2022052322/557b9f31d8b42ac9248b4dea/html5/thumbnails/12.jpg)
Model Extension
EMF Facet EMF Profiles
Adding of new model elements
Annotating of existing model elements
Support for types, attributes, references
Support for types, attributes, references
Dynamically calculated (via model queries)
Statically defined (via model editors)
Customization of tree view
Customization of diagram view