SlideShare une entreprise Scribd logo
1  sur  83
Télécharger pour lire hors ligne
DIFF AND MERGE WITH EASE

E M F C O M PA R E

Mikaël Barbero
Obeo

October 30th, 2013
Eclipse Con Europe

© Csilla Zelko
http://500px.com/photo/37091940
DIFF AND MERGE WITH EASE

E M F C O M PA R E

Mikaël Barbero
Obeo

October 30th, 2013
Eclipse Con Europe

© Csilla Zelko
http://500px.com/photo/37091940
DIFF AND MERGE WITH EASE

E M F C O M PA R E

Mikaël Barbero
Obeo

October 30th, 2013
Eclipse Con Europe
DIFF AND MERGE WITH EASE

E M F C O M PA R E

Mikaël Barbero
Obeo

October 30th, 2013
Eclipse Con Europe
© David Cornejo
http://500px.com/photo/1683454
Who know what is EMF?

© David Cornejo
http://500px.com/photo/1683454
Who know what is EMF?
I T I S P R E C I S E LY W H AT W E W I L L N O T TA L K A B O U T

© David Cornejo
http://500px.com/photo/1683454
IT IS ALL ABOUT

DIFFERENCES

© Adrian Limani
http://500px.com/photo/18438151
E M F C O M PA R E

BIRD VIEW
EMF
MODEL 1

EMF
MODEL 2
E M F C O M PA R E

BIRD VIEW
EMF
MODEL 1

EMF
MODEL 2
E M F C O M PA R E

BIRD VIEW
EMF
MODEL 1
C O M PA R I S O N
EMF
MODEL 2
E M F C O M PA R E

BIRD VIEW
EMF
MODEL 1
C O M PA R I S O N
EMF
MODEL 2

MERGED
MODEL
E M F C O M PA R E

BIRD VIEW
EMF
MODEL 1

EMF
MODEL 2

EMF
MODEL 3

C O M PA R I S O N

MERGED
MODEL
INTEGRATED WITH

ECLIPSE TEAM
PROVIDERS
TA G L I N E

If you can inject your data within EMF,
!

EMF Compare will diff and merge it for free
INDEX
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

Structured Data
Comparison
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

Structured Data
Comparison

© Guille Massagué Conde
http://500px.com/photo/42703584

Java API
Evolution
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

Structured Data
Comparison

© Guille Massagué Conde
http://500px.com/photo/42703584

Java API
Evolution

© Ryan Photography
http://500px.com/photo/33582547

Incremental
Transformation
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

Structured Data
Comparison

© Guille Massagué Conde
http://500px.com/photo/42703584

Java API
Evolution

© Ryan Photography
http://500px.com/photo/33582547

Incremental
Transformation
<? XML ?>
<? XML ?>
<? TROUBLE ?>
DOM MODEL
<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>
DOM MODEL
DOCUMENT

<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>

ELEMENT
NAME

AT T R I B U T E
NAME
VA L U E
3… 2… 1…

SHOWTIME

© Christoph Ruhland
http://500px.com/photo/1145370
ANT MODEL
<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>
ANT MODEL
PROJECT

<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>

TA R G E T
NAME

DEPENDS

JAR
DIRECTIVE
ANT MODEL
PROJECT

<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>

TA R G E T
NAME

DEPENDS

JAR
DIRECTIVE

…
3… 2… 1…

SHOWTIME

© Christoph Ruhland
http://500px.com/photo/1145370
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

© Guille Massagué Conde
http://500px.com/photo/42703584

Structured Data
Comparison

Java API
Evolution

© Ryan Photography
http://500px.com/photo/33582547

Incremental
Transformation
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

© Guille Massagué Conde
http://500px.com/photo/42703584

Structured Data
Comparison

Java API
Evolution

© Ryan Photography
http://500px.com/photo/33582547

Incremental
Transformation
RULES FOR

E V O LV I N G A P I I N T E R F A C E S
CHANGE

RESTRICTION
IF NOT IMPLEMENTED
BY CLIENT

DELETE API METHOD

MOVE API METHOD UP
TYPE HIERARCHY

B I N A R Y C O M PAT I B L E

IF IMPLEMENTED BY
CLIENT

ADD API METHOD

I M PA C T

B R E A K S C O M PAT I B I L I T Y

—

B R E A K S C O M PAT I B I L I T Y

IF METHOD IN SUPERTYPE NEED
NOT BE IMPLEMENTED BY
CLIENT

B I N A R Y C O M PAT I B L E

IF METHOD IN SUPERTYPE MUST
BE IMPLEMENTED BY CLIENT

B R E A K S C O M PAT I B I L I T Y

http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs
C O M PA R I S O N M O D E L

TEARDOWN
C O M PA R I S O N M O D E L

TEARDOWN
C O M PA R I S O N
C O M PA R I S O N M O D E L

TEARDOWN
C O M PA R I S O N

REFERENCE
CHANGE
C O M PA R I S O N M O D E L

TEARDOWN
C O M PA R I S O N

REFERENCE
CHANGE

EREFERENCE
(FROM ECORE)
C O M PA R I S O N M O D E L

TEARDOWN
C O M PA R I S O N

REFERENCE
CHANGE

EOBJECT

(FROM ECORE)

EREFERENCE
(FROM ECORE)
C O M PA R I S O N M O D E L

TEARDOWN
C O M PA R I S O N

AT T R I B U T E
CHANGE

REFERENCE
CHANGE

EOBJECT

(FROM ECORE)

EREFERENCE
(FROM ECORE)
C O M PA R I S O N M O D E L

TEARDOWN
C O M PA R I S O N

E AT T R I B U T E
(FROM ECORE)

AT T R I B U T E
CHANGE

REFERENCE
CHANGE

EOBJECT

(FROM ECORE)

EREFERENCE
(FROM ECORE)
C O M PA R I S O N M O D E L

TEARDOWN
C O M PA R I S O N

E AT T R I B U T E
(FROM ECORE)

AT T R I B U T E
CHANGE

REFERENCE
CHANGE

E J AVA O B J E C T

EOBJECT

(FROM ECORE)

(FROM ECORE)

EREFERENCE
(FROM ECORE)
3… 2… 1…

SHOWTIME

© Christoph Ruhland
http://500px.com/photo/1145370
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

Structured Data
Comparison

© Guille Massagué Conde
http://500px.com/photo/42703584

Java API
Evolution

© Ryan Photography
http://500px.com/photo/33582547

Incremental
Transformation
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

Structured Data
Comparison

© Guille Massagué Conde
http://500px.com/photo/42703584

Java API
Evolution

© Ryan Photography
http://500px.com/photo/33582547

Incremental
Transformation
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N

MODEL A0
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N

MODEL A0

MODEL B0
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N

MODEL A0

MODEL B0
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL A1

MODEL B0
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL A1

MODEL B1
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL A1

MODEL B1
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL A1

MODEL B1
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL A1

MODEL B0
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL A1
E M F C O M PA R E
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL A1
E M F C O M PA R E
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL A1
E M F C O M PA R E
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

C O M PA R I S O N

MODEL A1
E M F C O M PA R E
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

C O M PA R I S O N

MODEL A1
E M F C O M PA R E

MODEL B0
3… 2… 1…

SHOWTIME

© Christoph Ruhland
http://500px.com/photo/1145370
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL A1

MODEL B1
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL B2

MODEL A1

MODEL B1
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL B2

MODEL A1

MODEL B1
E M F C O M PA R E
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL A1

MODEL B1
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL A1

MODEL B1

MODEL B2
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL A1

MODEL B1

MODEL B2
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL A1

MODEL B1

MODEL B2
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL B2

MODEL A1

MODEL B1

MODEL B3
PRINCIPLES OF

I N C R E M E N TA L T R A N S F O R M AT I O N
MODEL A0

MODEL B0

MODEL B2

MODEL A1

MODEL B1

MODEL B3
E M F C O M PA R E
3… 2… 1…

SHOWTIME

© Christoph Ruhland
http://500px.com/photo/1145370
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

Structured Data
Comparison

© Guille Massagué Conde
http://500px.com/photo/42703584

Java API
Evolution

© Ryan Photography
http://500px.com/photo/33582547

Incremental
Transformation
INDEX

© Joe @Plasmatico
http://500px.com/photo/38068154

Structured Data
Comparison

© Guille Massagué Conde
http://500px.com/photo/42703584

Java API
Evolution

© Ryan Photography
http://500px.com/photo/33582547

Incremental
Transformation
« One more thing! »

G R A P H I C A L C O M PA R I S O N
W H AT Y O U S H O U L D
REMEMBER

• Infinite potential for delta

computation

• EMF Compare will diff and merge

any EMF data for free

• Default UI with tremendous

extension capabilities

© Braeden Petruk
http://500px.com/photo/23711467
H T T P : / / W W W. E C L I P S E . O R G / E M F / C O M PA R E /

EMF Compare
Q&A?

© Damon Fullington
http://500px.com/photo/21930711
PLEASE

L E AV E F E E D B A C K

SIGN IN
W W W. E C L I P S E C O N . O R G

SELECT SESSION
E V A L U AT E

VOTE +1, 0, OR -1

© Denis Dervisevic
http://www.flickr.com/photos/denisdervisevic/4745520501/
MIKAËL BARBERO
mikael.barbero@obeo.fr
+Mikaël Barbero
@mikbarbero

OBEO

http://www.obeo.fr

Contenu connexe

Similaire à Diff and Merge with Ease: EMF Compare

Evolving for Multiple Screens
Evolving for Multiple ScreensEvolving for Multiple Screens
Evolving for Multiple Screenssgleadow
 
SpringOne 2GX 2015 - Fullstack Groovy developer
SpringOne 2GX 2015 - Fullstack Groovy developerSpringOne 2GX 2015 - Fullstack Groovy developer
SpringOne 2GX 2015 - Fullstack Groovy developerIván López Martín
 
Build a production ready PWA - LINKIT & KLM Digital Studio Meetup
Build a production ready PWA - LINKIT & KLM Digital Studio MeetupBuild a production ready PWA - LINKIT & KLM Digital Studio Meetup
Build a production ready PWA - LINKIT & KLM Digital Studio MeetupÖnder Ceylan
 
The Angular road from 1.x to 2.0
The Angular road from 1.x to 2.0The Angular road from 1.x to 2.0
The Angular road from 1.x to 2.0Vassilis Pitsounis
 
Build a production ready PWA with Angular and Firebase
Build a production ready PWA with Angular and FirebaseBuild a production ready PWA with Angular and Firebase
Build a production ready PWA with Angular and FirebaseÖnder Ceylan
 
Distribute/Support - パートナーオフィスアワー (Partner Office Hour) - きほんのき AppExchange ...
Distribute/Support - パートナーオフィスアワー (Partner Office Hour) - きほんのき AppExchange ...Distribute/Support - パートナーオフィスアワー (Partner Office Hour) - きほんのき AppExchange ...
Distribute/Support - パートナーオフィスアワー (Partner Office Hour) - きほんのき AppExchange ...Takahiro Kawabata
 
SIPOC Model PowerPoint Presentation Slides
SIPOC Model PowerPoint Presentation SlidesSIPOC Model PowerPoint Presentation Slides
SIPOC Model PowerPoint Presentation SlidesSlideTeam
 
Bridge the PPC SEO Gap | SEMpdx | March 2015
Bridge the PPC SEO Gap | SEMpdx | March 2015Bridge the PPC SEO Gap | SEMpdx | March 2015
Bridge the PPC SEO Gap | SEMpdx | March 2015Craig Galyon
 
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...Cloudera, Inc.
 
Jed cracknell architecture portfolio & CV
Jed cracknell architecture portfolio & CVJed cracknell architecture portfolio & CV
Jed cracknell architecture portfolio & CVJedcracknell
 
Unboxing web with React Native
Unboxing web with React NativeUnboxing web with React Native
Unboxing web with React NativeAnusheelSingh2
 
Edition Based Redefinition Made Easy - Oren Nakdimon
Edition Based Redefinition Made Easy - Oren NakdimonEdition Based Redefinition Made Easy - Oren Nakdimon
Edition Based Redefinition Made Easy - Oren NakdimonOren Nakdimon
 
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWSPuppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWSjohnpainter_id_au
 
Tesla y Dassault Systèmes unidos de la mano
Tesla y Dassault Systèmes unidos de la manoTesla y Dassault Systèmes unidos de la mano
Tesla y Dassault Systèmes unidos de la manoJaime Requeno
 
Automate iOS Deployment with Hamper and Schezhen
Automate iOS Deployment with Hamper and SchezhenAutomate iOS Deployment with Hamper and Schezhen
Automate iOS Deployment with Hamper and SchezhenKiran Panesar
 
COVID-19 are a cloud security catalyst
COVID-19 are a cloud security catalystCOVID-19 are a cloud security catalyst
COVID-19 are a cloud security catalystRadu Vunvulea
 
Progressive Web Apps: Is it a replacement for your mobile app?
Progressive Web Apps: Is it a replacement for your mobile app?Progressive Web Apps: Is it a replacement for your mobile app?
Progressive Web Apps: Is it a replacement for your mobile app?Önder Ceylan
 
Meteor - not just for rockstars
Meteor - not just for rockstarsMeteor - not just for rockstars
Meteor - not just for rockstarsStephan Hochhaus
 

Similaire à Diff and Merge with Ease: EMF Compare (20)

Evolving for Multiple Screens
Evolving for Multiple ScreensEvolving for Multiple Screens
Evolving for Multiple Screens
 
SpringOne 2GX 2015 - Fullstack Groovy developer
SpringOne 2GX 2015 - Fullstack Groovy developerSpringOne 2GX 2015 - Fullstack Groovy developer
SpringOne 2GX 2015 - Fullstack Groovy developer
 
Build a production ready PWA - LINKIT & KLM Digital Studio Meetup
Build a production ready PWA - LINKIT & KLM Digital Studio MeetupBuild a production ready PWA - LINKIT & KLM Digital Studio Meetup
Build a production ready PWA - LINKIT & KLM Digital Studio Meetup
 
The Angular road from 1.x to 2.0
The Angular road from 1.x to 2.0The Angular road from 1.x to 2.0
The Angular road from 1.x to 2.0
 
Build a production ready PWA with Angular and Firebase
Build a production ready PWA with Angular and FirebaseBuild a production ready PWA with Angular and Firebase
Build a production ready PWA with Angular and Firebase
 
Distribute/Support - パートナーオフィスアワー (Partner Office Hour) - きほんのき AppExchange ...
Distribute/Support - パートナーオフィスアワー (Partner Office Hour) - きほんのき AppExchange ...Distribute/Support - パートナーオフィスアワー (Partner Office Hour) - きほんのき AppExchange ...
Distribute/Support - パートナーオフィスアワー (Partner Office Hour) - きほんのき AppExchange ...
 
SIPOC Model PowerPoint Presentation Slides
SIPOC Model PowerPoint Presentation SlidesSIPOC Model PowerPoint Presentation Slides
SIPOC Model PowerPoint Presentation Slides
 
Bridge the PPC SEO Gap | SEMpdx | March 2015
Bridge the PPC SEO Gap | SEMpdx | March 2015Bridge the PPC SEO Gap | SEMpdx | March 2015
Bridge the PPC SEO Gap | SEMpdx | March 2015
 
10 Smart & Easy LinkedIn Background Images
10 Smart & Easy LinkedIn Background Images10 Smart & Easy LinkedIn Background Images
10 Smart & Easy LinkedIn Background Images
 
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
 
Jed cracknell architecture portfolio & CV
Jed cracknell architecture portfolio & CVJed cracknell architecture portfolio & CV
Jed cracknell architecture portfolio & CV
 
Unboxing web with React Native
Unboxing web with React NativeUnboxing web with React Native
Unboxing web with React Native
 
Edition Based Redefinition Made Easy - Oren Nakdimon
Edition Based Redefinition Made Easy - Oren NakdimonEdition Based Redefinition Made Easy - Oren Nakdimon
Edition Based Redefinition Made Easy - Oren Nakdimon
 
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWSPuppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
 
Tesla sf tm
Tesla sf tmTesla sf tm
Tesla sf tm
 
Tesla y Dassault Systèmes unidos de la mano
Tesla y Dassault Systèmes unidos de la manoTesla y Dassault Systèmes unidos de la mano
Tesla y Dassault Systèmes unidos de la mano
 
Automate iOS Deployment with Hamper and Schezhen
Automate iOS Deployment with Hamper and SchezhenAutomate iOS Deployment with Hamper and Schezhen
Automate iOS Deployment with Hamper and Schezhen
 
COVID-19 are a cloud security catalyst
COVID-19 are a cloud security catalystCOVID-19 are a cloud security catalyst
COVID-19 are a cloud security catalyst
 
Progressive Web Apps: Is it a replacement for your mobile app?
Progressive Web Apps: Is it a replacement for your mobile app?Progressive Web Apps: Is it a replacement for your mobile app?
Progressive Web Apps: Is it a replacement for your mobile app?
 
Meteor - not just for rockstars
Meteor - not just for rockstarsMeteor - not just for rockstars
Meteor - not just for rockstars
 

Plus de mikaelbarbero

Kubernetes 101 - A Cluster Operating System
Kubernetes 101 - A Cluster Operating SystemKubernetes 101 - A Cluster Operating System
Kubernetes 101 - A Cluster Operating Systemmikaelbarbero
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?mikaelbarbero
 
What's new in Eclipse Oxygen (Devoxx France 2017)
What's new in Eclipse Oxygen (Devoxx France 2017)What's new in Eclipse Oxygen (Devoxx France 2017)
What's new in Eclipse Oxygen (Devoxx France 2017)mikaelbarbero
 
The Eclipse IDE: What's new in the 2017 release?
The Eclipse IDE: What's new in the 2017 release?The Eclipse IDE: What's new in the 2017 release?
The Eclipse IDE: What's new in the 2017 release?mikaelbarbero
 
What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...mikaelbarbero
 
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)mikaelbarbero
 
Sirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsSirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsmikaelbarbero
 
Modeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGitModeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGitmikaelbarbero
 
Eclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshellEclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshellmikaelbarbero
 
OSGi: Don't let me be Misunderstood
OSGi: Don't let me be MisunderstoodOSGi: Don't let me be Misunderstood
OSGi: Don't let me be Misunderstoodmikaelbarbero
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)mikaelbarbero
 
EMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to MillionsEMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to Millionsmikaelbarbero
 
3mf infinity-and-beyond
3mf infinity-and-beyond3mf infinity-and-beyond
3mf infinity-and-beyondmikaelbarbero
 
Eclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare ImprovementsEclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare Improvementsmikaelbarbero
 
Google Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG NantesGoogle Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG Nantesmikaelbarbero
 
5M lines of code migration
5M lines of code migration5M lines of code migration
5M lines of code migrationmikaelbarbero
 
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
 

Plus de mikaelbarbero (18)

Kubernetes 101 - A Cluster Operating System
Kubernetes 101 - A Cluster Operating SystemKubernetes 101 - A Cluster Operating System
Kubernetes 101 - A Cluster Operating System
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
 
What's new in Eclipse Oxygen (Devoxx France 2017)
What's new in Eclipse Oxygen (Devoxx France 2017)What's new in Eclipse Oxygen (Devoxx France 2017)
What's new in Eclipse Oxygen (Devoxx France 2017)
 
The Eclipse IDE: What's new in the 2017 release?
The Eclipse IDE: What's new in the 2017 release?The Eclipse IDE: What's new in the 2017 release?
The Eclipse IDE: What's new in the 2017 release?
 
What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...
 
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
 
Sirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsSirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLs
 
Modeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGitModeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGit
 
Eclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshellEclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshell
 
OSGi: Don't let me be Misunderstood
OSGi: Don't let me be MisunderstoodOSGi: Don't let me be Misunderstood
OSGi: Don't let me be Misunderstood
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)
 
EMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to MillionsEMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to Millions
 
3mf infinity-and-beyond
3mf infinity-and-beyond3mf infinity-and-beyond
3mf infinity-and-beyond
 
Eclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare ImprovementsEclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare Improvements
 
Google Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG NantesGoogle Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG Nantes
 
5M lines of code migration
5M lines of code migration5M lines of code migration
5M lines of code migration
 
EMFPath
EMFPathEMFPath
EMFPath
 
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)
 

Dernier

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 FresherRemote DBA Services
 
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 TerraformAndrey Devyatkin
 
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 DevelopmentsTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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.pdfUK Journal
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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 businesspanagenda
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
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 SavingEdi Saputra
 
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 2024SynarionITSolutions
 
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)wesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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 productivityPrincipled Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Dernier (20)

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
 
+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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
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
 
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)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Diff and Merge with Ease: EMF Compare

  • 1. DIFF AND MERGE WITH EASE E M F C O M PA R E Mikaël Barbero Obeo October 30th, 2013 Eclipse Con Europe © Csilla Zelko http://500px.com/photo/37091940
  • 2. DIFF AND MERGE WITH EASE E M F C O M PA R E Mikaël Barbero Obeo October 30th, 2013 Eclipse Con Europe © Csilla Zelko http://500px.com/photo/37091940
  • 3. DIFF AND MERGE WITH EASE E M F C O M PA R E Mikaël Barbero Obeo October 30th, 2013 Eclipse Con Europe
  • 4. DIFF AND MERGE WITH EASE E M F C O M PA R E Mikaël Barbero Obeo October 30th, 2013 Eclipse Con Europe
  • 6. Who know what is EMF? © David Cornejo http://500px.com/photo/1683454
  • 7. Who know what is EMF? I T I S P R E C I S E LY W H AT W E W I L L N O T TA L K A B O U T © David Cornejo http://500px.com/photo/1683454
  • 8. IT IS ALL ABOUT DIFFERENCES © Adrian Limani http://500px.com/photo/18438151
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. E M F C O M PA R E BIRD VIEW EMF MODEL 1 EMF MODEL 2
  • 14. E M F C O M PA R E BIRD VIEW EMF MODEL 1 EMF MODEL 2
  • 15. E M F C O M PA R E BIRD VIEW EMF MODEL 1 C O M PA R I S O N EMF MODEL 2
  • 16. E M F C O M PA R E BIRD VIEW EMF MODEL 1 C O M PA R I S O N EMF MODEL 2 MERGED MODEL
  • 17. E M F C O M PA R E BIRD VIEW EMF MODEL 1 EMF MODEL 2 EMF MODEL 3 C O M PA R I S O N MERGED MODEL
  • 19. TA G L I N E If you can inject your data within EMF, ! EMF Compare will diff and merge it for free
  • 20. INDEX
  • 22. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 Structured Data Comparison © Guille Massagué Conde http://500px.com/photo/42703584 Java API Evolution
  • 23. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 Structured Data Comparison © Guille Massagué Conde http://500px.com/photo/42703584 Java API Evolution © Ryan Photography http://500px.com/photo/33582547 Incremental Transformation
  • 24. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 Structured Data Comparison © Guille Massagué Conde http://500px.com/photo/42703584 Java API Evolution © Ryan Photography http://500px.com/photo/33582547 Incremental Transformation
  • 26. <? XML ?> <? TROUBLE ?>
  • 27. DOM MODEL <?xml version="1.0"?> <project name="guice"> <target name="jar" depends="manifest"> <jar jarfile="guice-${version}.jar"> <zipfileset src="${build.dir}/deps.jar"/> </jar> </target> </project>
  • 28. DOM MODEL DOCUMENT <?xml version="1.0"?> <project name="guice"> <target name="jar" depends="manifest"> <jar jarfile="guice-${version}.jar"> <zipfileset src="${build.dir}/deps.jar"/> </jar> </target> </project> ELEMENT NAME AT T R I B U T E NAME VA L U E
  • 29. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  • 30. ANT MODEL <?xml version="1.0"?> <project name="guice"> <target name="jar" depends="manifest"> <jar jarfile="guice-${version}.jar"> <zipfileset src="${build.dir}/deps.jar"/> </jar> </target> </project>
  • 31. ANT MODEL PROJECT <?xml version="1.0"?> <project name="guice"> <target name="jar" depends="manifest"> <jar jarfile="guice-${version}.jar"> <zipfileset src="${build.dir}/deps.jar"/> </jar> </target> </project> TA R G E T NAME DEPENDS JAR DIRECTIVE
  • 32. ANT MODEL PROJECT <?xml version="1.0"?> <project name="guice"> <target name="jar" depends="manifest"> <jar jarfile="guice-${version}.jar"> <zipfileset src="${build.dir}/deps.jar"/> </jar> </target> </project> TA R G E T NAME DEPENDS JAR DIRECTIVE …
  • 33. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  • 34. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 © Guille Massagué Conde http://500px.com/photo/42703584 Structured Data Comparison Java API Evolution © Ryan Photography http://500px.com/photo/33582547 Incremental Transformation
  • 35. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 © Guille Massagué Conde http://500px.com/photo/42703584 Structured Data Comparison Java API Evolution © Ryan Photography http://500px.com/photo/33582547 Incremental Transformation
  • 36.
  • 37.
  • 38. RULES FOR E V O LV I N G A P I I N T E R F A C E S CHANGE RESTRICTION IF NOT IMPLEMENTED BY CLIENT DELETE API METHOD MOVE API METHOD UP TYPE HIERARCHY B I N A R Y C O M PAT I B L E IF IMPLEMENTED BY CLIENT ADD API METHOD I M PA C T B R E A K S C O M PAT I B I L I T Y — B R E A K S C O M PAT I B I L I T Y IF METHOD IN SUPERTYPE NEED NOT BE IMPLEMENTED BY CLIENT B I N A R Y C O M PAT I B L E IF METHOD IN SUPERTYPE MUST BE IMPLEMENTED BY CLIENT B R E A K S C O M PAT I B I L I T Y http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs
  • 39. C O M PA R I S O N M O D E L TEARDOWN
  • 40. C O M PA R I S O N M O D E L TEARDOWN C O M PA R I S O N
  • 41. C O M PA R I S O N M O D E L TEARDOWN C O M PA R I S O N REFERENCE CHANGE
  • 42. C O M PA R I S O N M O D E L TEARDOWN C O M PA R I S O N REFERENCE CHANGE EREFERENCE (FROM ECORE)
  • 43. C O M PA R I S O N M O D E L TEARDOWN C O M PA R I S O N REFERENCE CHANGE EOBJECT (FROM ECORE) EREFERENCE (FROM ECORE)
  • 44. C O M PA R I S O N M O D E L TEARDOWN C O M PA R I S O N AT T R I B U T E CHANGE REFERENCE CHANGE EOBJECT (FROM ECORE) EREFERENCE (FROM ECORE)
  • 45. C O M PA R I S O N M O D E L TEARDOWN C O M PA R I S O N E AT T R I B U T E (FROM ECORE) AT T R I B U T E CHANGE REFERENCE CHANGE EOBJECT (FROM ECORE) EREFERENCE (FROM ECORE)
  • 46. C O M PA R I S O N M O D E L TEARDOWN C O M PA R I S O N E AT T R I B U T E (FROM ECORE) AT T R I B U T E CHANGE REFERENCE CHANGE E J AVA O B J E C T EOBJECT (FROM ECORE) (FROM ECORE) EREFERENCE (FROM ECORE)
  • 47. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  • 48. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 Structured Data Comparison © Guille Massagué Conde http://500px.com/photo/42703584 Java API Evolution © Ryan Photography http://500px.com/photo/33582547 Incremental Transformation
  • 49. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 Structured Data Comparison © Guille Massagué Conde http://500px.com/photo/42703584 Java API Evolution © Ryan Photography http://500px.com/photo/33582547 Incremental Transformation
  • 50. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0
  • 51. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0
  • 52. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0
  • 53. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0
  • 54. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL A1 MODEL B0
  • 55. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL A1 MODEL B1
  • 56. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL A1 MODEL B1
  • 57. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL A1 MODEL B1
  • 58. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL A1 MODEL B0
  • 59. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL A1 E M F C O M PA R E
  • 60. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL A1 E M F C O M PA R E
  • 61. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL A1 E M F C O M PA R E
  • 62. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 C O M PA R I S O N MODEL A1 E M F C O M PA R E
  • 63. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 C O M PA R I S O N MODEL A1 E M F C O M PA R E MODEL B0
  • 64. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  • 65. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL A1 MODEL B1
  • 66. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL B2 MODEL A1 MODEL B1
  • 67. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL B2 MODEL A1 MODEL B1 E M F C O M PA R E
  • 68. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL A1 MODEL B1
  • 69. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL A1 MODEL B1 MODEL B2
  • 70. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL A1 MODEL B1 MODEL B2
  • 71. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL A1 MODEL B1 MODEL B2
  • 72. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL B2 MODEL A1 MODEL B1 MODEL B3
  • 73. PRINCIPLES OF I N C R E M E N TA L T R A N S F O R M AT I O N MODEL A0 MODEL B0 MODEL B2 MODEL A1 MODEL B1 MODEL B3 E M F C O M PA R E
  • 74. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  • 75. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 Structured Data Comparison © Guille Massagué Conde http://500px.com/photo/42703584 Java API Evolution © Ryan Photography http://500px.com/photo/33582547 Incremental Transformation
  • 76. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 Structured Data Comparison © Guille Massagué Conde http://500px.com/photo/42703584 Java API Evolution © Ryan Photography http://500px.com/photo/33582547 Incremental Transformation
  • 77.
  • 78. « One more thing! » G R A P H I C A L C O M PA R I S O N
  • 79. W H AT Y O U S H O U L D REMEMBER • Infinite potential for delta computation • EMF Compare will diff and merge any EMF data for free • Default UI with tremendous extension capabilities © Braeden Petruk http://500px.com/photo/23711467
  • 80. H T T P : / / W W W. E C L I P S E . O R G / E M F / C O M PA R E / EMF Compare
  • 82. PLEASE L E AV E F E E D B A C K SIGN IN W W W. E C L I P S E C O N . O R G SELECT SESSION E V A L U AT E VOTE +1, 0, OR -1 © Denis Dervisevic http://www.flickr.com/photos/denisdervisevic/4745520501/