From Object Composition to Model Transformation with the MDA

Similar documents
METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

From Models to Components. Rapid Service Creation with

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

Model Driven Architecture

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

Model Driven Architecture - The Vision

Model Driven Architecture Targets Middleware Interoperability Challenges

TWO APPROACHES IN SYSTEM MODELING AND THEIR ILLUSTRATIONS WITH MDA AND RM-ODP

OMG Specifications for Enterprise Interoperability

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

Modelling in Enterprise Architecture. MSc Business Information Systems

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

The Specifications Exchange Service of an RM-ODP Framework

* Corresponding Author

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

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

Developing in OMG s Model-Driven Architecture

The Model-Driven Semantic Web Emerging Standards & Technologies

An introduction to MOF MetaObject Facility.

Model driven Engineering & Model driven Architecture

Model Driven Architecture

Overview of lectures today and Wednesday

Combining the Power of Meta-Programming and Meta-Modeling within the OMG MDA Framework.

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

The Eclipse Modeling Framework and MDA Status and Opportunities

Improving Military Information Technology Through Common Conceptual Models

SUMMARY: MODEL DRIVEN SECURITY

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Coral: A Metamodel Kernel for Transformation Engines

Weaving Definition and Execution Aspects of Process Meta-Models

Generalized Document Data Model for Integrating Autonomous Applications

Model Driven Development Unified Modeling Language (UML)

Model Driven Architecture

Impacts of changes in enterprise software construction for telecommunications

Model Driven Architecture (MDA)

Reengineering of Distributed Middleware Systems To a Model Driven Architecture (MDA)

ISO/IEC INTERNATIONAL STANDARD

3rd Lecture Languages for information modeling

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

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

Metamodeling with Metamodels. Using. UML/MOF including OCL

Ontology-based Model Transformation

ASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper)

SCOS-2000 Technical Note

All you need are models Anneke Kleppe, Klasse Objecten

Model Driven Architecture

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

Introduction to Software Engineering 10. Software Architecture

Compositional Model Based Software Development

Standard Business Rules Language: why and how? ICAI 06

Self-Controlling Architecture Structured Agents

BLU AGE 2009 Edition Agile Model Transformation

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

Information systems modeling. Tomasz Kubik

High-Fidelity analysis of software systems

Generating MOF M1-level XMI Document Type Definitions

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Using Federations for Flexible SCM Systems

QoS-aware model-driven SOA using SoaML

ISSN TOWARDS A PRECISE DEFINITION OF THE OMG/MDA FRAMEWORK. Par : Jean Bézivin, Nantes, France Olivier Gerbé, HEC Montréal

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

Appendix A - Glossary(of OO software term s)

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

White Paper on RFP II: Abstract Syntax Tree Meta-Model

Model Driven Architecture and Rhapsody

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Do model transformations solve all the problems?

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

Models versus Ontologies - What's the Difference and where does it Matter?

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

Beginning To Define ebxml Initial Draft

Object-Oriented Theories for Model Driven Architecture

Application Servers in E-Commerce Applications

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Meta Architecting: Towered a New Generation of Architecture Description Languages

ITBIS393 Web-Based Information Systems

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

Conceptual Modeling and Specification Generation for B2B Business Processes based on ebxml

Sequence Diagram Generation with Model Transformation Technology

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Introduction to Web Services & SOA

Multimedia Ontology-Driven Architecture for Multimedia Systems

Generation Rules in POMA Architecture

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

Model Driven Engineering

Transformational Design with

Methods for the Development

UML 2.5: Specification Simplification

Metabase Metadata Management System Data Interoperability Need and Solution Characteristics

Integration of Non-Functional Properties in Containers

Role of Executable UML in MDA. Presented by Shahid Alam

FREQUENTLY ASKED QUESTIONS

Introduction to MDE and Model Transformation

Incorporating applications to a Service Oriented Architecture

WBEM Web-based Enterprise Management

Approaches of using UML for Embedded System Design

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

Metadata Repository Support for Legacy Knowledge Discovery in Public Administrations

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

XML and Agent Communication

Transcription:

From Object Composition to Transformation with the MDA Jean Bézivin University of Nantes 2, rue de la Houssinière, BP 92208 44322 Nantes cedex 3, France Jean.Bezivin@sciences.univ-nantes.fr Abstract The object technology revolution has allowed the replacement of the more than twentyyears old step-wise procedural refinement paradigm by the more fashionable object composition paradigm. Surprisingly this evolution seems itself today to be triggering another even more radical change, towards transformation. As a concrete trace of this, the Object Management Group (OMG) is rapidly moving from its previous Object Management Architecture vision (OMA) to the newest -Driven Architecture (MDA). Some of the main characteristics of this new organization will be outlined in the presentation. 1. Introduction The OMG has proposed a ing language called UML (Unified ing Language) for describing all kinds of object-oriented software artifacts. The internal architecture and applicability scope of UML are not yet completely stabilized [4]. In order to allow other similar languages to be defined as well, the OMG uses a general framework based on the MOF (Meta -Object Facility [6]). UML and the MOF are the centerpieces of the fourlayers ing stack of the -Driven Architecture MDA ([8], [1]). The real status of these ing layers is still unsettled. One way to look at the architecture is to compare it to the area of programming languages (Figure 1). At the lowest M0 level we find the real world, corresponding to a given execution of say a Pascal program. At level M1 we find the s, corresponding for example to a given Pascal program. For one such Pascal program there is infinity of possible executions. At level M2 we find the meta-s, corresponding for example to a grammar for the Pascal language. For a given grammar, there is infinity of wellformed programs. Finally level M3 is the meta -meta- level. It may be compared to the self-defined, extended BNF formalism. The EBNF formalism allows defining infinity of grammars. In the standard OMG ing stack, the MOF at level M3 is self-defined and allows defining meta-s at level M2. The UML meta- is one of the well-known examples. It allows defining UML s at level M1. A given UML describes a real phenomenon at level M0, with entities and events unique in time and space. 2. s Everywhere The consensus on UML has been instrumental in this transition from code-oriented to -oriented software production techniques. A key role is now played by the concept of meta-. The notion of a meta- is strongly related to the notion of an ontology [2], used in knowledge representation communities. The MOF has emerged from the recognition that UML was one possible meta- in the software development landscape, but that it was not the only one. Facing the danger of having a variety of different non-compatible metas being defined and independently evolving (data warehouse, workflow, software process, etc.), there was an urgent need for a global integration framework for all metas in the software development scene. The answer was thus to provide one language for

defining meta-s, i.e. a meta-meta-. Each meta- defines itself a language for describing a specific domain of interest. For example UML describes the artifacts of an object-oriented software system. Some other meta-s may address domains like legacy systems, data warehouses, software process, organization, tests, quality of service, party management, etc. Their number is important and keeps growing, under the control of the enduser and platform working groups. They are defined as separate components and many relationships exist between them. Level M 3 Level M 2 the UPM the MOF M the UML the CWM EBNF the Pascal grammar Level M 1 a UML m another UML m a Pascal program P Level M 0 a particular use of m another use ofm an execution X of program P Figure 1 The OMG four layers standard ing stack 3. serialization The real change in the engineering happened when it became clear that could be directly used in software production chains. Although this possibility had often been considered and partially applied, we may now envision its large-scale industrial deployment. Until now object analysis and design s have mainly been used to document software system. Analysts and designers were building s that were provided to programmers only as inspiration material to facilitate the production of concrete software. The move from this "contemplative" period to a new situation where production tools will be -driven has been facilitated by the introduction of the XMI recommendation [7]. This XMI recommendation builds upon many other standards like UML, MOF, OCL and XML. We may recognize its importance from the fact that many new proposals at OMG are no more provided as a simple paper description, but as a XMI DTD as well, corresponding to the MOF-compatible meta- of the proposal. This helps to reduce the gap between human readable and computer interpretable standards. The W3C XML standard provides the transfer syntax but also a complete technological space with widely available and well-engineered tools on which to map the MOF-compatible s. This will allow for example to apply transformation systems like XSLT to any kind of high level s. As Figure 2 suggests, there is a similarity between the relation of a XMI document to a XMI DTD or schema on one side and the relation of a MOF-based to a MOF-based meta- on the other side. The XML, MOF, UML and OCL standards are well integrated in XMI and play together to provide a powerful serialization tool. The move from DTDs to XML schemas is being integrated into this process and will strengthen the resulting possibilities.

Person name : String ssnb : Integer age : Integer <!Element Person> (name, ssnb, age) > XMI DTD or Schema UML <Person> <name> John Pendibidu </name> <ssnb> 15802354450722 </ssnb> <age> 34 </age> </Person> XMI Document Figure 2 XMI representation of MOF-compatible s 4. Separation of aspects The MDA is preparing for a new situation where s will be first class entities. They will be stand-alone and on-line accessible (Figure 3). This means that the execution will contain execution objects and if necessary these execution objects will have the capacity to access other attributes explicitly represented in other s. Ultimately, all entities present in the various s may show autonomous behavior. This organization is based on the fact that there may exist a common execution bus (i.e. CORBA, DotNet, the Web, Java) and an "orthogonal" common representation bus (i.e. the MOF). The architecture suggested by Figure 3 goes much beyond proposals of separation of aspects with AOP (Aspect-Oriented Programming, [3]). It shows how the meta-ing framework may provide possibilities only currently offered by computational introspection and reflection. Of course the separation of aspects with meta -s will make its way in a progressive evolution. However more limited applications of this general scheme to deal with the reification of contracts, exceptions or performance QoS specification may be envisioned on a medium-term basis. Business Business Usage Usage (Use (Use Cases) Cases) Test Test Resource Resource (platform) (platform) Design Design Common BUS (e.g. CORBA + MOF) Deployment Deployment Exception Exception Execution Execution Architecture Figure 3 Separation of aspects with a general infrastructure 5. Middleware generation support One important functionality is present in the MOF, which is made available to all meta- branches. This is middleware generation support. Originally this was provided only for the OMG standard middleware, i.e. CORBA. In the new MDA organization, instead of targeting only the CORBA middleware, the integrated facility will allow to generate for a number of different platforms: Sun (Java/EJB), Microsoft (C#/DotNet), the Web, etc. Furthermore any new middleware that may appear in the future can easily be integrated. Let

us take, as an illustrative example, the UML fragment defined in Figure 4. This could produce the corresponding CORBA API for accessing Employee objects in the IDL language. Alternatively we could also generate Java interfaces from the same fragment as illustrated by Figure 4. Person name : String ssnb : Integer age : Integer Interface Person { Class Person } { public String name; public int ssnb; public int age; } Employee salary : Integer dept : String Interface Employee { Class Employee extends Person } { public int salary; public String dept; } Figure 4 A UML fragment and a corresponding Java code fragment Our illustration was a UML fragment. Obviously any based on a MOF-compliant meta- would have the same property. This possible generation of IDL APIs from UML s means different things. It will be no more necessary to define end-user recommendations in IDL since the high level UML expression will be able to generate automatically for this target. When we look at the activity spent in this area by various enduser OMG working groups (Transport, HealthCare, Electronic Commerce, etc.), we see the important impact of this move. The fact that the target middleware may be parametrically changed (IDL, Java, C#, the WEB, etc.) offers a lot of way for economy. There are also additional advantages in doing this move since we can inject a variable dose of precision into UML s by adding OCL statements. This is not an all-or-nothing process (i.e. using a formal specification language or not using one at all), but an engineering decision. Of course this was not possible with IDL or with any other common target middleware. MOF Source Meta- Target Meta- Transformation rules Source Target Figure 5 Meta- based transformation 6. Transformation The question of transformation also lies at the center of the MDA approach. The designer and programmer would be given for example the profiles UML for CORBA or

UML for C++ and can then use these dialects of UML to prepare for the transformation between a UML design and IDL or C++ code, with the help of some limited facilities provided by the UML CASE tool vendors. As a matter of fact the possibilities don't lie there but in more general approaches, as illustrated by Figure 5. A typical proposal has been made in [5]. We may consider that we have here two meta-s. The source one could be UML for example and the target one could be C# ore more realistically a DotNet meta-. The transformation of the UML to EJB code may be specified by a set of rules defined in terms of the corresponding meta-s. The expression of these rules may be facilitated if a basic generic framework is present in the MOF. The transformation engine itself may be built on any technology like the XSLT tools. 7. Conclusion The move from procedural technology to object technology has triggered a more radical change in our way of considering information systems and of conducting software engineering operations. One of the possible evolution paths is called engineering. It consists in giving a first-class status to s and elements, similarly to the first class status that was given to objects and classes in the 80s, at the beginning of the object technology era. The essential change is that s are no more used only as mere documentation for programmers, but they can be directly used to drive tools. OMG was set up twelve years ago to solve the basic problem of object interoperability (how to make heterogeneous software written in C++, Eiffel, Smalltalk, etc. function properly upon various different distributed platforms). The answers have been CORBA, IDL, IIOP, etc. and the OMA distributed programming framework. Today we are facing new and harder interoperability problems and it will probably take a longer time to solve them. What is needed is a sound global -engineering framework. The MDA organization is an initial answer to this challenge. The OMG four-levels ing stack is the operational kernel of the MDA. 8. References [1] Dsouza, D. -Driven Architecture and Integration: Opportunities and Challenges Version 1.1. February 2001, available at www.kinetiuym.com [2] Guarino N., Welty, C. Towards a Methodology for Ontology-based Engineering. in Bézivin, J. and Ernst, J., (eds.), First International Workshop on engineering, Nice, France, June 13, 2000, available at www.meta.com [3] Kiczales, G. & al. Aspect-Oriented Programming in Aksit, M. and Matsuoka, S. (eds.), 11th European Conference on Object-Oriented Programming, LNCS #1241, pages 220-242, Springer Verlag, 1997 [4] Kobryn, C. The Road to UML 2.0: Fast track or Detour. SD Magazine, April 2001. [5] Lemesle, R. Transformation Rules Based on Meta-ing EDOC,'98, La Jolla, California, 3-5 November 1998, pp.113-122. [6] OMG/MOF Meta Object Facility (MOF) Specification. OMG Document AD/97-08-14, September 1997. available at www.omg.org [7] OMG/XMI XML Interchange (XMI) OMG Document AD/98-10-05, October 1998. available at www.omg.org [8] Soley, R. and the OMG staff -Driven Architecture. OMG draft document available at www.omg.org November 2000.