© The ATHENA Consortium. AP5 – Principles of Model-Driven Interoperability Learn about model-driven interoperability, metamodelling, UML profiles and domain-specific languages (DSLs), and method engineering.
2 © The ATHENA Consortium. Course description This course focuses on principles and processes of how to apply model-driven development approaches to solving software interoperability problems. The course teaches how to develop metamodels using MOF technology, and how to build your own UML profiles and domain-specific languages (DSLs). The course aims to provide guidelines on practical and correct use of these technologies in the development of interoperable software systems, using examples of how to apply metamodelling and UML profiles. The course also focuses on method engineering for MDA.
3 © The ATHENA Consortium. Course objective This course aims to be a method engineering course that will teach the students how to develop and/or configure their own model-driven development methodologies and tools for software interoperability. Participants will gain an understanding of the use of metamodelling, UML profiles and domain- specific languages (DSLs) in a software engineering development and integration process.
4 © The ATHENA Consortium. MDI training track NoTopicPresenter AP4AP4 4-1Interoperability & Model-Driven Architecture (MDA),, AP5AP5 5-1ATHENA Model-Driven Interoperability (MDI) Framework,, 5-2Metamodelling Eclipse Modeling Framework (EMF) Tutorial / Exercise,, 5-3UML Profiles and Domain-Specific Languages (DSLs) Eclipse Graphical Modeling Framework (GMF) Tutorial / Exercise,, 5-4Method Engineering Eclipse Process Framework (EPF) Tutorial / Exercise,, AP6AP6 5-1Model Mappings and Transformations ATL Tutorial (optional) MOFScript Tutorial (optional),, 5-2Model-Driven Development with PIM4SOA,, 5-3From PIM4SOA to Web Services PIM4SOA to XSD ATL Tutorial / Exercise,, 5-4From PIM4SOA to Agents,, 5-5From PIM4SOA to Peer-2-Peer (P2P),,
5 © The ATHENA Consortium. MDI website
© The ATHENA Consortium ATHENA Model- Driven Interoperability (MDI) Framework,
7 © The ATHENA Consortium. Outline Requirements of the framework Specification of the framework –Conceptual integration –Technical integration –Applicative integration Realisation of the framework –Methodology and guidelines –Tools and services References
8 © The ATHENA Consortium. Requirements of the framework
9 © The ATHENA Consortium. Motivation We believe that there is a need for an interoperability framework that provides guidance on how MDD should be applied to address interoperability. The interoperability framework integrates principles of model-driven, service- oriented and adaptive software architectures: –Model-driven architectures focus on design-time aspects of system engineering. Model-driven development methodologies describe how to develop and utilise (visual) models as an active aid in the analysis, specification, design and implementation phases of an ICT system. –Service-oriented architecture (SOA) specifies systems composed of services offered by various service providers, which provides the basis for supporting new business models, such as “virtual organisations”. –Adaptive software architectures focus on run-time aspects of system engineering. Agent and P2P technologies enrich an ICT system with dynamic and adaptive qualities.
10 © The ATHENA Consortium. Service-oriented architectures Service provider: A service provider is the party that provides software applications for specific needs as services. Service providers publish, unpublish and update their services so that they are available on the Internet. Service requester: A requester is the party that has a need that can be fulfilled by a service available on the Internet. A requester could be a human user accessing the service through a desktop or a wireless browser; it could be an application program; or it could be another service. A requester finds the required services via a service broker and binds to services via the service provider. Service broker: A service broker provides a searchable repository of service descriptions where service providers publish their services and service requesters find services and obtain binding information for these services. Examples of service brokers are UDDI (Universal Description, Discovery, and Integration) and XMethods. In many cases the role of the service broker is not explicitly needed. Services can be discovered by marketing channels or by referrals. Invoke Bind Service Provider Service Broker Service Requester Publish Unpublish Update Discover
11 © The ATHENA Consortium. Adaptive business architectures Globalisation and mass customisation are business trends that have created a situation where business processes that used to be managed by a single enterprise are now distributed and need to be planned and enacted across multiple partners. This leads to highly distributed architectures of business systems with amplified complexity and increased need for collaboration among the participating organizations. At the same time, organizations are in increasing need of solutions to allow them to cope flexibly with constantly changing environments.
12 © The ATHENA Consortium. Service-Oriented Architectures Agent Architectures P2P Architectures Web Service Architectures Model-Driven Interoperability Architectures (“Design-time”) Adaptive Interoperability Architectures (“Run-time”) Platform Independent Model Platform Specific Models Model-Driven and Adaptive Interoperability Concepts “Interoperability Enhanced” Service-Oriented Architectures Part I Component & Message- Oriented Architectures Business Process Execution Architectures Part II Part III Model Transformations Technology Mappings MDA and adaptive architectures
13 © The ATHENA Consortium. MDI approach to interoperability The interoperability framework integrates principles of model-driven, service-oriented and adaptive architectures: –Model-driven architectures focus on design-time aspects of system engineering. Model-driven development methodologies describe how to develop and utilise (visual) models as an active aid in the analysis, specification, design and implementation phases of an ICT system. –Service-Oriented Architecture (SOA) specifies systems composed of services offered by various service providers, which provides the basis for supporting new business models, such as “virtual organisations”. –Adaptive interoperability architectures focus on run-time aspects of system engineering. Agent and P2P technologies enrich an ICT system with dynamic and adaptive qualities.
14 © The ATHENA Consortium. Specification of the framework
15 © The ATHENA Consortium. MDI framework (1) Vision Enterprises are able to flexibly develop and execute interoperable applications based on model-driven development approaches to service-oriented and adaptive software solutions. Conceptual Integration Concepts Metamodels Languages Model relationships Technical Integration Development environments Execution environments Applicative Integration Methodologies Standards Domain models Integrates principles of Model-driven development Service-oriented architectures Adaptive architectures Three main integration areas Conceptual integration Technical integration Applicative integration
16 © The ATHENA Consortium. MDI framework (2) The interoperability framework itself is structured according to three main integration areas defined in ATHENA: For each of these three areas a reference model to describe and support the application of model-driven development of software systems is specified. 1.Conceptual integration focuses on concepts, meta-models, languages and model relationships to systemise software model interoperability. 2.Technical integration focuses on the software development and execution environments. 3.Applicative integration focuses on methodologies, standards and domain models. It provides us with guidelines, principles and patterns that can be used to solve software interoperability issues.
17 © The ATHENA Consortium. Conceptual integration – Overview Developed from a MDD point of view focusing on the enterprise applications and software system. A Computation independent model (CIM) corresponds to a view defined by a computation independent viewpoint. It describes the business context and business requirements for the software system(s). A platform independent model (PIM) corresponds to a view defined by a platform independent viewpoint. It describes software specifications independent of execution platforms. A platform specific model (PSM) corresponds to a view defined by a platform specific viewpoint. It describes the realisation of software systems.
18 © The ATHENA Consortium. Computational System B Enterprise System B (MDD Abstraction) Execution Platform B Ontologies Model-Driven Architecture (MDA) & Architecture-Driven Modernisation (ADM) Platform Independent Model (PIM) Computational Independent Model (CIM) Architecture-Driven Modernisation (ADM) Semantic Annotation Semantic Annotation Model-Driven Architecture (MDA) Platform Specific Model (PSM) Semantic Annotation MT Model Transformation MT Computational System A Enterprise System A (MDD Abstraction) Execution Platform A Ontologies Model-Driven Architecture (MDA) & Architecture-Driven Modernisation (ADM) Platform Independent Model (PIM) Computational Independent Model (CIM) Architecture-Driven Modernisation (ADM) Semantic Annotation Semantic Annotation Model-Driven Architecture (MDA) Platform Specific Model (PSM) Semantic Annotation MT Model Transformation Service Aspects Information Aspects Process Aspects Non- Functional Aspects Horizontal Integration Vertical Integration Reference Ontology MI Interoperability Patterns Model Interoperability Conceptual integration: Reference model
19 © The ATHENA Consortium. Conceptual integration: System aspects We have identified four categories of system aspects where specific software interoperability issues can be addressed. These four aspects can be addressed at all three CIM, PIM and PSM levels. Service aspects: Services are an abstraction and an encapsulation of the functionality provided by an autonomous entity,. Information aspects: Information aspects are related to the messages or structures exchanged, processed and stored by software systems or software components. Process aspects: Processes describe sequencing of work in terms of actions, control flows, information flows, interactions, protocols, etc. Non-functional aspects: Extra-functional qualities that can be applied to services, information and processes. We have been studying the following metamodels. CIM level –Business Process Definition Metamodel (BPDM) –Software Process Engineering Metamodel (SPEM) –POP* (being defined within ATHENA) PIM level –EDOC – UML Profile for Enterprise Distributed Object Computing Specification –QoS – UML Profile for Modelling Quality of Services and Fault Tolerance Characteristics and Mechanisms PSM level –Web Services –Web Services Business Process Execution Language (WSBPEL) –Agents Architectures –Peer2Peer Architectures
20 © The ATHENA Consortium. System aspects and integration dimensions Integration dimensions System abstraction Generality Viewpoint Composition Time Model abstraction System aspects Information Service Process Non-functional Model abstraction M0M0 M1M1 M2M2 M3M3 Time State Evolution Composition (Virtual) Enterprise Service Component Object System abstraction Code PSM PIM CIM Generality System, Product Product-line, Framework, Pattern Viewpoint Realisation Viewpoint Specification Viewpoint Business Viewpoint Enterprise Viewpoint Service Aspects Information Aspects Process Aspects Non- Functional Aspects
21 © The ATHENA Consortium. Technical integration – Overview Developed from a service-oriented point of view where a software system provides a set of services required by the businesses and users of the enterprise. The architecture of the enterprise applications and software systems can be described according to a 4-tier reference architecture where each tier provides different software services required by the enterprise. The software system itself is coupled to a service bus that provides the necessary communication infrastructure. Infrastructure services such as composition, mediation, matchmaking and transformation that enables interoperability between software systems should be provided. –Model repository for managing models of various kinds. –Service registry for managing naming, directory and location of services –Execution repository for managing information and state needed in the execution of software services and processes –Data repository for managing results and traces of the executions.
22 © The ATHENA Consortium. Software System Enterprise B (Technical World) Business Transactions Business Processes Business Collaborations Users Business Tasks Vertical Integration Service Bus Software System Enterprise A (Technical World) Business Transactions Business Processes Business Collaborations Users Business Tasks Vertical Integration Service Bus Technical integration: Reference model Service Bus Infrastructure Services Registry/Repository Model Mgmt. Service Mgmt. Exec. Mgmt. Data Mgmt. ICT Infrastructure User Interface Services User ServicesBusiness ServicesResource Services User Interface Services User ServicesBusiness ServicesResource Services
23 © The ATHENA Consortium. Legend Service Inter-service communication User Service Domain Business Service Domain LS Resource Adapter RA LA Local Adapter Local StorageDatabase Resource Service Tier Business Service Tier User Service Tier User Interface Tier LS RA LA Service Bus (Middleware Services) Technical integration: 4-tier reference architecture
24 © The ATHENA Consortium. Service Wrappers / Interoperability Management Evaluation & Negotiation of Available Functionality (using – “Enhanced Registry” & “Broker/Negotiator”) Execution Environment Service Interconnection Bus Company B Company A Repository Existing Enterprise Applications According to the model-driven development models (ideally starting on the CIM level) are transformed and refined until they are eventually directly executed at the PSM level in a concrete execution environment. Service Wrappers: Provides a standardised way of accessing and using services. A first version of the service wrapper will be based on Web service technology. Evaluation & Negotiation: evaluate and negotiate incoming service requests, make use of underlying infrastructure services, and direct requests to the appropriate service deployed on an execution platform. Execution Environment: Concrete platform that is able to execute PSM models, e.g. BPEL, Agent, or Composed Service models. Service Interconnection Bus: provides middleware services for integrating the various execution platforms. Operational vision on interoperability
25 © The ATHENA Consortium. ATHENA integrated execution infrastructure
26 © The ATHENA Consortium. Applicative integration – Overview Developed based on work related to enterprise architecture frameworks and software architecture frameworks. Enterprise and software models can be related in a holistic view, regardless of modelling language formalisms, by the use of meta- models. The MDD methodology needs to follow a structured approach where interoperability requirements from business operations in a networked enterprise drive the development of software solutions. An enterprise model describes a set of enterprise aspects, which includes descriptions of the business operations of the business models. Software models describe how software systems are used to support the businesses of an enterprise. All these models should include descriptions of the four system aspects identified in the reference model for conceptual integration.
27 © The ATHENA Consortium. Computational System A Enterprise System A (MDD Abstraction) Execution Platform A Ontologies Model-Driven Architecture (MDA) & Architecture-Driven Modernisation (ADM) Platform Independent Model (PIM) Computational Independent Model (CIM) Architecture-Driven Modernisation (ADM) Semantic Annotation Semantic Annotation Model-Driven Architecture (MDA) Platform Specific Model (PSM) Semantic Annotation MT Model Transformation Software System Business Enterprise A (Physical World) Business Transactions Business Processes Business Collaborations Users Business Tasks Vertical Integration User Interface Services User ServicesBusiness ServicesResource Services Service Bus Applicative integration: Reference model Enterprise Architecture A (Model World) Software Model Specification Models Business Context Models of Service, Information Process and Non-Functional Aspects Enterprise Model Business Models Realisation Models MT Models of other Enterprise Aspects
28 © The ATHENA Consortium. Business Analyst Business View e.g. Business Process Model System Architect Specification View Deployed Unit #1 InformationService #1 Command Center iProcess InformationService #2 Deployed Unit #2 iNotification iPublish NotificationService ProcessingService Ethernet Satelite Radio Information e.g. Service & Interface Model Software Developer op1 op2 e.g. Interaction & Data Model Realisation View Networked Enterprise Software System Legend Business Viewpoint Specification Viewpoint Realisation Viewpoint Applicative integration: Three basic viewpoints
29 © The ATHENA Consortium. Virtual Enterprise Business Analyst Business View (e.g. Business Process Models) Product Developer Product View (e.g. Product structure models) Software Developer Extending the basic viewpoints Component View (e.g. Design & Implementation Models) op1 op2 System Architect System View (e.g. System Interface Models) Deployed Unit #1 InformationService #1 Command Center iProcess InformationService #2 Deployed Unit #2 iNotification iPublish NotificationService ProcessingService Ethernet Satelite Radio Information Realisation Viewpoint (Platform Specific) Specification Viewpoint (Platform Independent) Context Viewpoint (Computation Independent) Product Viewpoint
30 © The ATHENA Consortium. Realisation of the framework
31 © The ATHENA Consortium. MDI method engineering framework ATHENA Model-Driven Interoperability (MDI) Framework ATHENA Development and Integration Methodology for SOA A6 SINTEF ATHENA MDI Tools A5 & A6 Enterprise Modelling Web Service Modelling Agent Modelling Service Integration Modelling PIM4SOA Modelling Interoperability Metamodelling Language Engineering Model Transformations Method Engineering Provides guidelines and existing method chunks for creating or customizing your own development and integration methodologies ATHENA Development and Integration Methodology for SOA SINTEF Enterprise Modelling Web Service Modelling Agent Modelling Service Integration Modelling PIM4SOA Modelling ATHENA Service-Oriented Interoperability (SOI) Methodology A5 Enterprise Modelling Web Service Modelling Agent Modelling Service Integration Modelling PIM4SOA Modelling Specific Metamodels (both Business Domains and Technology Domains) Specific DSLs and UML Profiles Specific Model Transformations ATHENA MDI Tools A5 & A6 Specific Metamodels (both Business Domains and Technology Domains) Specific DSLs and UML Profiles Specific Model Transformations ATHENA MDI Tools A5 & A6 Specific Metamodels (both Business Domains and Technology Domains) Specific DSLs and UML Profiles Specific Model Transformations Tool-supported methodology Reusable MDI Assets Method chunks Tools and services Models and metamodels Model transformations DSLs and UML profiles Reference examples Provides guidelines and existing assets for creating or customizing your own MDI tools
32 © The ATHENA Consortium. ATHENA MDI Framework ATHENA Model-Driven Interoperability (MDI) Framework MDA & Interoperability Metamodelling UML Profiles & DSLs Model Transformations Method Engineering Reusable MDI Assets Method chunks Tools and services Models and metamodels Model transformations DSLs and UML profiles Reference examples
33 © The ATHENA Consortium. References
34 © The ATHENA Consortium. References [ATHENA] ATHENA, "ATHENA Public Web Site", ATHENA Integrated Project (IST ). [ATHENA A6 2005] ATHENA A6, "D.A6.1: Specification of a Basic Architecture Reference Model", ATHENA IP, Deliverable D.A6.1, [ATHENA A6 2006] ATHENA A6, "D.A6.2: Enhanced Registry/Repository Infrastructure", ATHENA IP, Deliverable D.A6.2, [ATHENA A6 2006] ATHENA A6, "D.A6.3: Model-driven and Adaptable Interoperability Framework", ATHENA IP, Deliverable D.A6.3, [ATHENA A6 2006] ATHENA A6, "D.A6.4: Model-driven and Adaptable Interoperability Infrastructure", ATHENA IP, Deliverable D.A6.4, [Elvesæter, et al. 2005] B. Elvesæter, A. Hahn, A.-J. Berre, and T. Neple, "Towards an Interoperability Framework for Model-Driven Development of Software Systems", in Proc. of the 1st International Conference on Interoperability of Enterprise Software and Applications (INTEROP-ESA 2005), Geneva, Switzerland, 2005.
35 © 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 In other cases please, contact at the same 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