| <html xmlns="http://www.w3.org/TR/REC-html40"> |
| <head> |
| <title>Model Driven Development Integration</title> |
| <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"> |
| <link href="main_data/eclipse.css" type=text/css rel=stylesheet> |
| </head> |
| <body text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff> |
| <table cellSpacing=5 cellPadding=2 width="100%" border=0> |
| <tbody> |
| <tr> |
| <td align=left width="60%"> |
| <font class=indextop>Model Driven Development Integration</font> |
| <br><font class=indexsub>A Technology Project Proposal |
| [updated April 14, 2005]</font></td> |
| <td width="40%"><img height=86 hspace=50 src="main_data/Idea.jpg" |
| width=120 align=center></td> |
| </tr> |
| </tbody> |
| </table> |
| <table cellSpacing=5 cellPadding=2 width="100%" border=0> |
| <tbody> |
| <tr> |
| <td> |
| <p> |
| This Eclipse project proposal (refer to the <a href="/projects/dev_process/">Eclipse |
| Development Process Document</a>) is posted to declare the intent and scope of a Technology PMC Project called the Model Driven Development Integration |
| project (MDDi). In addition, this proposal is written to solicit additional participation and input from the Eclipse community. You are invited to |
| comment on and join the project. Please send all feedback to <a |
| href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.mddi">http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.mddi</a> |
| </p> |
| </td> |
| </td> |
| </tbody> |
| </table> |
| <br/> |
| <table cellSpacing=5 cellPadding=2 width="100%" border=0> |
| <tbody> |
| <tr> |
| <td vAlign=top align=left bgColor=#0080c0 colSpan=2><b><font |
| face=Arial,Helvetica color=#ffffff>Introduction</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p> |
| The Eclipse MDDi project is dedicated to the realization of a platform offering |
| integration facilities needed for applying a Model Driven Development (MDD) |
| approach. This project will produce an extensible framework and exemplary |
| tools, designed to support various modeling languages (Unified Modeling |
| Language or Domain-Specific Languages), and model driven methodologies. The |
| MDDi platform will provide the ability to integrate modeling and related |
| development tools. |
| </p> |
| <p> |
| The Eclipse platform is an excellent basis for building and integrating Model Driven |
| Development tools. The MDDi platform will extend Eclipse, enabling an additional level |
| of integration for the MDD tools that provide or can make use of services based on models |
| (or model elements). The platform will ensure integration of tools designed for MDDi as |
| well as external tools. Eclipse Modeling Framework (EMF)-based tools are good candidates |
| for integration in the MDDi platform, although external modeling tools will be integrated |
| as well. |
| </p> |
| </td> |
| </td> |
| </tbody> |
| </table> |
| <br/> |
| <table cellSpacing=5 cellPadding=2 width="100%" border=0> |
| <tbody> |
| <tr> |
| <td vAlign=top align=left bgColor=#0080c0 colSpan=2><b><font |
| face=Arial,Helvetica color=#ffffff>Project outline</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p> |
| Model Driven Development (MDD) is increasingly gaining the attention of both industry |
| and research communities. MDD stresses the use of models in the software development |
| life cycle and argues automation via both model transformation and code generation |
| techniques. The <a href="http://www.omg.org/">OMG</a> is promoting a model-driven |
| approach for software development through its Model Driven Architecture |
| (<a href="http://www.omg.org/docs/omg/03-06-01.pdf">MDA</a>™) initiative and |
| its supporting standards, such as UML, MOF, MOF QVT. MDD is the specific application |
| of MDA to software development. |
| </p> |
| <p> |
| Other technological spaces exist such as XML and graph transformation, and also |
| provide good solutions to MDD issues. For example, the space of formal technologies |
| already provides a number of good practices and tools to validate models. The problem is |
| that these technological spaces rely on heterogeneous support tools that usually need to |
| be manually or programmatically linked using specific bridges. The concern here is to |
| perform interoperability between technological spaces. |
| </p> |
| <p> |
| In order to support a consistent Model Driven approach, a platform is needed to ensure |
| consistency (interoperability) between the models manipulated by modeling tools such as |
| editors, repositories, compilers, transformation engines, meta-modeling tools and methodology |
| design tools. Our goal is to develop an open platform based on the current modeling standards. |
| This platform will provide a foundation that can be leveraged for the development of future |
| modeling environments, whether they are open source or commercial (Figure1). |
| </p> |
| <p align=center> |
| <img border=0 width=500 height=280 src="./main_data/image004.gif"/> |
| </p> |
| <p align=center> |
| Figure 1: An integrated MDD tool suite based on MDDi. |
| </p> |
| <p> |
| The integration aspect of the MDDi project will be targeted at three points of view: |
| <ul> |
| <li><p> |
| A technological integration view – ensures the integration/interoperability of tools |
| providing model-oriented services (e.g. model transformation, model weaving, model validation…). |
| An initial component will be provided: the <a href="./main_data/ModelBusWhitePaper_MDDI.pdf"> |
| ModelBus</a>. This latter will enable transparent interaction between model-aware tools at both |
| the meta-model and model levels. The ModelBus will allow end users to easily assemble heterogeneous |
| model-aware tools, and let them interoperate without having any direct knowledge of the specifics of |
| other tools. Depending on the required kind of services and integration, the ModelBus will provide a |
| coarse- (model level) or fine- (model element level) grained interoperability protocol. The ModelBus will |
| then take advantage of XMI, EMF, and on protocols such as SOAP from W3C.</p> |
| </li> |
| <li><p> |
| A semantics integration view – provides facilities for the specification and the support of |
| dynamic aspects of language definition. A language specification consists of defining both its syntax |
| and semantic aspects. As EMF only provides structural constructs, it can only manage the static part |
| of a language definition. By introducing dynamic aspects directly at a meta-modeling level, MDDi will |
| especially provide support for : |
| <ul> |
| <li> |
| complete description of languages with their semantic. |
| </li> |
| <li> |
| fully executable models. |
| </li> |
| </ul> |
| <br/>An initial contribution to the project: the Action Semantic Modeling tool will address this |
| precise view of the MDDi scope.</p> |
| </li> |
| <li><p> |
| A methodological integration view – is concerned with ensuring that a given set of tools can be |
| customized to support a given set of development practices. The MDDi vision is to allow experts to design |
| modeling languages and methodologies and then build, customize and integrate tools to provide a tool suite |
| supporting their context. For software developers, the MDDi vision promotes the use of an integrated tool |
| suite incorporating best of breed tools that have been customized to support their methodology. Both |
| meta-model level tools and software development tools will interact via the ModelBus (Figure 2). Modeling |
| tools load MDD assets, again via the ModelBus, to create a dedicated MDD environment. There are two main |
| approaches regarding the use of DSL. The first possibility, which is the solution adopted in the Eclipse |
| GMF project, is to generate or build specific GUI or Diagram-based tools dedicated to these languages. |
| Another approach is to use existing UML modeling tools as the concrete syntax support of DSL. A UML profile |
| that maps the concepts defined in the DSL on the UML meta-model can be defined for this purpose. The |
| “Profile Design Tool” component will support UML profiling by offering modeling capabilities |
| and asset generation.</p> |
| </li> |
| </ul> |
| </p> |
| <p align=center> |
| <img border=0 width=464 height=368 src="./main_data/image006.gif"/> |
| </p> |
| <p align=center> |
| Figure 2: Integration of model and meta-model level tools. |
| </p> |
| <p> |
| The MDDi project will support any other tooling initiatives that would enhance the capabilities of the platform. |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <br/> |
| <table> |
| <tbody> |
| <tr> |
| <td vAlign=top align=left bgColor=#0080c0 colSpan=2><b> |
| <font face=Arial,Helvetica color=#ffffff>Relationships with other Eclipse projects</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p> |
| <ul> |
| <li><p> |
| <b><a href="http://www.eclipse.org/emf">Eclipse Modeling Framework (EMF)</a></b> is the reference |
| framework in the Eclipse environment for defining and generating model repositories based on |
| meta-models. The MDDi platform will fully support EMF-based editors and allow model repositories |
| to be plugged on the Model Bus. |
| </p></li> |
| <li><p> |
| <b><a href="http://www.eclipse.org/proposals/eclipse-gmf/index.html">Graphical Modeling Framework (GMF)</a></b> |
| aims at enhancing the editors generated by EMF to support graphical editing. We will support any GMF-based |
| editors. The "tool generation" feature of GMF provides an exciting opportunity to automatically |
| include the MDDi-provided integration capability as part of what gets generated. MDDi will provide those |
| tools with a) the ability to integrate with other tools through services and events, and b) the ability |
| to be customized (e.g. using wizards) to support specific development tasks/processes. |
| </p></li> |
| <li><p> |
| <b><a href="http://www.eclipse.org/gmt">Generative Model Transformer (GMT)</a></b> consists of a set of |
| tools dedicated to model-driven software development. It mainly provides transformation engines that could |
| be plugged into the MDDi platform, providing transformation services. It is felt that there is no overlap |
| between the MDDi and GMT projects, as GMT focuses on the development of tools whereas MDDi focuses on tool |
| integration and orchestration. |
| </p></li> |
| <li><p> |
| <b><a href="http://www.eclipse.org/omelet">OMELET</a></b> provides a framework for integrating models and |
| model transformations. MDDi has some overlaps on the tool integration aspects. A possible integration of |
| the OMELET project’s work within the MDDi project will be evaluated to benefit from the lessons |
| learned. |
| </p></li> |
| </ul> |
| </p> |
| <p> |
| Modeling tools from other Eclipse projects such as UML2, Data Tools, Web Tools, and XSD are good candidate for |
| integration in the MDDi platform. We plan to evaluate existing components and reuse them every time it is |
| possible. We also plan to propose additional integration adapters depending on our resources and what the |
| community needs. |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| <table> |
| <br/> |
| </table> |
| <table> |
| <tbody> |
| <tr> |
| <td vAlign=top align=left bgColor=#0080c0 colSpan=2><b> |
| <font face=Arial,Helvetica color=#ffffff>Develpoment plan</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p> |
| A formal roadmap will be defined as soon as the project gets started. We plan to focus on tool integration |
| first (based on the features provided by the ModelBus), and then to work on the methodological aspects, |
| including the customization and the orchestration of tools to support multiple development processes. |
| Concerning both the Profile Design Tool and the Action Semantic Modeling Tool, the initial versions will |
| mainly contain the underlying EMF repository used by the tools; graphical aspects are to be added in the |
| following versions hopefully reusing a part of Eclipse GMF work as soon as it is available. |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <br/> |
| <table> |
| <tbody> |
| <tr> |
| <td vAlign=top align=left bgColor=#0080c0 colSpan=2><b> |
| <font face=Arial,Helvetica color=#ffffff>Organization</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <p> |
| The project will have initial committers. We encourage others to participate in all the aspects of the |
| project. If you are interested, please take part in the newsgroup discussions or ask to be added to the |
| list of interested parties. Detailed organization rules will be defined at the begining of the project. |
| </p> |
| <p> |
| <b>Board members</b> |
| <ul> |
| <li>Mariano Belaunde (France Telecom)</li> |
| <li>Jean Bézivin (INRIA Nantes)</li> |
| <li>Xavier Blanc (Laboratoire d'Informatique de Paris 6)</li> |
| <li>Andy Evans / James Willans (Xactium)</li> |
| <li>Pete Rivett / Nick Dowler (Adaptive)</li> |
| <li>Madeleine Faugère / Sébastien Demathieu (Thales)</li> |
| <li>Pierre Gaufillet (Airbus France)</li> |
| <li>Jean-Marc Jezequel (INRIA Rennes)</li> |
| <li>Keith Mantell (IBM UK Limited)</li> |
| <li>Miguel A de Miguel (Universidad Politécnica de Madrid)</li> |
| <li>Jon Oldevik (SINTEF)</li> |
| <li>Yann Tanguy (CEA)</li> |
| <li>Régis Vogel (Enabler Informática, S.A.)</li> |
| <li>Wolfgang Wieser (Imbus AG)</li> |
| </ul> |
| </p> |
| <p> |
| <b>Initial Committers</b> |
| <ul> |
| <li>Mariano Belaunde</li> |
| <li>Jean Bézivin</li> |
| <li>Xavier Blanc</li> |
| <li>Nick Dowler</li> |
| <li>Madeleine Faugère</li> |
| <li>Jon Oldevik</li> |
| <li>Yann Tanguy</li> |
| </ul> |
| </p> |
| <p> |
| <b>Initial Contributions</b> |
| <ul> |
| <li>ModelBus and ModelBus Integration Kit (MODELWARE - LIP6)</li> |
| <li>ATL adapter for ModelBus (MODELWARE - SINTEF, INRIA Nantes)</li> |
| <li>Front-End QVT adapter for ModelBus (MODELWARE - France Telecom)</li> |
| <li>OCL adapter for ModelBus (MODELWARE - Fraunhofer Institut)</li> |
| <li>ModelBus Generic Client (LIP6)</li> |
| <li>Action Semantic Modeling tool (CEA)</li> |
| <li>Profile Design tool (CEA)</li> |
| </ul> |
| </p> |
| <p> |
| <b>Interested Parties</b> |
| <table> |
| <tbody> |
| <tr> |
| <td width="500"> |
| <table> |
| <tbody> |
| <tr> |
| <td> |
| EU FP6-IP MODELWARE Project (<a href="http://www.modelware-ist.org">http://www.modelware-ist.org</a>):<br/> |
| </td> |
| <td/> |
| </tr> |
| <tr> |
| <td> |
| <i>Thales, Adaptive Limited, Enabler Informática, S.A., France Telecom, IBM UK Limited, Imbus AG, |
| Institut National de Recherche en Informatique et en Automatique (INRIA Nantes), Laboratoire |
| dInformatique de Paris 6 (LIP6), Stiftelsen for industriell og teknisk forskning ved NTH (SINTEF), |
| Universidad Politécnica de Madrid (UPM)</i> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </td> |
| <td> |
| <img border=0 width=196 height=69 src="./main_data/image008.gif"/> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| CARROLL Program (<a href="http://www.carroll-research.org">http://www.carroll-research.org</a>):<br/> |
| <i>CEA, INRIA, Thales</i> |
| </td> |
| <td> |
| <img border=0 width=200 height=115 src="./main_data/Logo_Carroll.jpg"/> |
| </td> |
| </tr> |
| <tr> |
| <td>Other interested parties:<br/><i>Airbus France, Xactium, Versata, Communications and Systems, |
| MetaMatrix, inStream</i> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </body> |
| </html> |