diff and merge with ease: emf compare

83
EMF COMPARE DIFF AND MERGE WITH EASE Mikaël Barbero Obeo October 30th, 2013 Eclipse Con Europe © Csilla Zelko http://500px.com/photo/37091940

Upload: mikaelbarbero

Post on 14-Jan-2015

700 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Diff and Merge with Ease: EMF Compare

E M F C O M PA R ED I F F A N D M E R G E W I T H E A S E

Mikaël Barbero Obeo

October 30th, 2013 Eclipse Con Europe

© Csilla Zelko http://500px.com/photo/37091940

Page 2: Diff and Merge with Ease: EMF Compare

E M F C O M PA R ED I F F A N D M E R G E W I T H E A S E

Mikaël Barbero Obeo

October 30th, 2013 Eclipse Con Europe

© Csilla Zelko http://500px.com/photo/37091940

Page 3: Diff and Merge with Ease: EMF Compare

E M F C O M PA R ED I F F A N D M E R G E W I T H E A S E

Mikaël Barbero Obeo

October 30th, 2013 Eclipse Con Europe

Page 4: Diff and Merge with Ease: EMF Compare

E M F C O M PA R ED I F F A N D M E R G E W I T H E A S E

Mikaël Barbero Obeo

October 30th, 2013 Eclipse Con Europe

Page 5: Diff and Merge with Ease: EMF Compare

© David Cornejo http://500px.com/photo/1683454

Page 6: Diff and Merge with Ease: EMF Compare

Who know what is EMF?

© David Cornejo http://500px.com/photo/1683454

Page 7: Diff and Merge with Ease: EMF Compare

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

Who know what is EMF?

© David Cornejo http://500px.com/photo/1683454

Page 8: Diff and Merge with Ease: EMF Compare

D I F F E R E N C E S

I T I S A L L A B O U T

© Adrian Limani http://500px.com/photo/18438151

Page 9: Diff and Merge with Ease: EMF Compare
Page 10: Diff and Merge with Ease: EMF Compare
Page 11: Diff and Merge with Ease: EMF Compare
Page 12: Diff and Merge with Ease: EMF Compare
Page 13: Diff and Merge with Ease: EMF Compare

B I R D V I E WE M F C O M PA R E

E M F M O D E L 1

E M F M O D E L 2

Page 14: Diff and Merge with Ease: EMF Compare

B I R D V I E WE M F C O M PA R E

E M F M O D E L 1

E M F M O D E L 2

Page 15: Diff and Merge with Ease: EMF Compare

B I R D V I E WE M F C O M PA R E

E M F M O D E L 1

E M F M O D E L 2

C O M PA R I S O N

Page 16: Diff and Merge with Ease: EMF Compare

B I R D V I E WE M F C O M PA R E

E M F M O D E L 1

E M F M O D E L 2

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

Page 17: Diff and Merge with Ease: EMF Compare

B I R D V I E WE M F C O M PA R E

E M F M O D E L 1

E M F M O D E L 2 C O M PA R I S O N M E R G E D

M O D E L

E M F M O D E L 3

Page 18: Diff and Merge with Ease: EMF Compare

E C L I P S E T E A M P R O V I D E R S

I N T E G R A T E D W I T H

Page 19: Diff and Merge with Ease: EMF Compare

TA G L I N E

If you can inject your data within EMF, !

EMF Compare will diff and merge it for free

Page 20: Diff and Merge with Ease: EMF Compare

I N D E X

Page 21: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

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

Page 22: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

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

Java API Evolution

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

Page 23: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

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

Java API Evolution

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

Incremental Transformation

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

Page 24: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

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

Java API Evolution

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

Incremental Transformation

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

Page 25: Diff and Merge with Ease: EMF Compare

<? XML ?>

Page 26: Diff and Merge with Ease: EMF Compare

< ? T R O U B L E ? >

<? XML ?>

Page 27: Diff and Merge with Ease: EMF Compare

D O M M O D E L

<?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>

Page 28: Diff and Merge with Ease: EMF Compare

D O M M O D E L

<?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>

D O C U M E N T

E L E M E N T N A M E

AT T R I B U T E N A M E VA L U E

Page 29: Diff and Merge with Ease: EMF Compare

S H O W T I M E3 … 2 … 1 …

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

Page 30: Diff and Merge with Ease: EMF Compare

<?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>

A N T M O D E L

Page 31: Diff and Merge with Ease: EMF Compare

<?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>

A N T M O D E L

P R O J E C T

TA R G E T N A M E

J A R D I R E C T I V E

D E P E N D S

Page 32: Diff and Merge with Ease: EMF Compare

<?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>

A N T M O D E L

P R O J E C T

TA R G E T N A M E

J A R D I R E C T I V E

D E P E N D S

Page 33: Diff and Merge with Ease: EMF Compare

S H O W T I M E3 … 2 … 1 …

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

Page 34: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

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

Java API Evolution

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

Incremental Transformation

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

Page 35: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

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

Java API Evolution

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

Incremental Transformation

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

Page 36: Diff and Merge with Ease: EMF Compare
Page 37: Diff and Merge with Ease: EMF Compare
Page 38: Diff and Merge with Ease: EMF Compare

C H A N G E R E S T R I C T I O N I M PA C T

A D D A P I M E T H O D

I F N O T I M P L E M E N T E D B Y C L I E N T

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

I F I M P L E M E N T E D B Y C L I E N T

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

D E L E T E A P I M E T H O D — B R E A K S C O M PAT I B I L I T Y

M O V E A P I M E T H O D U P T Y P E H I E R A R C H Y

I F M E T H O D I N S U P E R T Y P E N E E D N O T B E I M P L E M E N T E D B Y

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

I F M E T H O D I N S U P E R T Y P E M U S T B E I M P L E M E N T E D B Y C L I E N T 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

E V O LV I N G A P I I N T E R FA C E SR U L E S F O R

Page 39: Diff and Merge with Ease: EMF Compare

T E A R D O W NC O M PA R I S O N M O D E L

Page 40: Diff and Merge with Ease: EMF Compare

C O M PA R I S O N

T E A R D O W NC O M PA R I S O N M O D E L

Page 41: Diff and Merge with Ease: EMF Compare

C O M PA R I S O N

R E F E R E N C E C H A N G E

T E A R D O W NC O M PA R I S O N M O D E L

Page 42: Diff and Merge with Ease: EMF Compare

C O M PA R I S O N

R E F E R E N C E C H A N G E

T E A R D O W NC O M PA R I S O N M O D E L

E R E F E R E N C E ( F R O M E C O R E )

Page 43: Diff and Merge with Ease: EMF Compare

C O M PA R I S O N

R E F E R E N C E C H A N G E

T E A R D O W NC O M PA R I S O N M O D E L

E R E F E R E N C E ( F R O M E C O R E )

E O B J E C T ( F R O M E C O R E )

Page 44: Diff and Merge with Ease: EMF Compare

C O M PA R I S O N

AT T R I B U T E C H A N G E

R E F E R E N C E C H A N G E

T E A R D O W NC O M PA R I S O N M O D E L

E R E F E R E N C E ( F R O M E C O R E )

E O B J E C T ( F R O M E C O R E )

Page 45: Diff and Merge with Ease: EMF Compare

C O M PA R I S O N

AT T R I B U T E C H A N G E

R E F E R E N C E C H A N G E

T E A R D O W NC O M PA R I S O N M O D E L

E AT T R I B U T E ( F R O M E C O R E )

E R E F E R E N C E ( F R O M E C O R E )

E O B J E C T ( F R O M E C O R E )

Page 46: Diff and Merge with Ease: EMF Compare

C O M PA R I S O N

AT T R I B U T E C H A N G E

R E F E R E N C E C H A N G E

T E A R D O W NC O M PA R I S O N M O D E L

E AT T R I B U T E ( F R O M E C O R E )

E R E F E R E N C E ( F R O M E C O R E )

E J AVA O B J E C T ( F R O M E C O R E )

E O B J E C T ( F R O M E C O R E )

Page 47: Diff and Merge with Ease: EMF Compare

S H O W T I M E3 … 2 … 1 …

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

Page 48: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

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

Java API Evolution

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

Incremental Transformation

© Ryan Photographyhttp://500px.com/photo/33582547

Page 49: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

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

Java API Evolution

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

Incremental Transformation

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

Page 50: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0

Page 51: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0 M O D E L B 0

Page 52: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0 M O D E L B 0

Page 53: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0 M O D E L B 0

Page 54: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0 M O D E L B 0

M O D E L A 1

Page 55: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

Page 56: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

Page 57: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

Page 58: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0

M O D E L A 1

M O D E L B 0

Page 59: Diff and Merge with Ease: EMF Compare

E M F C O M PA R E

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

M O D E L A 0

M O D E L A 1

M O D E L B 0

Page 60: Diff and Merge with Ease: EMF Compare

E M F C O M PA R E

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

M O D E L A 0

M O D E L A 1

Page 61: Diff and Merge with Ease: EMF Compare

E M F C O M PA R E

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

M O D E L A 0

M O D E L A 1

Page 62: Diff and Merge with Ease: EMF Compare

E M F C O M PA R E

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

M O D E L A 0

M O D E L A 1

C O M PA R I S O N

Page 63: Diff and Merge with Ease: EMF Compare

E M F C O M PA R E

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

M O D E L A 0

M O D E L B 0

M O D E L A 1

C O M PA R I S O N

Page 64: Diff and Merge with Ease: EMF Compare

S H O W T I M E3 … 2 … 1 …

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

Page 65: Diff and Merge with Ease: EMF Compare

P R I N C I P L E S O F

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

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

Page 66: Diff and Merge with Ease: EMF Compare

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

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

M O D E L B 2

Page 67: Diff and Merge with Ease: EMF Compare

E M F C O M PA R E

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

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

M O D E L B 2

Page 68: Diff and Merge with Ease: EMF Compare

P R I N C I P L E S O F

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

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

Page 69: Diff and Merge with Ease: EMF Compare

P R I N C I P L E S O F

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

M O D E L B 2

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

Page 70: Diff and Merge with Ease: EMF Compare

P R I N C I P L E S O F

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

M O D E L B 2

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

Page 71: Diff and Merge with Ease: EMF Compare

P R I N C I P L E S O F

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

M O D E L B 2

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

Page 72: Diff and Merge with Ease: EMF Compare

P R I N C I P L E S O F

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

M O D E L B 2

M O D E L B 3

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

Page 73: Diff and Merge with Ease: EMF Compare

E M F C O M PA R E

P R I N C I P L E S O F

M O D E L A 0 M O D E L B 0

M O D E L A 1 M O D E L B 1

M O D E L B 2

M O D E L B 3

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

Page 74: Diff and Merge with Ease: EMF Compare

S H O W T I M E3 … 2 … 1 …

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

Page 75: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

© Joe @Plasmaticohttp://500px.com/photo/38068154

Java API Evolution

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

Incremental Transformation

© Ryan Photographyhttp://500px.com/photo/33582547

Page 76: Diff and Merge with Ease: EMF Compare

I N D E X

Structured Data Comparison

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

Java API Evolution

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

Incremental Transformation

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

Page 77: Diff and Merge with Ease: EMF Compare
Page 78: Diff and Merge with Ease: EMF Compare

G R A P H I C A L C O M PA R I S O N

« One more thing! »

Page 79: Diff and Merge with Ease: EMF Compare

• Infinite potential for delta computation

• EMF Compare will diff and merge any EMF data for free

• Default UI with tremendous extension capabilities

W H AT Y O U S H O U L D R E M E M B E R

© Braeden Petruk http://500px.com/photo/23711467

Page 80: Diff and Merge with Ease: EMF Compare

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

Page 81: Diff and Merge with Ease: EMF Compare

Q & A ?

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

Page 82: Diff and Merge with Ease: EMF Compare

L E AV E F E E D B A C KP L E A S E

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

S E L E C T S E S S I O N E VA L U AT E

V O T E + 1 , 0 , O R - 1

© Denis Dervisevic http://www.flickr.com/photos/denisdervisevic/4745520501/

Page 83: Diff and Merge with Ease: EMF Compare

MIKAËL BARBERO [email protected] +Mikaël Barbero @mikbarbero

OBEO http://www.obeo.fr