blob: 0c3211a153ddb8d361ce2c0614957ae3f3e517b3 [file] [log] [blame]
<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>&#8482;) 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 &#8211; ensures the integration/interoperability of tools
providing model-oriented services (e.g. model transformation, model weaving, model validation&#8230;).
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 &#8211; 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 &#8211; 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
&#8220;Profile Design Tool&#8221; 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&#8217;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
d’Informatique 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>