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

Philip Langer
Philip LangerSoftware Engineer at EclipseSource
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
1 of 12

Recommended

MoDisco EclipseCon2010 by
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010fmadiot
8.5K views20 slides
Acceleo Code Generation by
Acceleo Code GenerationAcceleo Code Generation
Acceleo Code GenerationStéphane Bégaudeau
10.6K views50 slides
Introducing MDSD by
Introducing MDSDIntroducing MDSD
Introducing MDSDPedro J. Molina
10.2K views41 slides
5 - Architetture Software - Metamodelling and the Model Driven Architecture by
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
3.8K views94 slides
Web technologies: Model Driven Engineering by
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringPiero Fraternali
5.7K views45 slides
01 mde principles by
01 mde principles01 mde principles
01 mde principlesLudovico Iovino
1.4K views75 slides

More Related Content

What's hot

Uml3 by
Uml3Uml3
Uml3Majong DevJfu
2K views84 slides
Transforming a 15 year old model-driven application from C++ to Java by
Transforming a 15 year old model-driven application from C++ to JavaTransforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to JavaEric Malotaux
3.4K views24 slides
QVT & MTL In Eclipse by
QVT & MTL In EclipseQVT & MTL In Eclipse
QVT & MTL In EclipseJonathan Musset
1.7K views26 slides
Software Design Patterns - Selecting the right design pattern by
Software Design Patterns - Selecting the right design patternSoftware Design Patterns - Selecting the right design pattern
Software Design Patterns - Selecting the right design patternJoao Pereira
11K views15 slides
Modelling and code generation in .NET at Icinetic by
Modelling and code generation in .NET at IcineticModelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at IcineticPedro J. Molina
924 views50 slides
4 - Architetture Software - Architecture Portfolio by
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
4K views70 slides

What's hot(20)

Transforming a 15 year old model-driven application from C++ to Java by Eric Malotaux
Transforming a 15 year old model-driven application from C++ to JavaTransforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to Java
Eric Malotaux3.4K views
Software Design Patterns - Selecting the right design pattern by Joao Pereira
Software Design Patterns - Selecting the right design patternSoftware Design Patterns - Selecting the right design pattern
Software Design Patterns - Selecting the right design pattern
Joao Pereira11K views
Modelling and code generation in .NET at Icinetic by Pedro J. Molina
Modelling and code generation in .NET at IcineticModelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at Icinetic
Pedro J. Molina924 views
4 - Architetture Software - Architecture Portfolio by Majong DevJfu
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
Majong DevJfu4K views
Model driven architecture by Biruk Mamo
Model driven architectureModel driven architecture
Model driven architecture
Biruk Mamo2.1K views
Lecture 3 Software Engineering and Design Introduction to UML by op205
Lecture 3 Software Engineering and Design Introduction to UMLLecture 3 Software Engineering and Design Introduction to UML
Lecture 3 Software Engineering and Design Introduction to UML
op2052.7K views
The Expressive Power of UML-based Web Engineering (UWE) by elliando dias
The Expressive Power of UML-based Web Engineering (UWE)The Expressive Power of UML-based Web Engineering (UWE)
The Expressive Power of UML-based Web Engineering (UWE)
elliando dias1.9K views
Oops design pattern intro by anshu_atri
Oops design pattern intro Oops design pattern intro
Oops design pattern intro
anshu_atri27 views
UML-based Web Engineering (UWE) by elliando dias
UML-based Web Engineering (UWE)UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)
elliando dias6.8K views
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen) by siouxhotornot
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
siouxhotornot1.4K views
Generating an Android App with Acceleo (Eclipse Summit Europe 2010) by mikaelbarbero
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
mikaelbarbero1.6K views
仕様決定、部品化、ディレクションがなぜ重要か by Kohei Otsuka
仕様決定、部品化、ディレクションがなぜ重要か仕様決定、部品化、ディレクションがなぜ重要か
仕様決定、部品化、ディレクションがなぜ重要か
Kohei Otsuka802 views
Annotations in PHP - ConFoo 2013 by Rafael Dohms
Annotations in PHP - ConFoo 2013Annotations in PHP - ConFoo 2013
Annotations in PHP - ConFoo 2013
Rafael Dohms5.9K views
No magic@md day2011 by MDDAY11
No magic@md day2011No magic@md day2011
No magic@md day2011
MDDAY11353 views
Mobile Patterns with WebSphere Message Broker by Ant Phillips
Mobile Patterns with WebSphere Message BrokerMobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message Broker
Ant Phillips2.8K views

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

From UML Profiles to EMF Profiles and Beyond (TOOLS'11) by
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)Philip Langer
2K views31 slides
On the Use of an Internal DSL for Enriching EMF Models by
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsFilip Krikava
989 views74 slides
Codegeneration Goodies by
Codegeneration GoodiesCodegeneration Goodies
Codegeneration Goodiesmeysholdt
2.2K views78 slides
EMF-IncQuery presentation at TOOLS 2012 by
EMF-IncQuery presentation at TOOLS 2012EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012Istvan Rath
2.9K views25 slides
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF) by
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)Dimitris Kolovos
6.9K views113 slides
EMF-IncQuery 0.7 Presentation for Itemis by
EMF-IncQuery 0.7 Presentation for ItemisEMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisIstvan Rath
1.4K views38 slides

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

From UML Profiles to EMF Profiles and Beyond (TOOLS'11) by Philip Langer
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
Philip Langer2K views
On the Use of an Internal DSL for Enriching EMF Models by Filip Krikava
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
Filip Krikava989 views
Codegeneration Goodies by meysholdt
Codegeneration GoodiesCodegeneration Goodies
Codegeneration Goodies
meysholdt2.2K views
EMF-IncQuery presentation at TOOLS 2012 by Istvan Rath
EMF-IncQuery presentation at TOOLS 2012EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012
Istvan Rath2.9K views
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF) by Dimitris Kolovos
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
Dimitris Kolovos6.9K views
EMF-IncQuery 0.7 Presentation for Itemis by Istvan Rath
EMF-IncQuery 0.7 Presentation for ItemisEMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for Itemis
Istvan Rath1.4K views
Stevecook uml mdday2010 by MD DAY
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010
MD DAY1.4K views
Xcore meets IncQuery: How the New Generation of DSLs are Made by Istvan Rath
Xcore meets IncQuery: How the New Generation of DSLs are MadeXcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are Made
Istvan Rath2.4K views
Modeling With Eclipse @SoftShake 2011 by Mickael Istria
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
Mickael Istria1.4K views
Visual COBOL Development for Unix and Java by Micro Focus
Visual COBOL Development for Unix and JavaVisual COBOL Development for Unix and Java
Visual COBOL Development for Unix and Java
Micro Focus 1.8K views
Code Generation 2014 - ALF, the Standard Programming Language for UML by Jürgen Mutschall
Code Generation 2014  - ALF, the Standard Programming Language for UMLCode Generation 2014  - ALF, the Standard Programming Language for UML
Code Generation 2014 - ALF, the Standard Programming Language for UML
Jürgen Mutschall5.4K views
Introduction to Software - Coder Forge - John Mulhall by John Mulhall
Introduction to Software - Coder Forge - John MulhallIntroduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John Mulhall
John Mulhall1.1K views
Object Oriented PHP Overview by Larry Ball
Object Oriented PHP OverviewObject Oriented PHP Overview
Object Oriented PHP Overview
Larry Ball1.5K views
How to explain what JRebel does to a developer by Bogomil Shopov
How to explain what JRebel does to a developerHow to explain what JRebel does to a developer
How to explain what JRebel does to a developer
Bogomil Shopov16.2K views
High-performance model queries by Istvan Rath
High-performance model queriesHigh-performance model queries
High-performance model queries
Istvan Rath1.8K views
EclipseConEurope2012 SOA - Models As Operational Documentation by Marc Dutoo
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational Documentation
Marc Dutoo2.6K views

More from Philip Langer

Tailor made model comparison: How to customize EMF Compare for your modeling ... by
Tailor made model comparison: How to customize EMF Compare for your modeling ...Tailor made model comparison: How to customize EMF Compare for your modeling ...
Tailor made model comparison: How to customize EMF Compare for your modeling ...Philip Langer
946 views19 slides
What every Eclipse developer should know about EMF by
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFPhilip Langer
4.7K views11 slides
Play Framework: The Basics by
Play Framework: The BasicsPlay Framework: The Basics
Play Framework: The BasicsPhilip Langer
7.2K views45 slides
A Brief Introduction to Working with Git by
A Brief Introduction to Working with GitA Brief Introduction to Working with Git
A Brief Introduction to Working with GitPhilip Langer
1.3K views32 slides
Adaptable Model Versioning using Model Transformation By Demonstration by
Adaptable Model Versioning using Model Transformation By DemonstrationAdaptable Model Versioning using Model Transformation By Demonstration
Adaptable Model Versioning using Model Transformation By DemonstrationPhilip Langer
977 views58 slides
Colex: A Web-based Collaborative Conflict Lexicon by
Colex: A Web-based Collaborative Conflict LexiconColex: A Web-based Collaborative Conflict Lexicon
Colex: A Web-based Collaborative Conflict LexiconPhilip Langer
409 views27 slides

More from Philip Langer(6)

Tailor made model comparison: How to customize EMF Compare for your modeling ... by Philip Langer
Tailor made model comparison: How to customize EMF Compare for your modeling ...Tailor made model comparison: How to customize EMF Compare for your modeling ...
Tailor made model comparison: How to customize EMF Compare for your modeling ...
Philip Langer946 views
What every Eclipse developer should know about EMF by Philip Langer
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMF
Philip Langer4.7K views
Play Framework: The Basics by Philip Langer
Play Framework: The BasicsPlay Framework: The Basics
Play Framework: The Basics
Philip Langer7.2K views
A Brief Introduction to Working with Git by Philip Langer
A Brief Introduction to Working with GitA Brief Introduction to Working with Git
A Brief Introduction to Working with Git
Philip Langer1.3K views
Adaptable Model Versioning using Model Transformation By Demonstration by Philip Langer
Adaptable Model Versioning using Model Transformation By DemonstrationAdaptable Model Versioning using Model Transformation By Demonstration
Adaptable Model Versioning using Model Transformation By Demonstration
Philip Langer977 views
Colex: A Web-based Collaborative Conflict Lexicon by Philip Langer
Colex: A Web-based Collaborative Conflict LexiconColex: A Web-based Collaborative Conflict Lexicon
Colex: A Web-based Collaborative Conflict Lexicon
Philip Langer409 views

Recently uploaded

DALI Basics Course 2023 by
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023Ivory Egg
14 views12 slides
The details of description: Techniques, tips, and tangents on alternative tex... by
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...BookNet Canada
121 views24 slides
AI: mind, matter, meaning, metaphors, being, becoming, life values by
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life valuesTwain Liu 刘秋艳
35 views16 slides
Melek BEN MAHMOUD.pdf by
Melek BEN MAHMOUD.pdfMelek BEN MAHMOUD.pdf
Melek BEN MAHMOUD.pdfMelekBenMahmoud
14 views1 slide
Throughput by
ThroughputThroughput
ThroughputMoisés Armani Ramírez
36 views11 slides
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensorssugiuralab
15 views15 slides

Recently uploaded(20)

DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg14 views
The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada121 views
AI: mind, matter, meaning, metaphors, being, becoming, life values by Twain Liu 刘秋艳
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life values
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab15 views
Web Dev - 1 PPT.pdf by gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet55 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi120 views
Data-centric AI and the convergence of data and model engineering: opportunit... by Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier34 views
The Importance of Cybersecurity for Digital Transformation by NUS-ISS
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
NUS-ISS27 views
Combining Orchestration and Choreography for a Clean Architecture by ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs169 views
Perth MeetUp November 2023 by Michael Price
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023
Michael Price15 views
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum... by NUS-ISS
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
NUS-ISS34 views

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