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
h...
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
h...
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...
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...
INDEX

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

Structured Data
Comparison

© Guille Massagué Conde
http://500px...
INDEX

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

Structured Data
Comparison

© Guille Massagué Conde
http://500px...
<? XML ?>
<? XML ?>
<? TROUBLE ?>
DOM MODEL
<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${versio...
DOM MODEL
DOCUMENT

<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guic...
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-${versio...
ANT MODEL
PROJECT

<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice...
ANT MODEL
PROJECT

<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice...
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

Structu...
INDEX

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

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

Structu...
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

M...
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...
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

REFER...
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

REFER...
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...
INDEX

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

Structured Data
Comparison

© Guille Massagué Conde
http://500px...
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

...
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 ...
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
...
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...
INDEX

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

Structured Data
Comparison

© Guille Massagué Conde
http://500px...
« 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 ...
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, O...
MIKAËL BARBERO
mikael.barbero@obeo.fr
+Mikaël Barbero
@mikbarbero

OBEO

http://www.obeo.fr
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
Upcoming SlideShare
Loading in …5
×

Diff and Merge with Ease: EMF Compare

1,640 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,640
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Diff and Merge with Ease: EMF Compare

  1. 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. 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. 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. 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
  5. 5. © David Cornejo http://500px.com/photo/1683454
  6. 6. Who know what is EMF? © David Cornejo http://500px.com/photo/1683454
  7. 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. 8. IT IS ALL ABOUT DIFFERENCES © Adrian Limani http://500px.com/photo/18438151
  9. 9. E M F C O M PA R E BIRD VIEW EMF MODEL 1 EMF MODEL 2
  10. 10. E M F C O M PA R E BIRD VIEW EMF MODEL 1 EMF MODEL 2
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. INTEGRATED WITH ECLIPSE TEAM PROVIDERS
  15. 15. TA G L I N E If you can inject your data within EMF, ! EMF Compare will diff and merge it for free
  16. 16. INDEX
  17. 17. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 Structured Data Comparison
  18. 18. INDEX © Joe @Plasmatico http://500px.com/photo/38068154 Structured Data Comparison © Guille Massagué Conde http://500px.com/photo/42703584 Java API Evolution
  19. 19. 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
  20. 20. 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
  21. 21. <? XML ?>
  22. 22. <? XML ?> <? TROUBLE ?>
  23. 23. 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>
  24. 24. 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
  25. 25. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  26. 26. 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>
  27. 27. 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
  28. 28. 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 …
  29. 29. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. C O M PA R I S O N M O D E L TEARDOWN
  34. 34. C O M PA R I S O N M O D E L TEARDOWN C O M PA R I S O N
  35. 35. 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
  36. 36. 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)
  37. 37. 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)
  38. 38. 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)
  39. 39. 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)
  40. 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 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)
  41. 41. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  42. 42. 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
  43. 43. 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
  44. 44. 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
  45. 45. 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
  46. 46. 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
  47. 47. 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
  48. 48. 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
  49. 49. 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
  50. 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 MODEL B0 MODEL A1 MODEL B1
  51. 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 MODEL A1 MODEL B1
  52. 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 A1 MODEL B0
  53. 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 MODEL A1 E M F C O M PA R E
  54. 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 E M F C O M PA R E
  55. 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 A1 E M F C O M PA R E
  56. 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 C O M PA R I S O N MODEL A1 E M F C O M PA R E
  57. 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 C O M PA R I S O N MODEL A1 E M F C O M PA R E MODEL B0
  58. 58. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  59. 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 MODEL B1
  60. 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 B0 MODEL B2 MODEL A1 MODEL B1
  61. 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 B0 MODEL B2 MODEL A1 MODEL B1 E M F C O M PA R E
  62. 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 MODEL B0 MODEL A1 MODEL B1
  63. 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 MODEL B0 MODEL A1 MODEL B1 MODEL B2
  64. 64. 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
  65. 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 MODEL B2
  66. 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 MODEL B3
  67. 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 MODEL B3 E M F C O M PA R E
  68. 68. 3… 2… 1… SHOWTIME © Christoph Ruhland http://500px.com/photo/1145370
  69. 69. 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
  70. 70. 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
  71. 71. « One more thing! » G R A P H I C A L C O M PA R I S O N
  72. 72. 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
  73. 73. 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
  74. 74. Q&A? © Damon Fullington http://500px.com/photo/21930711
  75. 75. 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/
  76. 76. MIKAËL BARBERO mikael.barbero@obeo.fr +Mikaël Barbero @mikbarbero OBEO http://www.obeo.fr

×