SlideShare a Scribd company logo
©Copyright2017Obeo
A Guided Tour of Eclipse Modeling, Monday, October 23, 2017
Compare and Merge Your EMF Models
©Copyright2017Obeo
What is EMF Compare?
A highly-customizable model-based
framework to compare EMF models
An integrated tool to visualize and merge
differences between EMF models
Diff and merge at the model level !
... and forget XMI files textual differencing 
©Copyright2017Obeo
Main features
Comparison with Local or Remote models
Integration with Egit
Differences management
Preview
Grouping (kind, side, resource)
Filtering
Conflicts
Text attribute comparison
Specific actions for String-typed differences
©Copyright2017Obeo
Visual Differencing
Implementations for Papyrus and Sirius (experimental)
©Copyright2017Obeo
2 Supported merging strategies
Two-way diff & merge Three-way diff & merge
v1
V1.b
v2
V1.a
Diff & Merge
V1.b
v2
V1.a
Diff & Merge
©Copyright2017Obeo
How it works ?
Build logical models from physical resources that form
a complete and consistent in-memory model
Map together corresponding model elements from
the input models (2 or 3), using ID (Fast) or even without
using heuristics and graph matching (Slow)
Identify differences between matching elements
(value of properties, number of relationships)
Interpret the kind of changes:
Equivalences: changes result to the same state
Requirements: merging requires other model elements
Conflicts: changes can’t be resolved
Obtain one single model
Resolve
Match
Diff
Analyse
Merge
©Copyright2017Obeo
Highly Customizable
Match Engine
Match Strategy
Weight Provider
Diff Engine
Feature Filter
Equivalence Engine
Requirements Engine
Conflict Detector
Merger
Post-Processors
Create domain-specific comparators!
Match
Diff
Analyse
Merge
©Copyright2017Obeo
Scaling to millions
Support comparisons of large fragmented models.
Only loads the fragments susceptible to have changed
Parallel loading and processing
Fast differences computing along with an optimal memory footprint
Comparison execution is proportional to the number of differences
©Copyright2017Obeo
Scaling to millions
Support comparisons of large fragmented models.
Only loads the fragments susceptible to have changed
Parallel loading and processing
Fast differences computing along with an optimal memory footprint
Comparison execution is proportional to the number of differences
©Copyright2017Obeo
UML and Papyrus Customization
Logical Model Resolver
Match Engine
Match Strategy
Weight Provider
Diff Engine
Feature Filter
Equivalence Engine
Requirements Engine
Conflict Detector
Merger
Expand the comparison scope to include Papyrus
specific models.
Match using XMI-Ids.
Abstract some differences by grouping it to make it
easier to grasp for the end users
Add specific requirements and equivalences between
diffs to enforce UML specific consistency rules.
Provide specific merges to adapt the graphical
notation model when changes are merged
And also : UI related tweaks (dedicated filters...)
Resolve
Match
Diff
Analyse
Merge
©Copyright2017Obeo
Compare and Merge Your EMF Models
Easy Extensible Scalable
www.eclipse.org/emf/compare

More Related Content

PPTX
PDF
Team Work With Models Web
PDF
Tailor made model comparison: How to customize EMF Compare for your modeling ...
PDF
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
PDF
What every developer should know about EMF Compare
PDF
Collaborative modeling with sirius
PDF
Comparing and Merging XML Documents in Visual Mode
KEY
Team Work With Models Web
Tailor made model comparison: How to customize EMF Compare for your modeling ...
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
What every developer should know about EMF Compare
Collaborative modeling with sirius
Comparing and Merging XML Documents in Visual Mode

Similar to Eclipse Modeling Guided Tour - EMF Compare (20)

PDF
Patterns and Anti-Patterns for Memorializing Data Science Project Artifacts
PDF
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
PDF
Models in Motion: Agile MDE for Continuous Adaptation
PDF
Database Change Management | Change Manager 5.1 Beta
PPTX
MarcEdit Shelter-In-Place Webinar 4: Merging, Clustering, and Integrations…oh...
PDF
Three-way XML Diff & Visual Diff
PDF
Local search-based pattern matching features in EMF-IncQuery
ODP
Cdao Evolution08
PDF
Model Comparison for Delta-Compression
PPTX
Model evolution and versioning
PDF
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
PPT
Patching the gap in collaborating on models
PPTX
05 - Merge Management
PDF
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...
ODP
[SiriusCon 2018] Your models and diagrams published on a web server with Obeo...
KEY
Eclipse Modeling Overview
PDF
How to integrate oXygen XML diff and merge tools
PPTX
Semantic Merge - No fear refactoring
PDF
Cust experience a practical guide 09152010
PDF
Object-oriented modeling and design.pdf
Patterns and Anti-Patterns for Memorializing Data Science Project Artifacts
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
Models in Motion: Agile MDE for Continuous Adaptation
Database Change Management | Change Manager 5.1 Beta
MarcEdit Shelter-In-Place Webinar 4: Merging, Clustering, and Integrations…oh...
Three-way XML Diff & Visual Diff
Local search-based pattern matching features in EMF-IncQuery
Cdao Evolution08
Model Comparison for Delta-Compression
Model evolution and versioning
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Patching the gap in collaborating on models
05 - Merge Management
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...
[SiriusCon 2018] Your models and diagrams published on a web server with Obeo...
Eclipse Modeling Overview
How to integrate oXygen XML diff and merge tools
Semantic Merge - No fear refactoring
Cust experience a practical guide 09152010
Object-oriented modeling and design.pdf
Ad

More from Cédric Brun (18)

PDF
Integrating Xtext and Sirius: Strategies and Pitfalls
PDF
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
PDF
Eclipse Modeling Guided Tour - EcoreTools
ODP
EcoreTools-Next: Executable DSL made (more) accessible
PDF
Integrating Xtext and Sirius: Strategies and Pitfalls
PDF
Roadmap - SiriusCon2016
PDF
Modeling avengers – open source technology mix for saving the world econ fr
PDF
Modeling avengers – open source technology mix for saving the world
PDF
15 EMF projects in 25 minutes
PDF
What the heck is Eclipse Modeling and why should you care !
PDF
Breathe life into your designer!
PDF
Sirius : origins, present, future
PDF
Xtext + Sirius = ♥ / EclipseCon Europe 2014
PDF
Xtext + Sirius = <3
PDF
Ecore Tools 2.0 : The Luna Revival
PDF
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
PDF
From Acceleo.org To Eclipse Modeling
ODP
Acceleo Day - Acceleo Mtl Code Generation
Integrating Xtext and Sirius: Strategies and Pitfalls
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - EcoreTools
EcoreTools-Next: Executable DSL made (more) accessible
Integrating Xtext and Sirius: Strategies and Pitfalls
Roadmap - SiriusCon2016
Modeling avengers – open source technology mix for saving the world econ fr
Modeling avengers – open source technology mix for saving the world
15 EMF projects in 25 minutes
What the heck is Eclipse Modeling and why should you care !
Breathe life into your designer!
Sirius : origins, present, future
Xtext + Sirius = ♥ / EclipseCon Europe 2014
Xtext + Sirius = <3
Ecore Tools 2.0 : The Luna Revival
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
From Acceleo.org To Eclipse Modeling
Acceleo Day - Acceleo Mtl Code Generation
Ad

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Electronic commerce courselecture one. Pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Empathic Computing: Creating Shared Understanding
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Machine learning based COVID-19 study performance prediction
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Understanding_Digital_Forensics_Presentation.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Electronic commerce courselecture one. Pdf
Big Data Technologies - Introduction.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
Network Security Unit 5.pdf for BCA BBA.
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Empathic Computing: Creating Shared Understanding

Eclipse Modeling Guided Tour - EMF Compare

  • 1. ©Copyright2017Obeo A Guided Tour of Eclipse Modeling, Monday, October 23, 2017 Compare and Merge Your EMF Models
  • 2. ©Copyright2017Obeo What is EMF Compare? A highly-customizable model-based framework to compare EMF models An integrated tool to visualize and merge differences between EMF models Diff and merge at the model level ! ... and forget XMI files textual differencing 
  • 3. ©Copyright2017Obeo Main features Comparison with Local or Remote models Integration with Egit Differences management Preview Grouping (kind, side, resource) Filtering Conflicts Text attribute comparison Specific actions for String-typed differences
  • 5. ©Copyright2017Obeo 2 Supported merging strategies Two-way diff & merge Three-way diff & merge v1 V1.b v2 V1.a Diff & Merge V1.b v2 V1.a Diff & Merge
  • 6. ©Copyright2017Obeo How it works ? Build logical models from physical resources that form a complete and consistent in-memory model Map together corresponding model elements from the input models (2 or 3), using ID (Fast) or even without using heuristics and graph matching (Slow) Identify differences between matching elements (value of properties, number of relationships) Interpret the kind of changes: Equivalences: changes result to the same state Requirements: merging requires other model elements Conflicts: changes can’t be resolved Obtain one single model Resolve Match Diff Analyse Merge
  • 7. ©Copyright2017Obeo Highly Customizable Match Engine Match Strategy Weight Provider Diff Engine Feature Filter Equivalence Engine Requirements Engine Conflict Detector Merger Post-Processors Create domain-specific comparators! Match Diff Analyse Merge
  • 8. ©Copyright2017Obeo Scaling to millions Support comparisons of large fragmented models. Only loads the fragments susceptible to have changed Parallel loading and processing Fast differences computing along with an optimal memory footprint Comparison execution is proportional to the number of differences
  • 9. ©Copyright2017Obeo Scaling to millions Support comparisons of large fragmented models. Only loads the fragments susceptible to have changed Parallel loading and processing Fast differences computing along with an optimal memory footprint Comparison execution is proportional to the number of differences
  • 10. ©Copyright2017Obeo UML and Papyrus Customization Logical Model Resolver Match Engine Match Strategy Weight Provider Diff Engine Feature Filter Equivalence Engine Requirements Engine Conflict Detector Merger Expand the comparison scope to include Papyrus specific models. Match using XMI-Ids. Abstract some differences by grouping it to make it easier to grasp for the end users Add specific requirements and equivalences between diffs to enforce UML specific consistency rules. Provide specific merges to adapt the graphical notation model when changes are merged And also : UI related tweaks (dedicated filters...) Resolve Match Diff Analyse Merge
  • 11. ©Copyright2017Obeo Compare and Merge Your EMF Models Easy Extensible Scalable www.eclipse.org/emf/compare