blob: 8db7f3af25f422d41c6f92bd88902afc611123f5 [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 - Tool Interoperability of bug tracking tools</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>
<li><a href="#related"><b>Related use cases</b></a></li>
</ul>
</blockquote>
<hr class="clearer" />
<table>
<COLGROUP>
<COL width="2%">
<COL width="98%">
<tr>
<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/>
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>.
This use case shows how weaving models are used to capture the semantic heterogeneities between these two 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">
Consider two bug tracking tools, Mantis and Bugzilla. 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., concatenation, 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>
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>
<h4 STYLE="font-size: 10pt; padding: 0; border-bottom: 2px solid #49457C;
background-position: top left; background-repeat; repeat-x;">
<a name="related">Related use cases</a></h4>
<table>
<COLGROUP>
<COL width="25%">
<COL width="68%">
<tr>
<tr>
<td align="center">
<a href="../matching/"><h3>Matching</h3></a>
</td>
<td>
Matching is the generic process that creates weaving models.
This use case gives a general overview of the matching process, and how it is handled by AMW and ATL.
</td>
</tr>
<tr>
<td align="center">
<a href="../compare/"><h3>Metamodel comparison</h3></a>
</td>
<td>
This use case demonstrates how weaving models are used to compare different
metamodels and to produce executable model transformations (we use two metamodels used to define embedded
software in the avionics industry).
</td>
</tr>
<tr>
<td align="center">
<a href="../modelgen/"><h3>Bridge between SQL and KM3</h3></a>
</td>
<td>
This use case shows how weaving models and model transformations are used to translate SQL-DDL (Data Definition Language) into
KM3 (a modeling technical space) and to translate KM3 into SQL.
</td>
</tr>
<tr>
<td align="center">
<a href="../RDBMSXML/"><h3>Relational DB to XML</h3></a>
</td>
<td>
This use case shows how weaving models can be used to perform the data mapping between relational DBs and XML.
</td>
</tr>
<tr>
<td align="center">
<a href="../mergeSVG/"><h3>Merge of geographical information (GML) and statistical data</h3></a>
</td>
<td>
This use case presents a weaving model used to define a merge operation between a metamodel with geographical information
(an extension of GML) and a metamodel with statistical data into a graphical representation (SVG).
</td>
</tr>
<tr>
<td align="center">
<a href="../umlprofiles/"><h3>Bridge between DSL and UML Profiles</h3></a>
</td>
<td>
This use case shows how AMW and ATL are used to produce a bridge between Domain Specific Languages (DSLs) and UML profiles.
</td>
</tr>
<tr>
<td align="center">
<a href="../sys_of_sys/"><h3>System Architecture (SA) management</h3></a>
</td>
<td>
This use case shows how to map the overlapping concepts of different views of a complex system. It uses a System Architecture (SA)
framework called DoDAF (Department of Defense Architecture Framework).
</td>
</tr>
</table>
<p/>
</div><p/>
EOHTML;
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>