SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
The Eclipse Modeling Framework
          and MDA®
                   Status and Opportunities


                     David Frankel Consulting
                           df@DavidFrankelConsulting.com
                           www.DavidFrankelConsulting.com


Portions adapted from the book Model Driven Architecture: Applying MDA™ to Enterprise Computing,
                      by David Frankel, published by John Wiley & Sons OMG Press


                       © 2004 David Frankel Consulting, All Rights Reserved
Agenda
       • Model-Driven Metadata Management
       • EMF and MDA Standards
             –   EMF and the MOF™ Core
             –   EMF and XMI® (XML Metadata Interchange)
             –   EMF and JMI (Java Metadata Interface)
             –   EMF and CMI (CORBA® Metadata Interface)
       • Looking Forward: EMF, MDA, and other related
         technologies
             –   Aspect-Oriented Modeling
             –   Product Line Practices
             –   Intentional Programming
             –   Generative Programming
             –   Microsoft modeling directions
EMF and MDA © 2004 David Frankel Consulting                2
Model-Driven Metadata Management


                                              MOF-Compliant
                                              MOF-Compliant
                                               Metamodel
                                                Metamodel

                           MOF-XML                    MOF-Java         MOF-CORBA
                          Mapping (XMI)              Mapping (JMI)     Mapping (CMI)


             XMI
              XMI                             MOF-Compliant
                                              MOF-Compliant     MOF-Compliant
                                                                MOF-Compliant
          DTD or Schema
          DTD or Schema                         Java APIs
                                                 Java APIs       CORBA APIs
                                                                 CORBA APIs




EMF and MDA © 2004 David Frankel Consulting                                            3
Metadata Management Scenario
                              1—Integrated MOF Repository
                  = MOF CORBA Interfaces

                  = MOF Java Interfaces (JMI)    MOF Repository
                     = MOF XML (XMI) Documents

                         = Import/Export            UML™
                                                    Models

                                                     Data
                                                    Models

                                                   Workflow
                                                    Models

                                                 CCM CORBA
                                                   Interfaces

                                                      B2Bi
                                                  Collaboration
                                                  Descriptions

EMF and MDA © 2004 David Frankel Consulting                       4
Metadata Management Scenario
                             2—Federated MOF Repositories
               = MOF CORBA Interfaces
               = MOF Java Interfaces (JMI)
                  = MOF XML (XMI) Documents
                      = Import/Export



                       MOF Repository             MOF Repository

                             UML                     UML
                             Models                  Models




                                                      …
                              …



                             B2Bi                      B2Bi
                         Collaboration             Collaboration
                         Descriptions              Descriptions



EMF and MDA © 2004 David Frankel Consulting                        5
Metadata Management Scenario
                                              3—Eclipse IDE

                 = EMF Java Interfaces (Not JMI)         In-Memory
                     = MOF XML (XMI) Documents

                         = Import/Export                  UML
                                                          Models

                                                           Data
                                                          Models

                                                         Workflow
                                                          Models

                                                        CCM CORBA
                                                         Interfaces

                                                            B2Bi
                                                        Collaboration
                                                        Descriptions

EMF and MDA © 2004 David Frankel Consulting                             6
Eclipse and the MOF Core

                                                      MOF 2.0
                         MOF 1.x              EMF
                                                        Core
                          Core                Ecore
                                                      (EMOF)




   • Ecore is closer to MOF 2.0 EMOF (Essential
     MOF) than MOF 1.x
   • IBM has indicated that Ecore will be aligned with
     EMOF

EMF and MDA © 2004 David Frankel Consulting                     7
EMF and XMI
                                               XML Mapping

             XMI 1.x              XMI 2.0         EMF XMI      XMI
              (DTD               (DTD and        Implements    For
               only)              Schema)          XMI 2.0    MOF 2.0



                                                              MOF 2.0
                                  MOF 1.x             EMF
                                                                Core
                                   Core               Ecore
                                                              (EMOF)


       • EMF XMI essentially implements XMI 2.0
             —But XMI 2.0 is based on the MOF 1.x Core
       • EMF XMI in effect maps Ecore to MOF 1.x Core
       • EMF XMI does not implement XMI 2.0
         parameterizations
EMF and MDA © 2004 David Frankel Consulting                             8
EMF and JMI
                                               Java Mapping

                            JMI                   EMF       JMI
                            (Sun                  Java       For
                          JSR-40)                Mapping   MOF 2.0



                                                           MOF 2.0
                         MOF 1.x                  EMF
                                                             Core
                          Core                    Ecore
                                                           (EMOF)


      • EMF Java mapping does not align with JMI
      • IBM indicates alignment will happen with
        JMI for MOF 2.0
            – No new JMI JSR process has been started
EMF and MDA © 2004 David Frankel Consulting                          9
EMF and CMI
                                              CORBA Mapping

                          CMI                              CMI
                          For                               For
                         MOF 1.x                          MOF 2.0



                                                          MOF 2.0
                         MOF 1.x                  EMF
                                                            Core
                          Core                    Ecore
                                                          (EMOF)


   • CMI for MOF 1.x is impractical for distributed systems
   • CMI for MOF 2.0 is excellent
         – Defined by real time CORBA vendors
   • EMF has no implementation of either (understandable)
EMF and MDA © 2004 David Frankel Consulting                         10
Looking Forward
                EMF, MDA, and Other Related Technologies

          •    Aspect-Oriented Modeling
          •    Product Line Practices
          •    Intentional Programming
          •    Generative Programming
                – Key book: Generative Programming, Krzysztof
                  Czarnecki and Ulrich W. Eisenecker
          • Microsoft modeling directions
                – Key book: Software Factories: Assembling
                  Applications with Patterns, Models,
                  Frameworks and Tools, Jack Greenfield et al
                  (H1’04)
EMF and MDA © 2004 David Frankel Consulting                     11
Aspect-Oriented Programming
                         Persistence          Statefulness     Security


                                               Functional    Transactional
                           Identity             Business       Behavior
                                               Semantics
                         Service
                          Level                Logging        Reentrancy
                        Agreements

     • Separating different aspects of a system at
       design time
           – Related to Multidimensional Separation of Concern
     • An approach to separation of concern
     • Addresses “code tangling” problem
EMF and MDA © 2004 David Frankel Consulting                                  12
Product Line Practices
          • Product Line
                – “…a set of software-intensive systems that share a common,
                  managed set of features satisfying the specific needs of a particular
                  market segment or mission and that are developed from a common
                  set of core assets in a prescribed way. “—Carnegie Mellon
                  Software Engineering Institute
          • Core Asset Development
                – Capture domain knowledge in the form of reusable assets
                       •   Define the scope of the domain
                       •   Model the domain
                       •   Develop components
                       •   Define an architecture
          • Production Plan
                – How to produce systems using the core assets
          • Product Development
                – Uses core assets according to the production plan
                – Creates individual products

EMF and MDA © 2004 David Frankel Consulting                                               13
Intentional Programming
          • Objective: “Make the source look like the design”
          • Programming via intentions
                – High-level abstractions
          • Active Source
                – Knows how to compile itself, support editing, rendering,
                  and debugging
                       • Behaviors called at programming time
          • Source graph
                – Each abstract syntax tree (AST) node has a link to its
                  metadata
                – The primary representation that plug-in modules deal with
                       • Not text or graphics vectors
          • Transformations from one level of abstraction to
            another
             Charles Simonyi’s new company: Intentional Software
EMF and MDA © 2004 David Frankel Consulting                                   14
Active Source Graphs
            Metamodel
             Metamodel                                             Model
                                                                    Model
          CWM™ Relational
          CWM™ Relational                                  CWM Relational Data Model
                                                           CWM Relational Data Model
           Abstract Syntax                                    Abstract Syntax Tree



                         Metamodel
                         Metamodel                Model
                                                  Model
                           AST
                            AST                   AST
                                                   AST



                                                         Active Source behavior
                                              <<call>>
                                                         invoked at programming time

                                                Generic Host
                                                Generic Host
                                                Environment
                                                Environment
EMF and MDA © 2004 David Frankel Consulting                                            15
Generative Programming (GP)
         • Synthesis of
               – Aspect-Oriented Programming
               – Product Line Practices
               – Intentional Programming
         • Product Line Practices extended to include
           specifying Domain-Specific Languages (DSLs) as
           core assets for a product line
         • Different DSLs for different aspects of the system
         • Generators encapsulate product line knowledge
               – Transformations from one level of abstraction to
                 another
         • Extensible development environment based on
           common technology for representing source
           graphs in memory
               – Capable of hosting active source for multiple DSLs
         • Model Integrated Computing
               – Vanderbilt Institute for Software Integrated Systems
EMF and MDA © 2004 David Frankel Consulting                             16
Product Line Practices
             Extended to Include Domain-Specific Languages

                Individual
                 Individual              Individual
                                          Individual        Individual
                                                             Individual
                Product 1
                 Product 1               Product 2
                                          Product 2    …    Product n
                                                             Product n
             Individual systems produced via product development
                                                             Production
                                                              Production
                                                                 Plan
                                                                 Plan
  The Sims “Water Line” Reusable assets for the product line
                        Created via core asset development


  Domain Model
  Domain Model                    Components Architecture
                                  Components Architecture     Specialized
                                                               Specialized
                                                              Specification
                                                              Specification
                                                              Language(s)
                                                               Language(s)
                                                               i.e. DSL(s)
                                                                i.e. DSL(s)
EMF and MDA © 2004 David Frankel Consulting                                   17
Generative Programming (GP)
                                  Design Time Composability


          • Component description in some DSL pulled
            in at design-time
                – Application-specific configuration added
          • Generator produces tailor-made component
            with minimal foot print
          • Similar to the latest manufacturing
            processes


EMF and MDA © 2004 David Frankel Consulting                   18
MDA as a Standards Base for GP
  • Domain Specific Languages
        – Languages defined via MOF (or UML® profiling)
        – MOF-HUTN specification for textual DSLs
        – MOF lacks the ability to define graphical syntaxes
  • Active Source
        – MOF-defined language packaged in a modeling framework
          with components, editor, generator, debugger, rendering
          support
  • Source graphs in extensible development environment
    for hosting active source
        – JMI, driven by MOF metamodels of each DSL
              • JMI provides link from an AST node to its metadata via MOF reflection
  • Definitions of generators
        – MOF Query View Transformations (QVT)
  • Interchange of programs among tools when not “in-
    memory”
        – XMI, driven by MOF metamodels of each DSL
EMF and MDA © 2004 David Frankel Consulting                                             19
EMF as a GP Environment
         • Already in place:
               – Ecore for defining abstract syntax
               – Java mapping for source graph (uses its own reflection,
                 not JMI-MOF reflection).
               – XMI for interchange
         • Still needed:
               – Ability to define textual DSLs on top of abstract syntax,
                 using MOF-HUTN specification
               – Ability to define graphical DSLs on top of abstract
                 syntax
                      • Implement over GEF
                      • DSTC project
                      • Extensions to MOF standards to follow
               – Ability to define debugger plug-ins tied to abstract and
                 concrete syntax
EMF and MDA © 2004 David Frankel Consulting                                  20
Industry Status
    • New MOF-based initiatives
          – Business Process Definition Metamodel (OMG)
                • BPMI.org involved
          – Business Rules Metamodel (OMG)
                • Key people from business rules community involved
          – Ontology Definition Metamodel (OMG)
                • Key people from Semantic Web community involved
          – Distributed Management Task Force (DMTF)
                • Moving toward MOF-based metadata
          – Model-Driven data transformations a huge
            opportunity (CWM)—a killer app for MDA
    • Microsoft committed to GP approach
          – But not to MOF
    • MOF-Eclipse alignment is important
EMF and MDA © 2004 David Frankel Consulting                           21
Trademarks



         • “CORBA,” and “MDA,”, “Model Driven
           Architecture,” “UML,” and “XMI” are
           registered trademarks of the Object
           Management Group
         • “CWM” and “MOF” are trademarks of the
           Object Management Group



EMF and MDA © 2004 David Frankel Consulting                22

Más contenido relacionado

Destacado

Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling FrameworkAjay K
 
BPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteBPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteDeclan Chellar
 
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...Cynthia Saracco
 
Big Data & Analytics Architecture
Big Data & Analytics ArchitectureBig Data & Analytics Architecture
Big Data & Analytics ArchitectureArvind Sathi
 
Big Data Architecture
Big Data ArchitectureBig Data Architecture
Big Data ArchitectureGuido Schmutz
 

Destacado (6)

Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling Framework
 
BPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteBPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 Palette
 
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
 
Big Data & Analytics Architecture
Big Data & Analytics ArchitectureBig Data & Analytics Architecture
Big Data & Analytics Architecture
 
Big Data Architecture
Big Data ArchitectureBig Data Architecture
Big Data Architecture
 
Machine Data Analytics
Machine Data AnalyticsMachine Data Analytics
Machine Data Analytics
 

Similar a EMF and MDA Status Opportunities

UML 2.5: Specification Simplification
UML 2.5: Specification SimplificationUML 2.5: Specification Simplification
UML 2.5: Specification SimplificationEd Seidewitz
 
XML Metadata Interchange (XMI)
XML Metadata Interchange (XMI)XML Metadata Interchange (XMI)
XML Metadata Interchange (XMI)elliando dias
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...Jordi Cabot
 
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...Hugo Bruneliere
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
Stevecook uml mdday2010
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010MD DAY
 
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...Hugo Bruneliere
 
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012Marc Dutoo
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katochIBM
 
Trasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochTrasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochRoopa Nadkarni
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Mickael Istria
 
OpenTravel Model-Driven Schema at IATA
OpenTravel Model-Driven Schema at IATAOpenTravel Model-Driven Schema at IATA
OpenTravel Model-Driven Schema at IATAOpenTravel Alliance
 
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkEclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkDave Steinberg
 
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)Philip Langer
 

Similar a EMF and MDA Status Opportunities (20)

UML 2.5: Specification Simplification
UML 2.5: Specification SimplificationUML 2.5: Specification Simplification
UML 2.5: Specification Simplification
 
Introduction to MDA
Introduction to MDAIntroduction to MDA
Introduction to MDA
 
XML Metadata Interchange (XMI)
XML Metadata Interchange (XMI)XML Metadata Interchange (XMI)
XML Metadata Interchange (XMI)
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
 
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
Stevecook uml mdday2010
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010
 
1 introduction
1 introduction1 introduction
1 introduction
 
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
 
ALT
ALTALT
ALT
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch
 
Trasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochTrasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep Katoch
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
 
OpenTravel Model-Driven Schema at IATA
OpenTravel Model-Driven Schema at IATAOpenTravel Model-Driven Schema at IATA
OpenTravel Model-Driven Schema at IATA
 
Sig A&D - MDA
Sig A&D - MDASig A&D - MDA
Sig A&D - MDA
 
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkEclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
 
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
 
Mof
MofMof
Mof
 

Más de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Más de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Último

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Último (20)

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

EMF and MDA Status Opportunities

  • 1. The Eclipse Modeling Framework and MDA® Status and Opportunities David Frankel Consulting df@DavidFrankelConsulting.com www.DavidFrankelConsulting.com Portions adapted from the book Model Driven Architecture: Applying MDA™ to Enterprise Computing, by David Frankel, published by John Wiley & Sons OMG Press © 2004 David Frankel Consulting, All Rights Reserved
  • 2. Agenda • Model-Driven Metadata Management • EMF and MDA Standards – EMF and the MOF™ Core – EMF and XMI® (XML Metadata Interchange) – EMF and JMI (Java Metadata Interface) – EMF and CMI (CORBA® Metadata Interface) • Looking Forward: EMF, MDA, and other related technologies – Aspect-Oriented Modeling – Product Line Practices – Intentional Programming – Generative Programming – Microsoft modeling directions EMF and MDA © 2004 David Frankel Consulting 2
  • 3. Model-Driven Metadata Management MOF-Compliant MOF-Compliant Metamodel Metamodel MOF-XML MOF-Java MOF-CORBA Mapping (XMI) Mapping (JMI) Mapping (CMI) XMI XMI MOF-Compliant MOF-Compliant MOF-Compliant MOF-Compliant DTD or Schema DTD or Schema Java APIs Java APIs CORBA APIs CORBA APIs EMF and MDA © 2004 David Frankel Consulting 3
  • 4. Metadata Management Scenario 1—Integrated MOF Repository = MOF CORBA Interfaces = MOF Java Interfaces (JMI) MOF Repository = MOF XML (XMI) Documents = Import/Export UML™ Models Data Models Workflow Models CCM CORBA Interfaces B2Bi Collaboration Descriptions EMF and MDA © 2004 David Frankel Consulting 4
  • 5. Metadata Management Scenario 2—Federated MOF Repositories = MOF CORBA Interfaces = MOF Java Interfaces (JMI) = MOF XML (XMI) Documents = Import/Export MOF Repository MOF Repository UML UML Models Models … … B2Bi B2Bi Collaboration Collaboration Descriptions Descriptions EMF and MDA © 2004 David Frankel Consulting 5
  • 6. Metadata Management Scenario 3—Eclipse IDE = EMF Java Interfaces (Not JMI) In-Memory = MOF XML (XMI) Documents = Import/Export UML Models Data Models Workflow Models CCM CORBA Interfaces B2Bi Collaboration Descriptions EMF and MDA © 2004 David Frankel Consulting 6
  • 7. Eclipse and the MOF Core MOF 2.0 MOF 1.x EMF Core Core Ecore (EMOF) • Ecore is closer to MOF 2.0 EMOF (Essential MOF) than MOF 1.x • IBM has indicated that Ecore will be aligned with EMOF EMF and MDA © 2004 David Frankel Consulting 7
  • 8. EMF and XMI XML Mapping XMI 1.x XMI 2.0 EMF XMI XMI (DTD (DTD and Implements For only) Schema) XMI 2.0 MOF 2.0 MOF 2.0 MOF 1.x EMF Core Core Ecore (EMOF) • EMF XMI essentially implements XMI 2.0 —But XMI 2.0 is based on the MOF 1.x Core • EMF XMI in effect maps Ecore to MOF 1.x Core • EMF XMI does not implement XMI 2.0 parameterizations EMF and MDA © 2004 David Frankel Consulting 8
  • 9. EMF and JMI Java Mapping JMI EMF JMI (Sun Java For JSR-40) Mapping MOF 2.0 MOF 2.0 MOF 1.x EMF Core Core Ecore (EMOF) • EMF Java mapping does not align with JMI • IBM indicates alignment will happen with JMI for MOF 2.0 – No new JMI JSR process has been started EMF and MDA © 2004 David Frankel Consulting 9
  • 10. EMF and CMI CORBA Mapping CMI CMI For For MOF 1.x MOF 2.0 MOF 2.0 MOF 1.x EMF Core Core Ecore (EMOF) • CMI for MOF 1.x is impractical for distributed systems • CMI for MOF 2.0 is excellent – Defined by real time CORBA vendors • EMF has no implementation of either (understandable) EMF and MDA © 2004 David Frankel Consulting 10
  • 11. Looking Forward EMF, MDA, and Other Related Technologies • Aspect-Oriented Modeling • Product Line Practices • Intentional Programming • Generative Programming – Key book: Generative Programming, Krzysztof Czarnecki and Ulrich W. Eisenecker • Microsoft modeling directions – Key book: Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools, Jack Greenfield et al (H1’04) EMF and MDA © 2004 David Frankel Consulting 11
  • 12. Aspect-Oriented Programming Persistence Statefulness Security Functional Transactional Identity Business Behavior Semantics Service Level Logging Reentrancy Agreements • Separating different aspects of a system at design time – Related to Multidimensional Separation of Concern • An approach to separation of concern • Addresses “code tangling” problem EMF and MDA © 2004 David Frankel Consulting 12
  • 13. Product Line Practices • Product Line – “…a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. “—Carnegie Mellon Software Engineering Institute • Core Asset Development – Capture domain knowledge in the form of reusable assets • Define the scope of the domain • Model the domain • Develop components • Define an architecture • Production Plan – How to produce systems using the core assets • Product Development – Uses core assets according to the production plan – Creates individual products EMF and MDA © 2004 David Frankel Consulting 13
  • 14. Intentional Programming • Objective: “Make the source look like the design” • Programming via intentions – High-level abstractions • Active Source – Knows how to compile itself, support editing, rendering, and debugging • Behaviors called at programming time • Source graph – Each abstract syntax tree (AST) node has a link to its metadata – The primary representation that plug-in modules deal with • Not text or graphics vectors • Transformations from one level of abstraction to another Charles Simonyi’s new company: Intentional Software EMF and MDA © 2004 David Frankel Consulting 14
  • 15. Active Source Graphs Metamodel Metamodel Model Model CWM™ Relational CWM™ Relational CWM Relational Data Model CWM Relational Data Model Abstract Syntax Abstract Syntax Tree Metamodel Metamodel Model Model AST AST AST AST Active Source behavior <<call>> invoked at programming time Generic Host Generic Host Environment Environment EMF and MDA © 2004 David Frankel Consulting 15
  • 16. Generative Programming (GP) • Synthesis of – Aspect-Oriented Programming – Product Line Practices – Intentional Programming • Product Line Practices extended to include specifying Domain-Specific Languages (DSLs) as core assets for a product line • Different DSLs for different aspects of the system • Generators encapsulate product line knowledge – Transformations from one level of abstraction to another • Extensible development environment based on common technology for representing source graphs in memory – Capable of hosting active source for multiple DSLs • Model Integrated Computing – Vanderbilt Institute for Software Integrated Systems EMF and MDA © 2004 David Frankel Consulting 16
  • 17. Product Line Practices Extended to Include Domain-Specific Languages Individual Individual Individual Individual Individual Individual Product 1 Product 1 Product 2 Product 2 … Product n Product n Individual systems produced via product development Production Production Plan Plan The Sims “Water Line” Reusable assets for the product line Created via core asset development Domain Model Domain Model Components Architecture Components Architecture Specialized Specialized Specification Specification Language(s) Language(s) i.e. DSL(s) i.e. DSL(s) EMF and MDA © 2004 David Frankel Consulting 17
  • 18. Generative Programming (GP) Design Time Composability • Component description in some DSL pulled in at design-time – Application-specific configuration added • Generator produces tailor-made component with minimal foot print • Similar to the latest manufacturing processes EMF and MDA © 2004 David Frankel Consulting 18
  • 19. MDA as a Standards Base for GP • Domain Specific Languages – Languages defined via MOF (or UML® profiling) – MOF-HUTN specification for textual DSLs – MOF lacks the ability to define graphical syntaxes • Active Source – MOF-defined language packaged in a modeling framework with components, editor, generator, debugger, rendering support • Source graphs in extensible development environment for hosting active source – JMI, driven by MOF metamodels of each DSL • JMI provides link from an AST node to its metadata via MOF reflection • Definitions of generators – MOF Query View Transformations (QVT) • Interchange of programs among tools when not “in- memory” – XMI, driven by MOF metamodels of each DSL EMF and MDA © 2004 David Frankel Consulting 19
  • 20. EMF as a GP Environment • Already in place: – Ecore for defining abstract syntax – Java mapping for source graph (uses its own reflection, not JMI-MOF reflection). – XMI for interchange • Still needed: – Ability to define textual DSLs on top of abstract syntax, using MOF-HUTN specification – Ability to define graphical DSLs on top of abstract syntax • Implement over GEF • DSTC project • Extensions to MOF standards to follow – Ability to define debugger plug-ins tied to abstract and concrete syntax EMF and MDA © 2004 David Frankel Consulting 20
  • 21. Industry Status • New MOF-based initiatives – Business Process Definition Metamodel (OMG) • BPMI.org involved – Business Rules Metamodel (OMG) • Key people from business rules community involved – Ontology Definition Metamodel (OMG) • Key people from Semantic Web community involved – Distributed Management Task Force (DMTF) • Moving toward MOF-based metadata – Model-Driven data transformations a huge opportunity (CWM)—a killer app for MDA • Microsoft committed to GP approach – But not to MOF • MOF-Eclipse alignment is important EMF and MDA © 2004 David Frankel Consulting 21
  • 22. Trademarks • “CORBA,” and “MDA,”, “Model Driven Architecture,” “UML,” and “XMI” are registered trademarks of the Object Management Group • “CWM” and “MOF” are trademarks of the Object Management Group EMF and MDA © 2004 David Frankel Consulting 22