The Eclipse Modeling Framework and MDA Status and Opportunities

Similar documents
Software Industrialization

An introduction to MOF MetaObject Facility.

Model Driven Architecture

MDA Journal. BPMI and OMG: The BPM Merger A BPT COLUMN. David S. Frankel Lead Standards Architect - Model Driven Systems SAP Labs.

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Model Driven Architecture

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

The Model-Driven Semantic Web Emerging Standards & Technologies

INF5120 Model-Based System Development

BLU AGE 2009 Edition Agile Model Transformation

Introduction to Model Driven Engineering using Eclipse. Frameworks

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS

MDA Journal. XML and MDA A BPT COLUMN. David S. Frankel. February 2005

Improving Military Information Technology Through Common Conceptual Models

This paper is more intended to set up a basis for a constructive discussion than to offer definitive answers and closed solutions.

Christian Doppler Laboratory

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

The Model Driven (R)evolution. Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.

Metadata Repository Support for Legacy Knowledge Discovery in Public Administrations

Defining Domain-Specific Modeling Languages

Acceleo Galileo Simultaneous Release

ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES LUIS ROCHA. A project submitted in partial fulfillment

Comparing graphical DSL editors

MDSE PRINCIPLES. Chapter #2

Comparative analysis of MDA tools

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

Sequence Diagram Generation with Model Transformation Technology

TOPCASED. Toolkit In OPen source for Critical Applications & SystEms Development

INF5120 Modellbasert Systemutvikling Modelbased System development

INF5120 Modelbased System development

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

ECLIPSE MODELING PROJECT

Modelling in Enterprise Architecture. MSc Business Information Systems

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

Using Model Driven Architecture to Manage Metadata

INF5120 Modellbasert Systemutvikling Modelbased System development

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages

Introduction to MDE and Model Transformation

Introduction to Dependable Systems: Meta-modeling and modeldriven

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

Raising the Level of Development: Models, Architectures, Programs

An Introduction to MDE

All you need are models Anneke Kleppe, Klasse Objecten

CISC836: Models in Software Development: Methods, Techniques and Tools

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

Coral: A Metamodel Kernel for Transformation Engines

A Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach

Model Driven Development. Building Automated Code Generation Methods with Eclipse and DSL Tools. Vicente Pelechano

A universal PNML Tool. Lukasz Zoglowek

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Reusable Object-Oriented Model

Model driven Engineering & Model driven Architecture

ADT: Eclipse development tools for ATL

From Models to Components. Rapid Service Creation with

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

Model Driven Ontology: A New Methodology for Ontology Development

Dottorato di Ricerca in Informatica. Università di Bologna e Padova. Whole Platform. Riccardo Solmi. March 2005

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

A Proposed Engine Implementation Mechanism to Execute the Code of Relations Query/View/Transformation Language

SEAMLESS INTEGRATION OF METAEDIT+ AND ECLIPSE TO COMBINE MODELING AND CODING

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Model Driven Architecture and Rhapsody

Building Compilable Class Models

Workpackage 15: DBE Business Modeling Language. Deliverable D15.5: BML Editor Final Release

Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1

EATOP: An EAST-ADL Tool Platform for Eclipse

Dresden OCL2 in MOFLON

Role of Executable UML in MDA. Presented by Shahid Alam

Adapting FUJABA for Building a Meta Modelling Framework

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Methods for the Development

Model Driven Architecture with Enterprise Architect

Integration of the Semantic Web with Meta Object Facilities

IBM Rational Application Developer for WebSphere Software, Version 7.0

IBM Rational Software Architect

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Incorporating applications to a Service Oriented Architecture

Java Metadata Interface (JMI)

The Common Warehouse Metamodel as a Foundation for Active Object Models in the Data Warehouse Environment

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

The Specifications Exchange Service of an RM-ODP Framework

INF5120 Modellbasert Systemutvikling Modelbased System development

OMG Specifications for Enterprise Interoperability

SERES: ASEMANTICREGISTRY FOR ENTERPRISE SERVICES. Geir Jevne 9.juni 2011

MDA-Based Architecture of a Description Logics Reasoner

CWM: Model Driven Architecture

Model Driven Architecture

ISO/IEC INTERNATIONAL STANDARD

Model-Driven Language Engineering

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks

FREQUENTLY ASKED QUESTIONS

EGF Creation Review. Benoît Langlois - Thales/TCS/EPM. April 22, 2009

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

From Object Composition to Model Transformation with the MDA

Transcription:

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 EMF and MDA 2004 David Frankel Consulting 2 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 3 Model-Driven Metadata Management MOF-Compliant Metamodel MOF-XML Mapping (XMI) MOF-Java Mapping (JMI) MOF-CORBA Mapping (CMI) XMI DTD or or Schema MOF-Compliant Java APIs MOF-Compliant CORBA APIs

EMF and MDA 2004 David Frankel Consulting 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 5 Metadata Management Scenario 2 Federated MOF Repositories = MOF CORBA Interfaces = MOF Java Interfaces (JMI) = MOF XML (XMI) Documents = Import/Export MOF Repository UML Models B2Bi Collaboration Descriptions MOF Repository UML Models B2Bi Collaboration Descriptions

Metadata Management Scenario 3 Eclipse IDE EMF and MDA 2004 David Frankel Consulting 6 = EMF Java Interfaces (Not JMI) = MOF XML (XMI) Documents = Import/Export In-Memory UML Models Data Models Workflow Models CCM CORBA Interfaces B2Bi Collaboration Descriptions

EMF and MDA 2004 David Frankel Consulting 7 Eclipse and the MOF Core MOF 1.x Core EMF Ecore MOF 2.0 Core (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 XMI XML Mapping XMI 1.x (DTD only) XMI 2.0 (DTD and Schema) EMF XMI Implements XMI 2.0 XMI For MOF 2.0 MOF 1.x Core EMF Ecore MOF 2.0 Core (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 EMF and MDA 2004 David Frankel Consulting 9 JMI (Sun JSR-40) EMF Java Mapping JMI For MOF 2.0 MOF 1.x Core EMF Ecore MOF 2.0 Core (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 CMI CORBA Mapping EMF and MDA 2004 David Frankel Consulting 10 CMI For MOF 1.x CMI For MOF 2.0 MOF 1.x Core EMF Ecore MOF 2.0 Core (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 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)

Aspect-Oriented Programming Persistence Statefulness Security Identity Service Level Agreements Functional Business Semantics Logging Transactional Behavior Reentrancy 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

EMF and MDA 2004 David Frankel Consulting 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 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

Active Source Graphs Metamodel CWM Relational Abstract Syntax Model CWM Relational Data Data Model Abstract Syntax Tree Metamodel AST Model AST <<call>> Active Source behavior invoked at programming time Generic Host 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 EMF and MDA 2004 David Frankel Consulting 17 The Sims Water Line Individual Product 1 Individual Product 2 Individual Product n Individual systems produced via product development Production Plan Reusable assets for the product line Created via core asset development Domain Model Components Architecture Specialized Specification Language(s) i.e. i.e. DSL(s)

EMF and MDA 2004 David Frankel Consulting 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

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 inmemory XMI, driven by MOF metamodels of each DSL EMF and MDA 2004 David Frankel Consulting 19

EMF and MDA 2004 David Frankel Consulting 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 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 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