SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Painless (?) Metamodel Evolution
A pragmatic approach

Eclipse Con 2010
                       Christian Saad (University of Augsburg, DE)
                                 Etienne Juliot (Obeo, FR)
                               Marc Dutoo (Open Wide, FR)


         Confidential | Date | Other Information, if necessary
                                                                 © 2002 IBM Corporation
About the speakers
                                        Christian Saad - University of Augsburg
                                            • Research assistant at the University of Augsburg
                                            • Topics of interest: Model analysis, business process
                                              management

                                        Etienne Juliot - founder of Obeo, FR
                                            • Contributes to several Eclipse projects (SCA Tools,
                                              Acceleo, ATL, EEF, ...) and OpenSource communities

                                        Marc Dutoo - SOA, BPM, ECM architect
                                            • Head of R&D Dept. at Open Wide, a French Open
                                              Source software integrator


                                        With the support of
                                          • Stéphane Drapeau, Obeo, FR
                                          • The Java Workflow Tooling (JWT) and SCA projects
Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   2
Overview


                    Metamodel evolution is painful !
                    JWT (migration)
                             use case - practices - technologies - automating it

                    SCA (extensions)
                             use case - analysis - solution
                    Further
                    Conclusion




Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   3
Metamodels do evolve !

        along with
                     The business domain
                        • Driven by new requirements or standards
                        • Concepts or attributes may be added or become obsolete
                     Internal features
                            Driven by features of the modeling tool itself
                            Ex: layout information
                     External features
                        • Driven by model usage
                        • Ex: runtime information (logging, transactions) in workflows



Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   4
Metamodel changes are...

                    (too?!) easy to design (EMF & co)
                    painful to cope with – for devs and users alike
                                               • old models must be migrated (tedious and boring)
                                               • or their legacy metamodels maintained (defeats
                                                 the purpose)...
                                               • …if there's actually someone caring enough

                                               and metamodel evolutions never stop
                                                           they just pile up !


            ... everyone who has really used modeling / MDA has
                               experienced it !

Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   5
Introducing the JWT use case
                       we experienced it at our project
                           • Java Workflow Tooling (JWT)
                           • An extensible Workflow tool suite in the SOA TLP
                       all the more because it aims at
                           • an extensible model (through aspect-like extensions)
                             that allows to support different runtimes
                           • different GEF-based views on top of it
                           • compatibility with other workflow standards (through
                             transformations)




Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   6
1. Alleviating the pain - diagnostic

                    Know where you are
                        • store a version number in the model
                        • version-specific namespace: pros and cons
                                • Use it if your technology allows it – see next

                    Manage evolutions
                        • talk about them! (Wiki, release notes, warning dialogs)
                        • write howtos on evolving legacy models in bugzillas
                        • ex. "all nodes with a X=Y property now are of type Z"

                    But
                        • The user still has to do everything, so it hurts !



Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   7
1. Alleviating the pain – practices

                    Modeling practices: “eager” changes
                        • Adding new nodes breaks nothing
                        • However Deleting/Refactoring does
                             Provide abstract nodes with generic semantics

                                                                − Default behaviours are inherited
                                                                − Ex: Subclassing JWT ExecutableNode




                    Write unit tests which load sample models!
                    But
                             Beware of being restricted in metamodel evolutions that won't
                             break "too much" legacy models
Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   8
2. Scalpels - using technologies

                 Been there, done that :
                     • you've migrated two models by hand, and don't want to do it
                       again. So code the evolution rules that you documented!
                     • Ex.: Java EMF - lighter : scripting (groovy)
                 BUT source and target metamodels are different:
                     • load both: But still has to code the copy of the part of the
                       original model that didn't change (most of it actually)
                 A simple, content-oriented solution : XSL
                     • breaking free from java, code, EMF
                       (for best… and worse)
                 An EMF solution : ATL
                     • EMF based model to model
                       transformations
                 … and provide these to model users!
                         • extend the EMF editor actions (yours or the original one), up
                              to...
Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   9
3. Healing - automating evolution
   Make the evolution transparent
       • When evolving (meta)models , most of the work is
         the same
       • Check version, if not the same as your tool's, find and
         apply required transformation
   JWT’s ATL model converter
       • Lightweight ATL-based framework
       • Developers only need to slightly adapt the ATL
         transformation

                                                                                     • Ask users whether they are OK
                                                                                       with automatic transformation
                                                                                       before manipulating files!


Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   10
Introducing the SCA Tools project

                    Service Component Architecture (SCA) aims to provide
                        A model for the creation of service components in a
                        wide range of languages and
                        A model for assembling service components into a
                        business solution

                    SCA Tools project is a set of tools for developers of SCA
                    applications
                        The project was created under the SOA Tools Platform
                        (STP) TLP
    SOA                 The project is moving to the new SOA TLP (move
 Top Level              review planned April 7)
  Project


Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   11
SCA "two-headed" metamodel and its extensions
          SCA was initiated by the Open SOA consortium
              → SCA specifications 1.0
          Currently, the OASIS Open Composite Services
          Architecture (CSA) Member Section is standardizing SCA
              → SCA specifications 1.1
          Each runtime extends the SCA specifications with
          additional Implementation, Interface and Binding types
                                                                                                             SCA
                            SCA OSOA
                                                                                                             OASIS




      Tuscany                 FraSCAti                                                          Tuscany
                                                      Runtime x                                                          Runtime y
      1.x                     1.x                                                               2.x



Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0               12
SCA "two-headed" metamodel and its extensions
          SCA was initiated by the Open SOA consortium a set of tools
                                        Objective: to propose
                                         (XML editors, GMF editors, launchers,
              → SCA specifications 1.0 ...) based on all these metamodels
          Currently, the OASIS Open Composite Services
          Architecture (CSA) Member Sectionuser must have the impression
                                        The is standardizing SCA
                                        he is using the same tool when he
              → SCA specifications 1.1 defines an SCA-OSOA or an
          Each runtime extends the SCA specifications with
                                        SCA-OASIS artefact!
          additional Implementation, Interface and Binding types
                                                                                                             SCA
                            SCA OSOA
                                                                                                             OASIS




      Tuscany                 FraSCAti                                                          Tuscany
                                                      Runtime x                                                          Runtime y
      1.x                     1.x                                                               2.x



Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0               13
How we support the "two-headed" metamodel

    For each SCA specifications (OSOA and OASIS), we generated
    the metamodel and the GMF designer
    The same SCA runtimes extension mechanism is used


    The "two-headed"
    metamodel and
    the extensions
    specific to the
    different SCA
    runtimes are                                  SCA-OASIS                                               SCA-OSOA
    transparent for
    the user


Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   14
How do we support the SCA runtimes extensions?
                A core metamodel: SCA-OSOA or SCA-OASIS
                Extensions proposed by the SCA runtimes concern only the
                Implementation, Interface and Binding types

                Extension of the core metamodels is easy
                    Use the "Child Creation Extenders" and "Extensible
                    Provider Factory" options proposed in the .genmodel
                Extension of the GMF modeler is more difficult
                    GMF does not take into account the extension options
                    proposed by EMF
                    → Specific code in the sca.diagram plugin
                    → New plugin (sca.diagram.extension) to dynamically
                    take into account the extensions

Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   15
Create your own extension
    First step: extend the SCA metamodel
         Create a new metamodel
             Create a DocumentRoot that extends the
             DocumentRoot of the SCA metamodel
             Create your own elements that extend
             Implementation, Interface or Binding
             Generate the code

    Second step: extend the Composite Designer
             org.eclipse.gmf.runtime.emf.type.core.elementTypes
             org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings
             …

     Third step: Extend existing ATL transformations and Acceleo generators

Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   16
Further
             COPE by TUM Munich University (http://cope.in.tum.de)
                     • Transformations
                            • by recording metamodel changes
                            • Mixes automatic and manually defined ones
                            High level transformation definition
                     • But
                             • Developers must be “convinced” to follow this procedure
                             • Overhead when “trying out” new things in your models
                             • Changes in semantics only recorded in developer’s mind!

      // 1. metamodel adaptation
      Signature.inPort.eType = newClass("InPort", [Port])
      Signature.outPort.eType = newClass("OutPort", [Port])
      Port.’abstract’ = true
      // 2. model migration
      for(signature in Signature.instances) {
         for(port in signature.inPort) port.migrate(InPort)
         for(port in signature.outPort) port.migrate(OutPort)
      }


Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   17
Further
                 Eclipse Edapt
                     • New project under EMFT
                     • Goals
                            • Migration of model instances, editors, transformations
                            • Attaching migration instructions to change history
                     • Approaches
                            • Recording changes (COPE)
                            • Extracting changes (EMF Compare)


                  Semantic “tagging” of meta model elements
                     • Research topic
                     • Fit for every day use?



Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   18
Conclusion

                    From alleviating the pain, up to automated “healing”
                    JWT use case
                        • ATL converter : robust and versatile
                        • Next: graphical UI help, help migrating models referred by
                          other models, help migrating model transformations...
                    SCA "two-headed" metamodel use case
                       • Simple at EMF model level, harder at GMF UI level, but at the
                         end transparent for the user
                       • SCA metamodel can be used by others tools: ATL (module
                         superimposition), Acceleo (dynamic templates), EEF

                    What about your own experiences ?




Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   19
Thanks for your attention !

                       A ny questions? ? ?
           Contact us at christian.saad@informatik.uni-augsburg.de
                           or etienne.juliot@obeo.fr
                          or marc.dutoo@openwide.fr
         JWT website & wiki: http://www.eclipse.org/jwt
         SCA website : http://wiki.eclipse.org/STP/SCA_Component

                                     We thank for his assistance:
                                         Stephane Drapeau, Obeo, FR – SCA project leader


Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0   20

Weitere ähnliche Inhalte

Was ist angesagt?

A.Alves Sun GlassFish Portfolio preso - JavaPT '09
A.Alves Sun GlassFish Portfolio preso - JavaPT '09A.Alves Sun GlassFish Portfolio preso - JavaPT '09
A.Alves Sun GlassFish Portfolio preso - JavaPT '09Artur Alves
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
 
EclipseConEurope2012 SOA - Talend with EasySOA
EclipseConEurope2012 SOA - Talend with EasySOAEclipseConEurope2012 SOA - Talend with EasySOA
EclipseConEurope2012 SOA - Talend with EasySOAMarc Dutoo
 
Focus Group Open Source 28.4.2010 Paolo Maresca
Focus Group Open Source 28.4.2010 Paolo MarescaFocus Group Open Source 28.4.2010 Paolo Maresca
Focus Group Open Source 28.4.2010 Paolo MarescaRoberto Galoppini
 
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Vinay H G
 
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceWebsphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceIBM WebSphereIndia
 
Things you should know about Scalability!
Things you should know about Scalability!Things you should know about Scalability!
Things you should know about Scalability!Robert Mederer
 
OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...
OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...
OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...mfrancis
 
Soa symposium eclipse con 2013
Soa symposium   eclipse con 2013Soa symposium   eclipse con 2013
Soa symposium eclipse con 2013Marc Gille
 
Experience in Corporate Training in Virtual Worlds
Experience in Corporate Training in Virtual WorldsExperience in Corporate Training in Virtual Worlds
Experience in Corporate Training in Virtual WorldsAgile Dimensions LLC
 
Travelling Light for the Long Haul - Ian Robinson
Travelling Light for the Long Haul -  Ian RobinsonTravelling Light for the Long Haul -  Ian Robinson
Travelling Light for the Long Haul - Ian Robinsonmfrancis
 
Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Cary Millsap
 
Flex and the city in London - Keynote
Flex and the city in London - KeynoteFlex and the city in London - Keynote
Flex and the city in London - KeynoteMichael Chaize
 
FraSCAti@rivieradev
FraSCAti@rivieradevFraSCAti@rivieradev
FraSCAti@rivieradevdemarey
 
Oracle Systems _ Jeff Schwartz _ Engineering Solutions Exadata - Exalogic.pdf
Oracle Systems _ Jeff Schwartz _ Engineering Solutions Exadata - Exalogic.pdfOracle Systems _ Jeff Schwartz _ Engineering Solutions Exadata - Exalogic.pdf
Oracle Systems _ Jeff Schwartz _ Engineering Solutions Exadata - Exalogic.pdfInSync2011
 
7 Ways The Cloud Changes IT
7 Ways The Cloud Changes IT7 Ways The Cloud Changes IT
7 Ways The Cloud Changes ITOpSource
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing ChallengesScott Barber
 
Novell enabling collaboration
Novell   enabling collaborationNovell   enabling collaboration
Novell enabling collaborationGWAVA
 

Was ist angesagt? (20)

A.Alves Sun GlassFish Portfolio preso - JavaPT '09
A.Alves Sun GlassFish Portfolio preso - JavaPT '09A.Alves Sun GlassFish Portfolio preso - JavaPT '09
A.Alves Sun GlassFish Portfolio preso - JavaPT '09
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
EclipseConEurope2012 SOA - Talend with EasySOA
EclipseConEurope2012 SOA - Talend with EasySOAEclipseConEurope2012 SOA - Talend with EasySOA
EclipseConEurope2012 SOA - Talend with EasySOA
 
Focus Group Open Source 28.4.2010 Paolo Maresca
Focus Group Open Source 28.4.2010 Paolo MarescaFocus Group Open Source 28.4.2010 Paolo Maresca
Focus Group Open Source 28.4.2010 Paolo Maresca
 
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807
 
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceWebsphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open Source
 
Things you should know about Scalability!
Things you should know about Scalability!Things you should know about Scalability!
Things you should know about Scalability!
 
JavaOne Update zur Java Plattform
JavaOne Update zur Java PlattformJavaOne Update zur Java Plattform
JavaOne Update zur Java Plattform
 
OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...
OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...
OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...
 
Open Source Recife
Open Source RecifeOpen Source Recife
Open Source Recife
 
Soa symposium eclipse con 2013
Soa symposium   eclipse con 2013Soa symposium   eclipse con 2013
Soa symposium eclipse con 2013
 
Experience in Corporate Training in Virtual Worlds
Experience in Corporate Training in Virtual WorldsExperience in Corporate Training in Virtual Worlds
Experience in Corporate Training in Virtual Worlds
 
Travelling Light for the Long Haul - Ian Robinson
Travelling Light for the Long Haul -  Ian RobinsonTravelling Light for the Long Haul -  Ian Robinson
Travelling Light for the Long Haul - Ian Robinson
 
Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21
 
Flex and the city in London - Keynote
Flex and the city in London - KeynoteFlex and the city in London - Keynote
Flex and the city in London - Keynote
 
FraSCAti@rivieradev
FraSCAti@rivieradevFraSCAti@rivieradev
FraSCAti@rivieradev
 
Oracle Systems _ Jeff Schwartz _ Engineering Solutions Exadata - Exalogic.pdf
Oracle Systems _ Jeff Schwartz _ Engineering Solutions Exadata - Exalogic.pdfOracle Systems _ Jeff Schwartz _ Engineering Solutions Exadata - Exalogic.pdf
Oracle Systems _ Jeff Schwartz _ Engineering Solutions Exadata - Exalogic.pdf
 
7 Ways The Cloud Changes IT
7 Ways The Cloud Changes IT7 Ways The Cloud Changes IT
7 Ways The Cloud Changes IT
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing Challenges
 
Novell enabling collaboration
Novell   enabling collaborationNovell   enabling collaboration
Novell enabling collaboration
 

Ähnlich wie PAINLESS METAMODEL EVOLUTION

Eclipse Summit 2009 - Aspect Oriented Modeling
Eclipse Summit 2009 - Aspect Oriented ModelingEclipse Summit 2009 - Aspect Oriented Modeling
Eclipse Summit 2009 - Aspect Oriented ModelingMarc Dutoo
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
Obiettivi e progetti della comunità Eclipse italiana
Obiettivi e progetti della comunità Eclipse italianaObiettivi e progetti della comunità Eclipse italiana
Obiettivi e progetti della comunità Eclipse italianaEclipse Day 2010 in Rome
 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introductionirbull
 
Eclipse Training - Introduction
Eclipse Training - IntroductionEclipse Training - Introduction
Eclipse Training - IntroductionLuca D'Onofrio
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !Cédric Brun
 
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseGEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseYoann Rodiere
 
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Mickael Istria
 
EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012Istvan Rath
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handBenjamin Cabé
 
Openesb past present-future_news_letter
Openesb past present-future_news_letterOpenesb past present-future_news_letter
Openesb past present-future_news_letterPrabhu Pathak
 
Leveraging the Eclipse Ecosystem for the Scientific Community
Leveraging the Eclipse Ecosystem for the Scientific CommunityLeveraging the Eclipse Ecosystem for the Scientific Community
Leveraging the Eclipse Ecosystem for the Scientific Communityguestd41014
 
Eranea : solution for Cobol to Java transcoding (100% automatic and strictly ...
Eranea : solution for Cobol to Java transcoding (100% automatic and strictly ...Eranea : solution for Cobol to Java transcoding (100% automatic and strictly ...
Eranea : solution for Cobol to Java transcoding (100% automatic and strictly ...Eranea
 
Eclipse workshop presentation
Eclipse workshop presentationEclipse workshop presentation
Eclipse workshop presentationMiguel Pardal
 
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platformLessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platformNuxeo
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingCédric Brun
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...mfrancis
 
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingEclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingObeo
 

Ähnlich wie PAINLESS METAMODEL EVOLUTION (20)

Eclipse Summit 2009 - Aspect Oriented Modeling
Eclipse Summit 2009 - Aspect Oriented ModelingEclipse Summit 2009 - Aspect Oriented Modeling
Eclipse Summit 2009 - Aspect Oriented Modeling
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
Obiettivi e progetti della comunità Eclipse italiana
Obiettivi e progetti della comunità Eclipse italianaObiettivi e progetti della comunità Eclipse italiana
Obiettivi e progetti della comunità Eclipse italiana
 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introduction
 
Eclipse Training - Introduction
Eclipse Training - IntroductionEclipse Training - Introduction
Eclipse Training - Introduction
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseGEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
 
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
 
EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in hand
 
OOP Java
OOP JavaOOP Java
OOP Java
 
Openesb past present-future_news_letter
Openesb past present-future_news_letterOpenesb past present-future_news_letter
Openesb past present-future_news_letter
 
Intro To AOP
Intro To AOPIntro To AOP
Intro To AOP
 
Leveraging the Eclipse Ecosystem for the Scientific Community
Leveraging the Eclipse Ecosystem for the Scientific CommunityLeveraging the Eclipse Ecosystem for the Scientific Community
Leveraging the Eclipse Ecosystem for the Scientific Community
 
Eranea : solution for Cobol to Java transcoding (100% automatic and strictly ...
Eranea : solution for Cobol to Java transcoding (100% automatic and strictly ...Eranea : solution for Cobol to Java transcoding (100% automatic and strictly ...
Eranea : solution for Cobol to Java transcoding (100% automatic and strictly ...
 
Eclipse workshop presentation
Eclipse workshop presentationEclipse workshop presentation
Eclipse workshop presentation
 
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platformLessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
 
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingEclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
 

Mehr von Marc Dutoo

Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ...
 Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ... Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ...
Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ...Marc Dutoo
 
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...Marc Dutoo
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Marc Dutoo
 
PCU@RISE 2017 - Building a thesaurus for product search
PCU@RISE 2017 - Building a thesaurus for product searchPCU@RISE 2017 - Building a thesaurus for product search
PCU@RISE 2017 - Building a thesaurus for product searchMarc Dutoo
 
OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...
OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...
OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...Marc Dutoo
 
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformOCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformMarc Dutoo
 
OCCIware@OW2con 2016
OCCIware@OW2con 2016OCCIware@OW2con 2016
OCCIware@OW2con 2016Marc Dutoo
 
OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...
OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...
OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...Marc Dutoo
 
OCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demo
OCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demoOCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demo
OCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demoMarc Dutoo
 
OCCIware & Linked Data prototype OW2Con@POSS
OCCIware & Linked Data prototype OW2Con@POSSOCCIware & Linked Data prototype OW2Con@POSS
OCCIware & Linked Data prototype OW2Con@POSSMarc Dutoo
 
OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015
OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015
OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015Marc Dutoo
 
EasySOA business case and real world use case 20130220
EasySOA business case and real world use case 20130220EasySOA business case and real world use case 20130220
EasySOA business case and real world use case 20130220Marc Dutoo
 
Alfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & TalendAlfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & TalendMarc Dutoo
 
Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...
Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...
Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...Marc Dutoo
 
SOA facile en 10 pratiques avec EasySOA - Alpes JUG
SOA facile en 10 pratiques avec EasySOA - Alpes JUGSOA facile en 10 pratiques avec EasySOA - Alpes JUG
SOA facile en 10 pratiques avec EasySOA - Alpes JUGMarc Dutoo
 
EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011Marc Dutoo
 
Open Wide Flyer - OW2 Conference 2010 – 23-24 November, Paris
Open Wide Flyer - OW2 Conference 2010 – 23-24 November, ParisOpen Wide Flyer - OW2 Conference 2010 – 23-24 November, Paris
Open Wide Flyer - OW2 Conference 2010 – 23-24 November, ParisMarc Dutoo
 
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...Marc Dutoo
 

Mehr von Marc Dutoo (18)

Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ...
 Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ... Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ...
Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ...
 
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
PCU@RISE 2017 - Building a thesaurus for product search
PCU@RISE 2017 - Building a thesaurus for product searchPCU@RISE 2017 - Building a thesaurus for product search
PCU@RISE 2017 - Building a thesaurus for product search
 
OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...
OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...
OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...
 
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformOCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
 
OCCIware@OW2con 2016
OCCIware@OW2con 2016OCCIware@OW2con 2016
OCCIware@OW2con 2016
 
OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...
OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...
OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...
 
OCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demo
OCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demoOCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demo
OCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demo
 
OCCIware & Linked Data prototype OW2Con@POSS
OCCIware & Linked Data prototype OW2Con@POSSOCCIware & Linked Data prototype OW2Con@POSS
OCCIware & Linked Data prototype OW2Con@POSS
 
OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015
OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015
OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015
 
EasySOA business case and real world use case 20130220
EasySOA business case and real world use case 20130220EasySOA business case and real world use case 20130220
EasySOA business case and real world use case 20130220
 
Alfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & TalendAlfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & Talend
 
Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...
Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...
Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...
 
SOA facile en 10 pratiques avec EasySOA - Alpes JUG
SOA facile en 10 pratiques avec EasySOA - Alpes JUGSOA facile en 10 pratiques avec EasySOA - Alpes JUG
SOA facile en 10 pratiques avec EasySOA - Alpes JUG
 
EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011EasySOA thanks to OW2 - OW2Con 2011
EasySOA thanks to OW2 - OW2Con 2011
 
Open Wide Flyer - OW2 Conference 2010 – 23-24 November, Paris
Open Wide Flyer - OW2 Conference 2010 – 23-24 November, ParisOpen Wide Flyer - OW2 Conference 2010 – 23-24 November, Paris
Open Wide Flyer - OW2 Conference 2010 – 23-24 November, Paris
 
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
 

Kürzlich hochgeladen

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

PAINLESS METAMODEL EVOLUTION

  • 1. Painless (?) Metamodel Evolution A pragmatic approach Eclipse Con 2010 Christian Saad (University of Augsburg, DE) Etienne Juliot (Obeo, FR) Marc Dutoo (Open Wide, FR) Confidential | Date | Other Information, if necessary © 2002 IBM Corporation
  • 2. About the speakers Christian Saad - University of Augsburg • Research assistant at the University of Augsburg • Topics of interest: Model analysis, business process management Etienne Juliot - founder of Obeo, FR • Contributes to several Eclipse projects (SCA Tools, Acceleo, ATL, EEF, ...) and OpenSource communities Marc Dutoo - SOA, BPM, ECM architect • Head of R&D Dept. at Open Wide, a French Open Source software integrator With the support of • Stéphane Drapeau, Obeo, FR • The Java Workflow Tooling (JWT) and SCA projects Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 2
  • 3. Overview Metamodel evolution is painful ! JWT (migration) use case - practices - technologies - automating it SCA (extensions) use case - analysis - solution Further Conclusion Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 3
  • 4. Metamodels do evolve ! along with The business domain • Driven by new requirements or standards • Concepts or attributes may be added or become obsolete Internal features Driven by features of the modeling tool itself Ex: layout information External features • Driven by model usage • Ex: runtime information (logging, transactions) in workflows Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 4
  • 5. Metamodel changes are... (too?!) easy to design (EMF & co) painful to cope with – for devs and users alike • old models must be migrated (tedious and boring) • or their legacy metamodels maintained (defeats the purpose)... • …if there's actually someone caring enough and metamodel evolutions never stop they just pile up ! ... everyone who has really used modeling / MDA has experienced it ! Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 5
  • 6. Introducing the JWT use case we experienced it at our project • Java Workflow Tooling (JWT) • An extensible Workflow tool suite in the SOA TLP all the more because it aims at • an extensible model (through aspect-like extensions) that allows to support different runtimes • different GEF-based views on top of it • compatibility with other workflow standards (through transformations) Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 6
  • 7. 1. Alleviating the pain - diagnostic Know where you are • store a version number in the model • version-specific namespace: pros and cons • Use it if your technology allows it – see next Manage evolutions • talk about them! (Wiki, release notes, warning dialogs) • write howtos on evolving legacy models in bugzillas • ex. "all nodes with a X=Y property now are of type Z" But • The user still has to do everything, so it hurts ! Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 7
  • 8. 1. Alleviating the pain – practices Modeling practices: “eager” changes • Adding new nodes breaks nothing • However Deleting/Refactoring does Provide abstract nodes with generic semantics − Default behaviours are inherited − Ex: Subclassing JWT ExecutableNode Write unit tests which load sample models! But Beware of being restricted in metamodel evolutions that won't break "too much" legacy models Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 8
  • 9. 2. Scalpels - using technologies Been there, done that : • you've migrated two models by hand, and don't want to do it again. So code the evolution rules that you documented! • Ex.: Java EMF - lighter : scripting (groovy) BUT source and target metamodels are different: • load both: But still has to code the copy of the part of the original model that didn't change (most of it actually) A simple, content-oriented solution : XSL • breaking free from java, code, EMF (for best… and worse) An EMF solution : ATL • EMF based model to model transformations … and provide these to model users! • extend the EMF editor actions (yours or the original one), up to... Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 9
  • 10. 3. Healing - automating evolution Make the evolution transparent • When evolving (meta)models , most of the work is the same • Check version, if not the same as your tool's, find and apply required transformation JWT’s ATL model converter • Lightweight ATL-based framework • Developers only need to slightly adapt the ATL transformation • Ask users whether they are OK with automatic transformation before manipulating files! Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 10
  • 11. Introducing the SCA Tools project Service Component Architecture (SCA) aims to provide A model for the creation of service components in a wide range of languages and A model for assembling service components into a business solution SCA Tools project is a set of tools for developers of SCA applications The project was created under the SOA Tools Platform (STP) TLP SOA The project is moving to the new SOA TLP (move Top Level review planned April 7) Project Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 11
  • 12. SCA "two-headed" metamodel and its extensions SCA was initiated by the Open SOA consortium → SCA specifications 1.0 Currently, the OASIS Open Composite Services Architecture (CSA) Member Section is standardizing SCA → SCA specifications 1.1 Each runtime extends the SCA specifications with additional Implementation, Interface and Binding types SCA SCA OSOA OASIS Tuscany FraSCAti Tuscany Runtime x Runtime y 1.x 1.x 2.x Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 12
  • 13. SCA "two-headed" metamodel and its extensions SCA was initiated by the Open SOA consortium a set of tools Objective: to propose (XML editors, GMF editors, launchers, → SCA specifications 1.0 ...) based on all these metamodels Currently, the OASIS Open Composite Services Architecture (CSA) Member Sectionuser must have the impression The is standardizing SCA he is using the same tool when he → SCA specifications 1.1 defines an SCA-OSOA or an Each runtime extends the SCA specifications with SCA-OASIS artefact! additional Implementation, Interface and Binding types SCA SCA OSOA OASIS Tuscany FraSCAti Tuscany Runtime x Runtime y 1.x 1.x 2.x Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 13
  • 14. How we support the "two-headed" metamodel For each SCA specifications (OSOA and OASIS), we generated the metamodel and the GMF designer The same SCA runtimes extension mechanism is used The "two-headed" metamodel and the extensions specific to the different SCA runtimes are SCA-OASIS SCA-OSOA transparent for the user Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 14
  • 15. How do we support the SCA runtimes extensions? A core metamodel: SCA-OSOA or SCA-OASIS Extensions proposed by the SCA runtimes concern only the Implementation, Interface and Binding types Extension of the core metamodels is easy Use the "Child Creation Extenders" and "Extensible Provider Factory" options proposed in the .genmodel Extension of the GMF modeler is more difficult GMF does not take into account the extension options proposed by EMF → Specific code in the sca.diagram plugin → New plugin (sca.diagram.extension) to dynamically take into account the extensions Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 15
  • 16. Create your own extension First step: extend the SCA metamodel Create a new metamodel Create a DocumentRoot that extends the DocumentRoot of the SCA metamodel Create your own elements that extend Implementation, Interface or Binding Generate the code Second step: extend the Composite Designer org.eclipse.gmf.runtime.emf.type.core.elementTypes org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings … Third step: Extend existing ATL transformations and Acceleo generators Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 16
  • 17. Further COPE by TUM Munich University (http://cope.in.tum.de) • Transformations • by recording metamodel changes • Mixes automatic and manually defined ones High level transformation definition • But • Developers must be “convinced” to follow this procedure • Overhead when “trying out” new things in your models • Changes in semantics only recorded in developer’s mind! // 1. metamodel adaptation Signature.inPort.eType = newClass("InPort", [Port]) Signature.outPort.eType = newClass("OutPort", [Port]) Port.’abstract’ = true // 2. model migration for(signature in Signature.instances) { for(port in signature.inPort) port.migrate(InPort) for(port in signature.outPort) port.migrate(OutPort) } Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 17
  • 18. Further Eclipse Edapt • New project under EMFT • Goals • Migration of model instances, editors, transformations • Attaching migration instructions to change history • Approaches • Recording changes (COPE) • Extracting changes (EMF Compare) Semantic “tagging” of meta model elements • Research topic • Fit for every day use? Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 18
  • 19. Conclusion From alleviating the pain, up to automated “healing” JWT use case • ATL converter : robust and versatile • Next: graphical UI help, help migrating models referred by other models, help migrating model transformations... SCA "two-headed" metamodel use case • Simple at EMF model level, harder at GMF UI level, but at the end transparent for the user • SCA metamodel can be used by others tools: ATL (module superimposition), Acceleo (dynamic templates), EEF What about your own experiences ? Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 19
  • 20. Thanks for your attention ! A ny questions? ? ? Contact us at christian.saad@informatik.uni-augsburg.de or etienne.juliot@obeo.fr or marc.dutoo@openwide.fr JWT website & wiki: http://www.eclipse.org/jwt SCA website : http://wiki.eclipse.org/STP/SCA_Component We thank for his assistance: Stephane Drapeau, Obeo, FR – SCA project leader Eclipse Foundation, Inc. | © 2010 by the Open Wide, Obeo and University of Augsburg. Made available under the EPL v1.0 20