SlideShare a Scribd company logo
Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0
Bitter GMF or
How We did UML with GMF
Short Talk
Tatiana Fesenko
Borland Software Corporation
Eclipse MDT Committer
Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0
GMF-based Editors
• The Eclipse Graphical
Modeling Framework (GMF)
provides a generative
component and runtime
infrastructure for developing
graphical editors based on
EMF and GEF.
• UML2Tools from Model
Development Tools Project
(MDT) is a set of GMF-based
editors for viewing and
editing UML models.
• UML2Tools is an ultimate
test for GMF
Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0
Overview
• GMF is intended to generate a core of a diagram editor
• Very specific features should be implemented by augmenting GMF:
 Code modification
GMFGen model
Xpand
templates
Diagram Editor
Plugin
 Dynamic templates
 GMFGen metamodel extension
Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0
GMFGen model extension in UML2Tools
• Sophisticated mapping from domain to diagram
• Diagram on diagram
• Levels of details
Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0
Mapping from Domain to Diagram
Mapping changes
One to many
One to one
Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0
GMFGen Metamodel Extension
GMFGen Model
Extension
GMFGen Model
Extension
Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0
Switching notations of the element
GMFGen Extension
Model
Code
GMFGen
Model
GMFGen
Metamodel
extension
NewDynamic
Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0
Diagram On Diagram
Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0
Summary

More Related Content

Similar to Bitter GMF or How We did UML with GMF

EGit - Eclipse plug-in for git
EGit - Eclipse plug-in for gitEGit - Eclipse plug-in for git
EGit - Eclipse plug-in for git
Tomasz Zarna
 
IBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation CustomizationIBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation Customization
gjuljo
 
Writing Schema based GML with FME
Writing Schema based GML with FMEWriting Schema based GML with FME
Writing Schema based GML with FME
Safe Software
 
Graphiti indigo demo_camp_walldorf
Graphiti indigo demo_camp_walldorfGraphiti indigo demo_camp_walldorf
Graphiti indigo demo_camp_walldorf
Karsten Schmidt
 
GLSL Shading with OpenSceneGraph
GLSL Shading with OpenSceneGraphGLSL Shading with OpenSceneGraph
GLSL Shading with OpenSceneGraph
Mike Weiblen
 
Graphical Model Transformation Framework
Graphical Model Transformation FrameworkGraphical Model Transformation Framework
Graphical Model Transformation Framework
Kaniska Mandal
 
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Tim Geisler
 
FME World Tour 2015 Dublin - Ordnance Survey Ireland - Bronagh McGann
FME World Tour 2015 Dublin - Ordnance Survey Ireland - Bronagh McGannFME World Tour 2015 Dublin - Ordnance Survey Ireland - Bronagh McGann
FME World Tour 2015 Dublin - Ordnance Survey Ireland - Bronagh McGann
IMGS
 
Upgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 PlanningUpgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 Planning
Marna Walle
 
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
majid lotfinia
 
Get GIMP'd
Get GIMP'dGet GIMP'd
Get GIMP'd
Eric Gruber
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationCédric Brun
 
"Accessing Advanced Image Processing Feature Sets with Alvium Cameras Using a...
"Accessing Advanced Image Processing Feature Sets with Alvium Cameras Using a..."Accessing Advanced Image Processing Feature Sets with Alvium Cameras Using a...
"Accessing Advanced Image Processing Feature Sets with Alvium Cameras Using a...
Edge AI and Vision Alliance
 
ARM: Enhancing your Unity mobile VR experience
ARM: Enhancing your Unity mobile VR experienceARM: Enhancing your Unity mobile VR experience
ARM: Enhancing your Unity mobile VR experience
DevGAMM Conference
 
PhoneGap Jump Start
PhoneGap Jump StartPhoneGap Jump Start
PhoneGap Jump Start
Haim Michael
 
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
Safe Software
 
BREEZE AERMOD 7.10 Release Notes
BREEZE AERMOD 7.10 Release Notes BREEZE AERMOD 7.10 Release Notes
BREEZE AERMOD 7.10 Release Notes
BREEZE Software
 
What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)
Chris Aniszczyk
 
An intuitive guide to combining free monad and free applicative
An intuitive guide to combining free monad and free applicativeAn intuitive guide to combining free monad and free applicative
An intuitive guide to combining free monad and free applicative
Cameron Joannidis
 

Similar to Bitter GMF or How We did UML with GMF (20)

EGit - Eclipse plug-in for git
EGit - Eclipse plug-in for gitEGit - Eclipse plug-in for git
EGit - Eclipse plug-in for git
 
IBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation CustomizationIBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation Customization
 
Writing Schema based GML with FME
Writing Schema based GML with FMEWriting Schema based GML with FME
Writing Schema based GML with FME
 
Graphiti indigo demo_camp_walldorf
Graphiti indigo demo_camp_walldorfGraphiti indigo demo_camp_walldorf
Graphiti indigo demo_camp_walldorf
 
GLSL Shading with OpenSceneGraph
GLSL Shading with OpenSceneGraphGLSL Shading with OpenSceneGraph
GLSL Shading with OpenSceneGraph
 
Graphical Model Transformation Framework
Graphical Model Transformation FrameworkGraphical Model Transformation Framework
Graphical Model Transformation Framework
 
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
 
FME World Tour 2015 Dublin - Ordnance Survey Ireland - Bronagh McGann
FME World Tour 2015 Dublin - Ordnance Survey Ireland - Bronagh McGannFME World Tour 2015 Dublin - Ordnance Survey Ireland - Bronagh McGann
FME World Tour 2015 Dublin - Ordnance Survey Ireland - Bronagh McGann
 
Upgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 PlanningUpgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 Planning
 
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
 
Get GIMP'd
Get GIMP'dGet GIMP'd
Get GIMP'd
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code Generation
 
"Accessing Advanced Image Processing Feature Sets with Alvium Cameras Using a...
"Accessing Advanced Image Processing Feature Sets with Alvium Cameras Using a..."Accessing Advanced Image Processing Feature Sets with Alvium Cameras Using a...
"Accessing Advanced Image Processing Feature Sets with Alvium Cameras Using a...
 
ARM: Enhancing your Unity mobile VR experience
ARM: Enhancing your Unity mobile VR experienceARM: Enhancing your Unity mobile VR experience
ARM: Enhancing your Unity mobile VR experience
 
PhoneGap Jump Start
PhoneGap Jump StartPhoneGap Jump Start
PhoneGap Jump Start
 
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
SOCET GXP and FME, Creating an Integrated System for Geospatial Analysis and ...
 
GM
GMGM
GM
 
BREEZE AERMOD 7.10 Release Notes
BREEZE AERMOD 7.10 Release Notes BREEZE AERMOD 7.10 Release Notes
BREEZE AERMOD 7.10 Release Notes
 
What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)
 
An intuitive guide to combining free monad and free applicative
An intuitive guide to combining free monad and free applicativeAn intuitive guide to combining free monad and free applicative
An intuitive guide to combining free monad and free applicative
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 

Recently uploaded (20)

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 

Bitter GMF or How We did UML with GMF

  • 1. Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0 Bitter GMF or How We did UML with GMF Short Talk Tatiana Fesenko Borland Software Corporation Eclipse MDT Committer
  • 2. Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0 GMF-based Editors • The Eclipse Graphical Modeling Framework (GMF) provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF. • UML2Tools from Model Development Tools Project (MDT) is a set of GMF-based editors for viewing and editing UML models. • UML2Tools is an ultimate test for GMF
  • 3. Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0 Overview • GMF is intended to generate a core of a diagram editor • Very specific features should be implemented by augmenting GMF:  Code modification GMFGen model Xpand templates Diagram Editor Plugin  Dynamic templates  GMFGen metamodel extension
  • 4. Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0 GMFGen model extension in UML2Tools • Sophisticated mapping from domain to diagram • Diagram on diagram • Levels of details
  • 5. Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0 Mapping from Domain to Diagram Mapping changes One to many One to one
  • 6. Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0 GMFGen Metamodel Extension GMFGen Model Extension GMFGen Model Extension
  • 7. Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0 Switching notations of the element GMFGen Extension Model Code GMFGen Model GMFGen Metamodel extension NewDynamic
  • 8. Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0 Diagram On Diagram
  • 9. Bitter GMF or How We Did UML with GMF | © 2008 by Borland Software Corporation; made available under the EPL v1.0 Summary