SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

QVT & MTL In Eclipse
QVT & MTL In EclipseQVT & MTL In Eclipse
QVT & MTL In Eclipse
Jonathan Musset
 
Modelling and code generation in .NET at Icinetic
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. Molina
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
Majong DevJfu
 
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)
The Expressive Power of UML-based Web Engineering (UWE)
elliando dias
 
UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)
elliando dias
 
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)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
mikaelbarbero
 
仕様決定、部品化、ディレクションがなぜ重要か
仕様決定、部品化、ディレクションがなぜ重要か仕様決定、部品化、ディレクションがなぜ重要か
仕様決定、部品化、ディレクションがなぜ重要か
Kohei Otsuka
 
No magic@md day2011
No magic@md day2011No magic@md day2011
No magic@md day2011
MDDAY11
 
Mobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message BrokerMobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message Broker
Ant Phillips
 

Was ist angesagt? (20)

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

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

On the Use of an Internal DSL for Enriching EMF Models
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 Krikava
 
Stevecook uml mdday2010
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010
MD DAY
 
Object Oriented PHP Overview
Object Oriented PHP OverviewObject Oriented PHP Overview
Object Oriented PHP Overview
Larry Ball
 

Ähnlich wie You need to extend your models? EMF Facet vs. EMF Profiles (20)

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

Mehr von Philip Langer

What every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMF
Philip Langer
 
Play Framework: The Basics
Play Framework: The BasicsPlay Framework: The Basics
Play Framework: The Basics
Philip Langer
 
Adaptable Model Versioning using Model Transformation By Demonstration
Adaptable Model Versioning using Model Transformation By DemonstrationAdaptable Model Versioning using Model Transformation By Demonstration
Adaptable Model Versioning using Model Transformation By Demonstration
Philip Langer
 

Mehr von Philip Langer (6)

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 ...
Tailor made model comparison: How to customize EMF Compare for your modeling ...
 
What every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMF
 
Play Framework: The Basics
Play Framework: The BasicsPlay Framework: The Basics
Play Framework: The Basics
 
A Brief Introduction to Working with Git
A Brief Introduction to Working with GitA Brief Introduction to Working with Git
A Brief Introduction to Working with Git
 
Adaptable Model Versioning using Model Transformation By Demonstration
Adaptable Model Versioning using Model Transformation By DemonstrationAdaptable Model Versioning using Model Transformation By Demonstration
Adaptable Model Versioning using Model Transformation By Demonstration
 
Colex: A Web-based Collaborative Conflict Lexicon
Colex: A Web-based Collaborative Conflict LexiconColex: A Web-based Collaborative Conflict Lexicon
Colex: A Web-based Collaborative Conflict Lexicon
 

KĂźrzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

KĂźrzlich hochgeladen (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

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