You need to extend
          your models?
 EMF Facet vs. EMF Profiles
Modeling Symposium – Monday March 26th, 2012

    Hugo Bruneliere              Philip Langer
   hugo.bruneliere@inria.fr   langer@big.tuwien.ac.at
Why extending existing models?
                                … generates Ruby on Rails.

                                   I want to additionally specify
                                     “Finder SQL” statements!

       Modeling Language
                                … generates JavaServer Faces.
   Meta    Concrete
   model    Syntax     Editor      I want to additionally specify
                                          the bean scope!



                                … generates DB Schema.

                                          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?
I can’t address all your
                                                      … generates Ruby on Rails.

     requirements!                                       I want to additionally specify
                                                           “Finder SQL” statements!

           Modeling Language
                                                      … generates JavaServer Faces.
       Meta    Concrete
       model    Syntax     Editor                        I want to additionally specify
                                                                the bean scope!



                                                      … generates DB Schema.

  You need a lightweight                                        Leave it as it is!
                                                            If you introduce every
  extension mechanism!                                     imaginable feature that I
                                                         don’t need, I could have used
                                                            UML in the first place.

                 Main Objectives
                 - No modification of existing models
                 - Adding of “concern-specific” information
EMF Facet - http://www.eclipse.org/modeling/emft/facet/



        My model (in Ecore)



     conforms to




       My instances (XMI)
EMF Facet - http://www.eclipse.org/modeling/emft/facet/

                              extends
                                            Facet

                                        My facet model
        My model (in Ecore)                • Types
                                           • Attributes       uses
                        relies on          • References


     conforms to                           Queries

                                                Different languages
                                                     • Java
                                                     • OCL
                                                     • Etc.



       My instances (XMI)
EMF Facet - http://www.eclipse.org/modeling/emft/facet/

                              extends
                                            Facet

                                        My facet model
        My model (in Ecore)                • Types
                                           • Attributes       uses
                        relies on          • References


     conforms to                           Queries

                                                Different languages
                                                     • Java
                                                     • OCL
                                                     • Etc.



       My instances (XMI)
EMF Profiles - http://code.google.com/a/eclipselabs.org/p/emf-profiles/


 Ecore metamodel



conforms to




      My model (in Ecore)
EMF Profiles - http://code.google.com/a/eclipselabs.org/p/emf-profiles/
                                extends



 Ecore metamodel                               My EMF Profile
                                                   •Stereotypes
                                                   •Tagged Values


conforms to        applied to




      My model (in Ecore)
EMF Profiles - http://code.google.com/a/eclipselabs.org/p/emf-profiles/
                                extends



 Ecore metamodel                                  My EMF Profile
                                                      •Stereotypes
                                                      •Tagged Values


conforms to        applied to                                   conforms to




      My model (in Ecore)            My model & profile application
Review my model,
Example for demo   Ms. “know-it-all”!
Review my model,
Example for demo                       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!
Model Extension

       EMF Facet              EMF Profiles
  Adding of new model      Annotating of existing
       elements              model elements
    Support for types,       Support for types,
  attributes, references   attributes, references
  Dynamically calculated     Statically defined
   (via model queries)      (via model editors)
    Customization of         Customization of
       tree view              diagram view

More Related Content

PDF
MoDisco EclipseCon2010
PDF
Acceleo Code Generation
PDF
Introducing MDSD
PDF
5 - Architetture Software - Metamodelling and the Model Driven Architecture
PPT
Web technologies: Model Driven Engineering
PPTX
01 mde principles
PDF
6 - Architetture Software - Model transformation
PDF
Model Driven Architecture (MDA): Motivations, Status & Future
MoDisco EclipseCon2010
Acceleo Code Generation
Introducing MDSD
5 - Architetture Software - Metamodelling and the Model Driven Architecture
Web technologies: Model Driven Engineering
01 mde principles
6 - Architetture Software - Model transformation
Model Driven Architecture (MDA): Motivations, Status & Future

What's hot (20)

PDF
ODP
Transforming a 15 year old model-driven application from C++ to Java
PDF
QVT & MTL In Eclipse
PDF
Software Design Patterns - Selecting the right design pattern
PDF
Modelling and code generation in .NET at Icinetic
PDF
4 - Architetture Software - Architecture Portfolio
PPTX
Model driven architecture
PDF
Lecture 3 Software Engineering and Design Introduction to UML
PDF
The Expressive Power of UML-based Web Engineering (UWE)
PPT
Oops design pattern intro
PDF
UML-based Web Engineering (UWE)
PDF
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
PDF
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
PPT
26 standards
PPTX
Eclipse For Dummies
PPTX
仕様決定、部品化、ディレクションがなぜ重要か
PDF
Annotations in PHP - ConFoo 2013
PDF
No magic@md day2011
PPT
Mobile Patterns with WebSphere Message Broker
Transforming a 15 year old model-driven application from C++ to Java
QVT & MTL In Eclipse
Software Design Patterns - Selecting the right design pattern
Modelling and code generation in .NET at Icinetic
4 - Architetture Software - Architecture Portfolio
Model driven architecture
Lecture 3 Software Engineering and Design Introduction to UML
The Expressive Power of UML-based Web Engineering (UWE)
Oops design pattern intro
UML-based Web Engineering (UWE)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
26 standards
Eclipse For Dummies
仕様決定、部品化、ディレクションがなぜ重要か
Annotations in PHP - ConFoo 2013
No magic@md day2011
Mobile Patterns with WebSphere Message Broker
Ad

Similar to You need to extend your models? EMF Facet vs. EMF Profiles (20)

PDF
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
KEY
On the Use of an Internal DSL for Enriching EMF Models
KEY
Codegeneration Goodies
PPTX
EMF-IncQuery presentation at TOOLS 2012
PDF
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
PDF
EMF-IncQuery 0.7 Presentation for Itemis
PDF
Stevecook uml mdday2010
PPTX
Xcore meets IncQuery: How the New Generation of DSLs are Made
ODP
Modeling With Eclipse @SoftShake 2011
PDF
CoreML
PPTX
Visual COBOL Development for Unix and Java
PDF
Code Generation 2014 - ALF, the Standard Programming Language for UML
PPT
Introduction to MDA
PDF
JavaScript Modelling Framwork : MDE
PPTX
Introduction to Software - Coder Forge - John Mulhall
PPT
Object Oriented PHP Overview
PPTX
Intro to EmberJS
PDF
How to explain what JRebel does to a developer
PPTX
High-performance model queries
PDF
EclipseConEurope2012 SOA - Models As Operational Documentation
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
On the Use of an Internal DSL for Enriching EMF Models
Codegeneration Goodies
EMF-IncQuery presentation at TOOLS 2012
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
EMF-IncQuery 0.7 Presentation for Itemis
Stevecook uml mdday2010
Xcore meets IncQuery: How the New Generation of DSLs are Made
Modeling With Eclipse @SoftShake 2011
CoreML
Visual COBOL Development for Unix and Java
Code Generation 2014 - ALF, the Standard Programming Language for UML
Introduction to MDA
JavaScript Modelling Framwork : MDE
Introduction to Software - Coder Forge - John Mulhall
Object Oriented PHP Overview
Intro to EmberJS
How to explain what JRebel does to a developer
High-performance model queries
EclipseConEurope2012 SOA - Models As Operational Documentation
Ad

More from Philip Langer (6)

PDF
Tailor made model comparison: How to customize EMF Compare for your modeling ...
PDF
What every Eclipse developer should know about EMF
PDF
Play Framework: The Basics
PPTX
A Brief Introduction to Working with Git
PDF
Adaptable Model Versioning using Model Transformation By Demonstration
PDF
Colex: A Web-based Collaborative Conflict Lexicon
Tailor made model comparison: How to customize EMF Compare for your modeling ...
What every Eclipse developer should know about EMF
Play Framework: The Basics
A Brief Introduction to Working with Git
Adaptable Model Versioning using Model Transformation By Demonstration
Colex: A Web-based Collaborative Conflict Lexicon

Recently uploaded (20)

PPTX
Benefits of Physical activity for teenagers.pptx
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PPTX
The various Industrial Revolutions .pptx
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
TEXTILE technology diploma scope and career opportunities
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Getting started with AI Agents and Multi-Agent Systems
PPT
What is a Computer? Input Devices /output devices
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
DOCX
search engine optimization ppt fir known well about this
Benefits of Physical activity for teenagers.pptx
sustainability-14-14877-v2.pddhzftheheeeee
Microsoft Excel 365/2024 Beginner's training
The influence of sentiment analysis in enhancing early warning system model f...
The various Industrial Revolutions .pptx
CloudStack 4.21: First Look Webinar slides
Improvisation in detection of pomegranate leaf disease using transfer learni...
Consumable AI The What, Why & How for Small Teams.pdf
TEXTILE technology diploma scope and career opportunities
Module 1.ppt Iot fundamentals and Architecture
sbt 2.0: go big (Scala Days 2025 edition)
Convolutional neural network based encoder-decoder for efficient real-time ob...
A review of recent deep learning applications in wood surface defect identifi...
Getting started with AI Agents and Multi-Agent Systems
What is a Computer? Input Devices /output devices
Build Your First AI Agent with UiPath.pptx
Credit Without Borders: AI and Financial Inclusion in Bangladesh
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
search engine optimization ppt fir known well about this

You need to extend your models? EMF Facet vs. EMF Profiles

  • 1. You need to extend your models? EMF Facet vs. EMF Profiles Modeling Symposium – Monday March 26th, 2012 Hugo Bruneliere Philip Langer hugo.bruneliere@inria.fr langer@big.tuwien.ac.at
  • 2. Why extending existing models? … generates Ruby on Rails. I want to additionally specify “Finder SQL” statements! Modeling Language … generates JavaServer Faces. Meta Concrete model Syntax Editor I want to additionally specify the bean scope! … generates DB Schema. 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.
  • 3. Why extending existing models? I can’t address all your … generates Ruby on Rails. requirements! I want to additionally specify “Finder SQL” statements! Modeling Language … generates JavaServer Faces. Meta Concrete model Syntax Editor I want to additionally specify the bean scope! … generates DB Schema. You need a lightweight Leave it as it is! If you introduce every extension mechanism! imaginable feature that I don’t need, I could have used UML in the first place. Main Objectives - No modification of existing models - Adding of “concern-specific” information
  • 4. EMF Facet - http://www.eclipse.org/modeling/emft/facet/ My model (in Ecore) conforms to My instances (XMI)
  • 5. EMF Facet - http://www.eclipse.org/modeling/emft/facet/ extends Facet My facet model My model (in Ecore) • Types • Attributes uses relies on • References conforms to Queries Different languages • Java • OCL • Etc. My instances (XMI)
  • 6. EMF Facet - http://www.eclipse.org/modeling/emft/facet/ extends Facet My facet model My model (in Ecore) • Types • Attributes uses relies on • References conforms to Queries Different languages • Java • OCL • Etc. My instances (XMI)
  • 7. EMF Profiles - http://code.google.com/a/eclipselabs.org/p/emf-profiles/ Ecore metamodel conforms to My model (in Ecore)
  • 8. EMF Profiles - http://code.google.com/a/eclipselabs.org/p/emf-profiles/ extends Ecore metamodel My EMF Profile •Stereotypes •Tagged Values conforms to applied to My model (in Ecore)
  • 9. EMF Profiles - http://code.google.com/a/eclipselabs.org/p/emf-profiles/ extends Ecore metamodel My EMF Profile •Stereotypes •Tagged Values conforms to applied to conforms to My model (in Ecore) My model & profile application
  • 10. Review my model, Example for demo Ms. “know-it-all”!
  • 11. Review my model, Example for demo 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!
  • 12. Model Extension EMF Facet EMF Profiles Adding of new model Annotating of existing elements model elements Support for types, Support for types, attributes, references attributes, references Dynamically calculated Statically defined (via model queries) (via model editors) Customization of Customization of tree view diagram view