blob: 7167464f17b739ab5c23b834af21b23f5e37f0ed [file] [log] [blame]
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
#*****************************************************************************
#
# template.php
#
# Author: Freddy Allilaire
# Date: 2005-12-07
#
# Description: Type your page comments here - these are not sent to the browser
#
#
#****************************************************************************
#
# Begin: page-specific settings. Change these.
$pageTitle = "AMW Use Case - Tool Interoperability";
$pageKeywords = "";
$pageAuthor = "Marcos Didonet Del Fabro";
# End: page-specific settings
#
# Paste your HTML content between the EOHTML markers!
$html = <<<EOHTML
<!-- Main part -->
<div id="midcolumn">
<h1><font color='#280882'>AMW</font> Use Case - Translation from SQL to KM3</h1>
<a name="goals"></a>
<img align="right" src="../../resources/amwLogoSmall.png" valign="top" style="padding-left: 10px;" alt="AMW Logo" />
<blockquote>
<ul>
<li><a href="#overview"><b>Overview</b></a></li>
<li><a href="#download"><b>Download and examples</b></a></li>
</ul>
</blockquote>
<hr class="clearer" />
<div id="container>
<table>
<COLGROUP>
<COL width="2%">
<COL width="98%">
<tr>
<td></td>
<td>
Nowadays, there are a large number of different tools that can be used to solve similar problems. It is often
necessary to use the data produced by one tool in another tool. However, the tools have different data format and semantics. <br/>
To support interoperability between different tools, it is necessary to represent the
semantic heterogeneities between the tools' elements.
<p/>
This use case shows how weaving models are used to capture the semantic heterogeneities between different tools' metamodels.
The weaving model acts as high-level specifications for producing model transformations.
<p/>
<h4 STYLE="font-size: 10pt; padding: 0; border-bottom: 2px solid #49457C; background-position: top left; background-repeat; repeat-x;">
<a name="overview">Overview</a></h4>
<p align="justify">
We illustrate the tool interoperability scenario using two well-known bug tracking tools, <a href="http://www.mantisbt.org/">Mantis</a>
and <a href="http://www.bugzilla.org/">Bugzilla</a>. Mantis is represented by model <i>Ma</i> (conforms to <i>MMa</i>).
Bugzilla is represented by model <i>Mb</i> (conforms to <i>MMb</i>).
<p/>
The first step is to perform a matching between both metamodels. The matching process creates a weaving model that captures the
different kinds of heterogeneities between both tools metamodels. The heterogeneities may vary from simple mappings (e.g., 1-to-1
equivalence links), to complex kinds of mappings (e.g., conconcatenation, data conversions, etc.). More information about the
matching process is available in the <a href="../matching/">matching use case</a>.
The weaving model conforms to a weaving metamodel extension for tool interoperability. This extension is available in the
<a href="../../zoo/#Tool interoperability extension">weaving metamodel Zoo</a>.
<p/>
<p align="center">
<img src="../resources/interop_overview.png"/>
<br /><br />
<b>Weaving model for tool interoperability</b>
</p>
After the weaving model is created, the weaving model is used as specification to produce model transformations. We implement a higher-order
transformation (HOT) based on a generic transformation pattern (see the <a href="#interop">publication</a> below). The HOT takes the weaving model as input and produces
a transformation model as output. This output transformation is used to translate Mantis models into Bugzilla models.
<p align="center">
<img src="../resources/interop_hot.png"/>
<br /><br />
<b>Production of a transformation between Mantis and Bugzilla</b>
</p>
</p>
<br>
<h4 STYLE="font-size: 10pt; padding: 0; border-bottom: 2px solid #49457C;
background-position: top left; background-repeat; repeat-x;">
<a name="download">Download and examples</a></h4>
<table>
<COLGROUP>
<COL width="25%">
<COL width="75%">
<tr>
<td align="center">
<a href="../../examples/AMW_HOT_MantisBugzilla/AMW_HOT_MantisBugzilla.zip"><h3>Example</h3></a>
</td>
<td>
This example is a complete scenario of tool interoperability that uses weaving models to capture the different kinds of
heterogeneities between the Mantis and Bugzilla metamodels. The weaving model is used to generate ATL transformations.
<p/>
</td>
</tr>
<td align="center">
<a href="../../examples/AMW_HOT_MantisBugzilla/AMW_HOT_MantisBugzilla_doc.php"><h3>Example HowTo</h3></a>
</td>
<td>
This document contains step-by-step instructions explaining how to execute the example.
<p/>
</td>
</tr>
<tr>
<td align="center">
<a name="interop" href="http://www.sciences.univ-nantes.fr/lina/atl/bibliography/ODBASE06"><h3>Publication</h3></a>
</td>
<td>
The publication titled "Model-driven Tool Interoperability: an Application in Bug Tracking" demonstrates the use of
weaving models to capture complex kinds of mappings in tool interoperability scenarios. It uses the "Mantis to Bugzilla"
scenario for the experimental validation.
</td>
</tr>
</table>
<p/>
</div>
</div><p/>
EOHTML;
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>