© 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI)...

52
© 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application in developing interoperable enterprise software systems.

Transcript of © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI)...

Page 1: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

© 2005-2006 The ATHENA Consortium.

AP4 – Introduction to Model-Driven

Interoperability (MDI)

Learn about model-driven architecture (MDA) and its application in developing interoperable enterprise software systems.

Page 2: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

2© 2005-2006 The ATHENA Consortium.

Course description

• Model-driven development (MDD), and in particular OMG’s Model Driven Architecture (MDA), is emerging as the state-of-the-art practice for developing modern enterprise applications and software systems.

• The MDD paradigm provides us with a better way of addressing and solving interoperability issues when compared to earlier non-modelling approaches.

• The course gives an overview of interoperability and MDA, and introduces the ATHENA Model-Driven Interoperability (MDI) Framework, which provides guidelines on how MDD can be applied to the development of interoperable enterprise software systems.

Page 3: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

3© 2005-2006 The ATHENA Consortium.

Course objective

• The participants will learn about interoperability and MDA and get an overview of the ATHENA MDI Framework.

• The courses AP5 and AP6 explores the MDI framework in more detail.

Page 4: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

4© 2005-2006 The ATHENA Consortium.

MDI training trackNo Topic Presenter

A

P

4

4-1 Interoperability & Model-Driven Architecture (MDA) <Person>, <Company>, <Country>

A

P

5

5-1 ATHENA Model-Driven Interoperability (MDI) Framework <Person>, <Company>, <Country>

5-2 Metamodelling• Eclipse Modeling Framework (EMF) Tutorial / Exercise

<Person>, <Company>, <Country>

5-3 UML Profiles and Domain-Specific Languages (DSLs)• Eclipse Graphical Modeling Framework (GMF) Tutorial / Exercise

<Person>, <Company>, <Country>

5-4 Method Engineering• Eclipse Process Framework (EPF) Tutorial / Exercise

<Person>, <Company>, <Country>

A

P

6

5-1 Model Mappings and Transformations• ATL Tutorial (optional)• MOFScript Tutorial (optional)

<Person>, <Company>, <Country>

5-2 Model-Driven Development with PIM4SOA <Person>, <Company>, <Country>

5-3 From PIM4SOA to Web Services• PIM4SOA to XSD ATL Tutorial / Exercise

<Person>, <Company>, <Country>

5-4 From PIM4SOA to Agents <Person>, <Company>, <Country>

5-5 From PIM4SOA to Peer-2-Peer (P2P) <Person>, <Company>, <Country>

Page 5: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

5© 2005-2006 The ATHENA Consortium.

MDI website

http://www.modelbased.net/mdi

Page 6: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

© 2005-2006 The ATHENA Consortium.

4-1. Interoperability & Model-Driven

Architecture (MDA)

<Presenter>

<Company>, <Country>

<E-mail>

Page 7: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

7© 2005-2006 The ATHENA Consortium.

Outline

• Interoperability• What is MDA?• Standards and technologies

– OMG MDA standards– Eclipse technologies

• MDA and interoperability• Conclusive remarks• References

Page 8: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

8© 2005-2006 The ATHENA Consortium.

Interoperability

Page 9: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

9© 2005-2006 The ATHENA Consortium.

Definition

Interoperability (def.) is “the ability of

two or more systems or components to

exchange information and to use the

information that has been exchanged”

– IEEE Standard Computer Dictionary

Page 10: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

10© 2005-2006 The ATHENA Consortium.

System implementation budgetApplication integration license revenue

B$

(Source: the Yankee Group 2001)

Integration40%

Imp. Services

20%

Software10%

Hardware10%

Misc.20%

• Interoperability is the key to increase competitiveness of enterprises.

• “Enterprise systems and applications need to be interoperable to achieve seamless operational and business interaction, and create networked organizations” – European Group for Research on Interoperability, 2002

The cost of non-interoperability are estimated to

40% of enterprises IT budget.

Rationale for interoperability

Page 11: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

11© 2005-2006 The ATHENA Consortium.

Knowledge integration

The originality of the ATHENA project is to take a multidisciplinary approach by merging three research areas supporting the development of Interoperability of Enterprise Applications and Software.

Architecture& Platforms

Enterprise Modelling

Ontology

ATHENA

– Architecture & Platforms: to provide implementation frameworks,

– Enterprise Modelling: to define interoperability requirements and to support solution implementation,

– Ontology: to identify interoperability semantics in the enterprise.

Page 12: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

12© 2005-2006 The ATHENA Consortium.

4-layered view of an enterprise

Business Operational Architecture

Enterprise Knowledge Architecture (EKA)

Information and Communication Technology (ICT) Architecture

Se

ma

nti

cs

Software platforms

EKA servicesBusiness and user services

Modelingtools

Infrastructure services

Management tools

NomenclaturesClassifications

Ontologytools

Ontologyservices

Dictionaries Ontologies

Business termsLaws, rules, principles

Agreed norms and practices

Operations Strategy

Procedures and routines

Governance

Enterprise models

Metamodels and languages

Enterprise templates

Enterprise methodology

Reference architectures

Product models

Page 13: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

13© 2005-2006 The ATHENA Consortium.

Holistic approach to interoperability

To achieve meaningful interoperability between enterprises, interoperability must be achieved on all layers:

– Business layer: business environment and business processes

– Knowledge layer: organisational roles, skills and competencies of employees and knowledge assets

– ICT layer: applications, data and communication components

– Semantics: support mutual understanding on all layers

Application

Data

Business

Knowledge

Application

Sem

antic

s

Business

Knowledge

Sem

antics

Enterprise A Enterprise B

Data

Communication

ICT

Interoperability (def.) is “the

ability of two or more systems

or components to exchange

information and to use the

information that has been

exchanged” – IEEE Standard

Computer Dictionary

Page 14: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

14© 2005-2006 The ATHENA Consortium.

Enterprisemodel

PlatformindependentModel (PIM)

PlatformSpecificModel

AKM ii - EMexecutionplatform

PIM execution platform

PSM execution platform

Enterprisemodel

PlatformindependentModel (PIM)

PlatformSpecificModel

AKM ii - EMexecutionplatform

PIM execution platform

PSM execution platform

Ontology-.basedsemantic

interoperability?

Web services(Uddi, Soap)

Bpml, Bpel, Xpdl?

Enterprise modelinteroperability

(UEML)

Network protocols

Integrate enterprise modelsacross companies and EMtools

Exchange information despitesemantic and syntacticalincompatibility

Enable enterprises to invokeservices (and processespackaged as services) fromeach other, and include remoteservices in local processes

Interoperability objective

Interoperability challenges

Page 15: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

15© 2005-2006 The ATHENA Consortium.

What is MDA?

Page 16: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

16© 2005-2006 The ATHENA Consortium.

Model-driven development (MDD)

CIMCIM

BusinessContextModels

PIMPIM

Modeltrans-

formation

SoftwareSpecification

Models

PSMPSM

SoftwareRealisation

Models

Modeltrans-

formation

Model-driven approach to system engineering where models are used in• understanding• design• construction• deployment• operation• maintenance• modification

Model transformation tools and services are used to align the different models.

Business-driven approach to system engineering where models are refined from business needs to software solutions• Computation independent model (CIM) capturing business context and business requirements• Platform independent model (PIM) focusing on software services independent of IT technology• Platform specific model (PSM) focusing on the IT technology realisation of the software services

Page 17: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

17© 2005-2006 The ATHENA Consortium.

OMG MDA

• MDA is a framework which defines a model-driven approach to software systems development.

• MDA encapsulates many important ideas - most notably the notion that real benefits can be obtained by using visual modelling languages to integrate the huge diversity of technologies used in the development of software systems.

.

The current state of the art in Model-Driven Engineering (MDE) is much influenced by the ongoing standardisation activities around the OMG Model Driven Architecture® (MDA®).

Page 18: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

18© 2005-2006 The ATHENA Consortium.

MDA from 30.000 feet (1)

• Use of platform independent models (PIMs) as specification

• Transformation into platform specific models (PSMs) using tools

Page 19: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

19© 2005-2006 The ATHENA Consortium.

MDA from 30.000 feet (2)

• A PIM can be retargeted to different platforms• Not the only reason why MDA might be of interest to

you…

J2EE

.Net

Page 20: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

20© 2005-2006 The ATHENA Consortium.

Automation in software development

Requirements Requirements Requirements

Implementation

Source in ageneral-purposelanguage, e.g.,

Java or C++

Implementation

(may generatecode in

Java or C++)

Source indomain-specificlanguage (DSL)

Implementation

(may generatecode in

Java or C++)

Source indomain-specificlanguage (DSL)

High-level spec(functional andnonfunctional)

Manuallyimplement

Manuallyimplement

Manuallyimplement

Compile Compile Compile

Compile Compile

Implement withInteractive,automatedsupport

Page 21: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

21© 2005-2006 The ATHENA Consortium.

Goals

• The three primary goals of MDA are portability, interoperability and reusability.

• The MDA starts with the well-known and long established idea of separating the specification of the operation of the system from the details of the way the system uses the capabilities of its software execution platform (e.g. J2EE, CORBA, Microsoft .NET and Web services).

• MDA provides an approach for:– specifying a system independently of the software execution

platform that supports it;– specifying software execution platforms;– choosing a particular software execution platform for the system;– transforming the system specification into one for a particular

software execution platform;

Page 22: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

22© 2005-2006 The ATHENA Consortium.

Basic concepts

• System– Existing or planned system.– System may include anything: a program, a single computer system, some combination of

parts of different systems• Model

– A model of a system is a description or specification of that system and its environment for some certain purpose.

– A model is often presented as a combination of drawings and text.• Architecture

– The architecture of a system is a specification of the parts and connectors of the system and the rules for the interactions of the parts using the connectors.

– MDA prescribes certain kinds of models to be used, how those models may be prepared and the relationships of the different kinds of models.

• Viewpoint– A viewpoint on a system is a technique for abstraction using a selected set of architectural

concepts and structuring rules, in order to focus on particular concerns within that system.• View

– A viewpoint model or view of a system is a representation of that system from the perspective of a chosen viewpoint.

• Platform– A platform is a set of subsystems and technologies that provide a coherent set of functionality

through interfaces and specified usage patterns, which any application supported by that platform can use without concern for the details of how the functionality provided by the platform is implemented.

Page 23: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

23© 2005-2006 The ATHENA Consortium.

Model-driven – a definition

• A system development process is model-driven if– the development is mainly carried out using conceptual

models at different levels of abstraction and using various viewpoints

– it distinguishes clearly between platform independent and platform specific models

– models play a fundamental role, not only in the initial development phase, but also in maintenance, reuse and further development

– models document the relations between various models, thereby providing a precise foundation for refinement as well as transformation

Page 24: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

24© 2005-2006 The ATHENA Consortium.

MDA – Three main abstraction levels

• Computation independent model (CIM)– The computational independent viewpoint is focused on the environment of the

system and on the specific requirements of the system.– A CIM represents the computational independent viewpoint.– The CIM hides the structural details and, of course, the details related to the

targeted platform.• Platform independent model (PIM)

– A platform independent model is a view of the system from a platform independent viewpoint.

– The platform independent viewpoint is focused on the operation of the system, hiding the platform specific details.

– A PIM exhibits platform independence and is suitable for use with a number of different platforms of similar types.

– The PIM gathers all the information needed to describe the behaviour of the system in a platform independent way.

• Platform specific model (PSM)– A platform specific model is a view of the system from the platform specific

viewpoint.– A PSM combines the specifications in the PIM with the details that specify how the

system uses a particular type of platform.– The PSM represents the PIM taking into account the specific platform

characteristics.

Page 25: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

25© 2005-2006 The ATHENA Consortium.

Different abstraction levels and multiple PSMs

Application

Application models

Domain Model

Coding languages

Application Modelling Languages

Business Modelling language

Coding patterns

Technology patterns

Page 26: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

26© 2005-2006 The ATHENA Consortium.

PIM and PSMs

PIM: Platform Independent Model

PSM: Platform Specific ModelPSM: Platform Specific Model

PSM: Platform Specific ModelPSM: Platform Specific Model

Platforms: Web Services, ebXML, J2EE/EJB, CORBA, MS .Net, …

UML

UMLand/orplatformspecificnotation

Page 27: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

27© 2005-2006 The ATHENA Consortium.

Model-Driven Architecture

Metamodel

Metamodel element

Metametamodel

Metametamodel element

conformsTometa

conformsTo

Model

Model element

conformsTometa

repOfSystem

metaMOF

Relationalmetamodel

M3

M2

M1

UMLmetamodel

… …

Page 28: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

28© 2005-2006 The ATHENA Consortium.

Model-Driven Architecture: Example

repOf

Relational Model

Book

conformsTo

Relational Metamodel

MOF Metametamodel

ClassAssociationsource

destination

conformsTo

conformsTo

System

…………

…………

AuthorIdPagesNbTitleBookId

Type

name: String

Table

name: String+ type*+ col

+ owner

+ keyOf + key1..* *

*

Column

name: String{ordered}

Page 29: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

29© 2005-2006 The ATHENA Consortium.

Standards and technologies – OMG MDA standards

Page 30: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

30© 2005-2006 The ATHENA Consortium.

map

MDA overview

map

<<realize>>

Enterprise andsupplier specificconfiguration

OMG domain modelsEnterprise models

Platform-specificartifacts

PlatformIndependent

Model

PlatformSpecific

Model

EnterpriseDeployment

Model

Versionedrepository

Evolution management:• Business, model, technology, deployment

configuration

Model composition

Non-normative

Page 31: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

31© 2005-2006 The ATHENA Consortium.

MDA technology standards

• Unified Modeling Language (UML)– UML is the de-facto standard industry language for specifying and designing software

systems.– UML addresses the modelling of architecture and design aspects of software systems by

providing language constructs for describing, software components, objects, data, interfaces, interactions, activities etc.

• Meta Object Facility (MOF)– MOF provides the standard modelling and interchange constructs that are used in MDA.– These constructs are a subset of the UML modelling constructs.– This common foundation provides the basis for model/metadata interchange and

interoperability.• XML Metadata Interchange (XMI)

– XMI is a format to represent models in a structured text form.– In this way UML models and MOF metamodels may be interchanged between different

modelling tools.• Common Warehouse Metamodel (CWM)

– CWM is the OMG data warehouse standard.– It covers the full life cycle of designing, building and managing data warehouse applications

and supports management of the life cycle.• MOF Queries/View/Transformations (QVT)

– The goals of the QVT are to provide a standard specification of a language suitable for querying and transforming models which are represented according to a MOF metamodel.

Page 32: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

32© 2005-2006 The ATHENA Consortium.

Current MDA Architecture

CIMmodels

PIMSystemmodels

PSMSystemmodels

System

ADM

QVT

QVT

MOF2Txt

ADM

ADM

Enterprisemodeling

expert

Systemmodeling

expert

Systemrealisationinstallation

expert

UML2.0

MOF2.0

XMI2.0

Ontology

ODM

BPDM

OrgMM

BSVR

OWL

ATLMOFScriptEMF Java APIMTF (IBM)

QVT(MOF2Txt)

Page 33: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

33© 2005-2006 The ATHENA Consortium.

MDA products

• Adaptive, Inc.Interactive Objects Software; ArcStylerAonix's AmeosKabira Technologies, IncARTiSAN's Real-Time StudioKnowGravity's CASSANDRA b+m ArchitectureWare Kennedy Carter Ltd: iUML and iCCGBITPlan GmbH smartGeneratorLIANTIS XCoderThe Borland Approach to MDAM2VP's MDA Consulting ServicesCalKey Technologies' CaboomMASTER Project Calytrix Technologies' SIMplicityMetaMatrix CommitmentCodagen Technologies; Codagen Architect 3.2Metamaxim's modelscopeCodeless Technology's CodelessMID's InnovatorConsortium for Business Object PromotionThe MOD Group's MDA ServicesConsyst's REP ++ StudioNeosight Technologies' BoldExpress StudioCompuware OptimalJOCI's MDA Services Data Access Technologies (DAT) Provides MDA ServicesObjectFrontier's FrontierSuite David Frankel Consulting Outline Systems Inc.'s PowerRADDomain Solutions' CodeGeniePathfinder Solutions PathMATEDot Net Builders' ConstructorPlastic Software's Agora Plastic 2005EDCubed's TETProject Technology's BridgePoint and DesignPointE2E BridgerealMethods FrameworkGentastic's e-GENSelect Business Solutions' Select Component FactoryM1 Global Solutions' MDEMia-Software's Model-In-ActionHendryx & AssociatesSoftaris Pty. Ltd.: MetaBossHerzum SoftwareSoftMetaWare's Generative Model Transformer project IBM's Rational Software ArchitectSofteam and Objecteering/UMLAn MDA CASE ToolIKV++ GmbH; m2c(tm)CARE Technologies S.A. / SOSY Inc's OlivaNova Model Execution SystemI-Logix' RhapsodyTata Consultancy Services: MasterCraftinnoQ's iQgenTelelogic's TAU Generation2 TechOne's ACE

• See http://www.omg.org/mda/committed-products.htm

Page 34: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

34© 2005-2006 The ATHENA Consortium.

MDA success stories

• Looking Glass NetworksABB Research CenterLockheed MartinU.S. Government Intelligence Agencyff-eCommerceSwedish ParliamentThe Open System Architecture for Condition Based Monitoring (OSA-CBM) ProjectSwisslog Software AGDeutsche BankBauspar AGCGIUNextCarter Ground Fueling Ltd.BankHOSTPostgirot Bank ABGothaer VersicherungenE-SoftSysAustrian RailwaysDanzas Group Magnet Communications, Inc.National Services IndustriesHow CodeGenie worked for AMSCredit SuisseM1 Global SolutionsDaimlerChrysler

• See http://www.omg.org/mda/products_success.htm

Page 35: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

35© 2005-2006 The ATHENA Consortium.

Standards and technologies – Eclipse technologies

Page 36: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

36© 2005-2006 The ATHENA Consortium.

MDA-compliant Eclipse technologies

• Eclipse Modeling Framework (EMF)– http://www.eclipse.org/emf/– EMF is a modeling framework and code generation facility for building tools and other

applications based on a structured data model.• Eclipse Graphical Editing Framework (GEF)

– http://www.eclipse.org/gef/– The Graphical Editing Framework (GEF) allows developers to take an existing application

model and quickly create a rich graphical editor.• Eclipse Graphical Modeling Framework (GMF)

– http://www.eclipse.org/gmf/– The Eclipse Graphical Modeling Framework (GMF) provides a generative component and

runtime infrastructure for developing graphical editors based on EMF and GEF.• Atlas Transformation Language

– http://www.eclipse.org/gmt/atl/– The ATL project aims at providing a set of transformation tools for GMT. These include some

sample ATL transformations, an ATL transformation engine, and an IDE for ATL (ADT: ATL Development Tools).

• Eclipse Process Framework (EPF)– http://www.eclipse.org/epf/– To provide an extensible framework and exemplary tools for software process engineering -

method and process authoring, library management, configuring and publishing a process.

Page 37: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

37© 2005-2006 The ATHENA Consortium.

Technology overview

OMG MDA specification Eclipse technology Comments

MOF EMF

UML UML

UML profile/DSL GEF

GMF

QVT ATL

SPEM EPF

XMI EMF

CWM

Page 38: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

38© 2005-2006 The ATHENA Consortium.

MDA and interoperability

Page 39: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

39© 2005-2006 The ATHENA Consortium.

MDA and interoperability (1)

• Interoperability from models point of view.

– MDA approach tries to build a interoperable model, from enterprise models and processes to apply MDA mechanisms.

ProcessPerformer

Capture user requirements

PIM Context Definition

PIM Requirements Specification

PIM Analysis

Design

Coding & Integation

Testing

Deployment

Enterprise A model

Diseñar la arquitectura lógica: componentes e interfaces

Especificar los componentes y sus interfaces

Diseño de la arquitectura

Diseñar la arquitectura física

Arquitectura lógica: componentes e interfaces (diagr. clases)

Casos de uso implementados (diagrama de casos de uso)

Interfaces ofrecidas por el componente (diagrama de clases)

Comportamiento de interfaces del componente (diagrama de secuencia)

Especificación funcional de interfaces (diagrama de actividad)

Diagrama de despliegue

Proceso de despliegue (diagrama de actividad)

Enterprise A external model

ProcessPerformer

Capture user requirements

PIM Context Definition

PIM Requirements Specification

PIM Analysis

Design

Coding & Integation

Testing

Deployment

Enterprise B model

Diseñar la arquitectura lógica: componentes e interfaces

Especificar los componentes y sus interfaces

Diseño de la arquitectura

Diseñar la arquitectura física

Arquitectura lógica: componentes e interfaces (diagr. clases)

Casos de uso implementados (diagrama de casos de uso)

Interfaces ofrecidas por el componente (diagrama de clases)

Comportamiento de interfaces del componente (diagrama de secuencia)

Especificación funcional de interfaces (diagrama de actividad)

Diagrama de despliegue

Proceso de despliegue (diagrama de actividad)

Enterprise B external model

ProcessPerformer

Capture user requirements

PIM Context Definition

PIM Requirements Specification

PIM Analysis

Design

Coding & Integation

Testing

Deployment

Enterprise A model

Model exchange

Mod

el c

ompo

sitio

n

Page 40: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

40© 2005-2006 The ATHENA Consortium.

MDA and interoperability (2)

• Using transformations to get interoperability

– It allows document transformations on the fly.

– It can contribute to new approaches for semantic interpretations on information exchanges.

Enterprise A

Document XA

Enterprise B

Document XB

Transformation

Semantic repository

Page 41: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

41© 2005-2006 The ATHENA Consortium.

MDA and interoperability (3)

• Interoperability as a quality of enterprise software systems

• “Assure” to carry forward of interoperability achieved/agreed on higher level down to infrastructure (lower level).

• Verify higher level interoperability through simulation• Alignment of models is enabled through common

metamodel• Model-driven development is more flexible and adaptive.

Page 42: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

42© 2005-2006 The ATHENA Consortium.

Conclusive remarks

Page 43: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

43© 2005-2006 The ATHENA Consortium.

Conclusive remarks (1)

• The MDA approach promises to deliver portable, interoperable and reusable software solutions.

• MDA pushes the goal of using visual modelling languages to manage all aspects of systems development.

• It provides modelling and metamodelling technologies which can be used to align different models.

• We see evidence that interoperability can be supported by model transformations and metamodel alignment using MDA technologies and standards.

• While success stories have been posted (http://www.omg.org/mda/products_success.htm) and a wide range of tools are available, one can still debate whether MDA has really delivered on its promise.

Page 44: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

44© 2005-2006 The ATHENA Consortium.

Conclusive remarks (2)

• In our opinion, MDA is still immature and needs to be improved in several areas:– Key technologies such as the MOF Query/View/Transformation

(QVT) are still under finalization (http://www.zurich.ibm.com/pdf/ebizz/gardner-etal.pdf).

– The “CIM”, “PIM” and “PSM” defined by MDA are causing confusion. If we regard MDA as a conceptual framework that can be used to develop concrete software development approaches the terms make sense.

– Pushing UML as a “platform independent” way of doing model-driven development. UML was not really designed for such a task and needs to position itself amongst the emerging domain-specific languages. A MOF-based metamodel approach could be taken here to align models expressed in different modelling formalisms.

– Blind focus on generating implementations from higher-level models. MDA needs to address the use of models and metadata across the whole software lifecycle.

Page 45: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

45© 2005-2006 The ATHENA Consortium.

Approach to developing (1)

• The CIM, PIM and PSM models as defined by the OMG MDA provide three coarse-grained abstraction levels for describing and discussing the model-driven approach on a conceptual level.

• For instance a model transformation is described as a refinement from a PIM model to a PSM model.

• When we apply the MDA approach and develop a concrete model-driven methodology the “CIM”, “PIM” and “PSM” models are replaced by actual models.

• Furthermore, the methodology may define more than three abstraction levels, as well as multiple and overlapping model views.

Page 46: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

46© 2005-2006 The ATHENA Consortium.

Approach to developing (2)

• While the OMG MDA promotes UML as the visual “universal” glue suitable for modelling everything, we are also seeing a trend towards development and co-existence of several domain-specific modelling languages, e.g. supported by the Microsoft Domain-Specific Language (DSL) tools (http://lab.msdn.microsoft.com/teamsystem/workshop/dsltools/default.aspx).

• Such approaches are now also being discussed in various OMG forums.

• UML is seen as a “general-purpose” language while DSLs may be more expressive for most purposes.

• A model-driven framework needs to acknowledge the existence of different models and views expressed in different modelling languages.

• The MDA technologies can help us to align these models through a common metamodelling language on which model transformations and model mappings can be defined.

Page 47: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

47© 2005-2006 The ATHENA Consortium.

References

Page 48: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

48© 2005-2006 The ATHENA Consortium.

References (1)

[ATHENA] ATHENA, "ATHENA Public Web Site", ATHENA Integrated Project (IST-507849). http://www.athena-ip.org/

[OMG] OMG, "OMG Model Driven Architecture", Object Management Group (OMG). http://www.omg.org/mda

[OMG] OMG, "Unified Modeling Language (UML)", Object Management Group (OMG). http://www.uml.org

[OMG] OMG, "Business Modeling & Integration DTF", Object Management Group (OMG). http://bmi.omg.org/

[OMG] OMG, "Healthcare DTF", Object Management Group (OMG). http://healthcare.omg.org/

[OMG 2001] OMG, "OMG Unified Modeling Language Specification Version 1.4", Object Management Group (OMG), Document formal/01-09-67, September 2001. http://www.omg.org/docs/formal/01-09-67.pdf

[OMG 2001] OMG, "Model Driven Architecture (MDA)", Object  Management Group (OMG), Document ormsc/01-07-01, July 2001. http://www.omg.org/docs/ormsc/01-07-01.pdf

[OMG 2001] OMG, "UML Profile for Enterprise Distributed Components", IONA Technologies, Inc., Rational Software Corp., SINTEF, ad/01-02-26, 2001.

Page 49: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

49© 2005-2006 The ATHENA Consortium.

References (2)

[OMG 2002] OMG, "Request for Proposal: MOF 2.0 Query / Views / Transformations RFP", Object Management Group (OMG), Document ad/02-04-10, April 2002. http://www.omg.org/docs/ad/02-04-10.pdf

[OMG 2002] OMG, "UML Profile for Enterprise Distributed Object Computing Specification", Object Management Group (OMG), Document ptc/02-02-05, 2002. http://www.omg.org/technology/documents/formal/edoc.htm

[OMG 2002] OMG, "UML Profile for CORBA Specification, Version 1.0", Object Management Group (OMG), Document formal/02-04-01, April 2002. http://www.omg.org/docs/formal/02-04-01.pdf

[OMG 2003] OMG, "MDA Guide Version 1.0.1", Object Management Group (OMG), Document omg/03-06-01, June 2003. http://www.omg.org/docs/omg/03-06-01.pdf

[OMG 2003] OMG, "UML 2.0 Superstructure Specification", Object Management Group (OMG), Document ptc/03-08-02, August 2003. http://www.omg.org/docs/ptc/03-08-02.pdf

[OMG 2003] OMG, "Business Process Definition Metamodel - Request for Proposal", Object Management Group (OMG), Document bei/03-01-06, January 2003. http://www.omg.org/docs/bei/03-01-06.pdf

[OMG 2003] OMG, "UML 2.0 OCL Specification", Object Management Group (OMG), Document ptc/03-10-14, October 2003. http://www.omg.org/docs/ptc/03-10-14.pdf

Page 50: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

50© 2005-2006 The ATHENA Consortium.

References (3)

[OMG 2003] OMG, "Meta Object Facility", Object Management Group (OMG), Document ptc/03-10-04, 2003. http://www.omg.org/docs/ptc/03-10-04.pdf

[OMG 2003] OMG, "XML Metadata Interchange", Object Management Group (OMG), Document formal/03-05-02, May 2003. http://www.omg.org/docs/formal/03-05-02.pdf

[OMG 2003] OMG, "UML 2.0 Infrastructure Specification", Object Management Group (OMG), Document ptc/03-09-15, December 2003. http://www.omg.org/docs/ptc/03-09-15.pdf

[OMG 2003] OMG, "Common Warehouse Metamodel (CWM), Version 1.1", Object Management Group (OMG), Document formal/03-03-02, 2003. http://www.omg.org/docs/formal/03-03-02.pdf

[OMG 2004] OMG, "Enterprise Collaboration Architecture (ECA) Specification, Version 1.0", Object Management Group (OMG), Document formal/04-02-01, February 2004. http://www.omg.org/docs/formal/04-02-01.pdf

[OMG 2004] OMG, "MOF Model to Text Transformation Language Request for Proposal", Object Management Group (OMG), Document ad/04-04-07, May 2004. http://www.omg.org/docs/ad/04-04-07.pdf

[OMG 2004] OMG, "UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms", Object Management Group (OMG), Document ptc/04-09-01, September 2004. http://www.omg.org/docs/ptc/04-09-01.pdf

Page 51: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

51© 2005-2006 The ATHENA Consortium.

References (4)

[OMG 2004] OMG, "Meta Object Facility (MOF) 2.0 Core Specification", Object Management Group (OMG), Document ptc/04-10-15, October 2004. http://www.omg.org/docs/ptc/04-10-15.pdf

[OMG 2005] OMG, "Software Process Engineering Metamodel Specification, Version 1.1", Object Management Group (OMG), Document formal/05-01-06, January 2005. http://www.omg.org/docs/formal/05-01-06.pdf

[OMG 2005] OMG, "Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification", Object Management Group (OMG), Document ptc/05-11-01, November 2005. http://www.omg.org/docs/ptc/05-11-01.pdf

[OMG 2005] OMG, "MOF 2.0/XMI Mapping Specification, v2.1", Object Management Group (OMG), Document formal/05-09-01, September 2005. http://www.omg.org/docs/formal/05-09-01.pdf

Page 52: © 2005-2006 The ATHENA Consortium. AP4 – Introduction to Model-Driven Interoperability (MDI) Learn about model-driven architecture (MDA) and its application.

52© 2005-2006 The ATHENA Consortium.

This course has been developed under the funding of the EC with the support of the EC ATHENA-IP Project.

Disclaimer and Copyright Notice: Permission is granted without fee for personal or educational (non-profit) use, previous notification is needed. For notification purposes, please, address to the ATHENA Training Programme Chair at [email protected]. In other cases please, contact at the same e-mail address for use conditions. Some of the figures presented in this course are freely inspired by others reported in referenced works/sources. For such figures copyright and all rights therein are maintained by the original authors or by other copyright holders. It is understood that all persons copying these figures will adhere to the terms and constraints invoked by each copyright holder.