blob: 5c220102c3f1d99ffb5078220cc5df7494fdf151 [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 Cases";
$pageKeywords = "AMW, model weaving, use cases, traceability, interoperability, matching, comparison";
$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 Cases</h1>
<a name="goals"></a>
<img align="right" src="../resources/amwLogoSmall.png" valign="top" style="padding-left: 10px;" alt="AMW Logo" />
Weaving models may be used in several application scenarios, such as <b>metamodel comparison, traceability,
model matching, model annotation, tool interoperability</b>. <br/>
This is because it is often necessary to establish relationships between elements of different
models.
<p/>
These use cases are implemented using AMW. AMW supports such a variety of application scenarios because it has an adaptive interface
that handles different metamodel extensions (AMW is fully implemented using the reflective API of EMF).
<br/>
The plug-in also provides a set of extensions points that enables to add new functionalities when necessary.
<p/>
This section describes a set of key use cases of AMW. The use cases are illustrated with a general overview.
Some of them provide more precise documentation, as well as fully implemented examples.
<p/>
<hr class="clearer"/>
<div class="homeitem3col" >
<h3>List of use cases</h3>
<ul>
<li style="list-style:none">
<table width="100%">
<tr>
<td width="20%" valign="middle">
<h2> <a href="compare/">Metamodel comparison and model migration</a> </h2>
</td>
<td width="60%" align="justify">
This use case shows how we use weaving models to compare two versions of a metamodel.
The domain of the metamodel is the development of embedded software in the avionics industry.
The weaving model is used to produce a transformation between the models conforming to these metamodels.
</td>
</tr>
</table>
</li>
<li style="list-style:none">
<table width="100%">
<tr>
<td width="20%" valign="middle">
<h2><a href="traceability/">Traceability of model transformations</a></h2>
</td>
<td width="60%" align="justify">
Traceability is used in different applications. This use case considers an ATL transformation<!--from
a Book metamodel to a Publication metamodel -->. We need to keep track of the elements
of the source model that were used to produce one target model element.
Weaving models define links to save this traceability information.
</td>
</tr>
</table>
</li>
<li style="list-style:none">
<table width="100%">
<tr>
<td width="20%" valign="middle">
<h2><a href="matching/">Model matching</a></h2>
</td>
<td width="60%" align="justify">
Matching is the process of creating weaving models.
The matching process is the basis for several other use cases of weaving models.
<br/>
This use case gives a general overview of this process and how AMW is integrated with ATL to be able to
execute different matching heuristics.
</td>
</tr>
</table>
</li>
<li style="list-style:none">
<table width="100%">
<tr>
<td width="20%">
<h2 align><a href="interoperability/">Tool interoperability</a></h2>
</td>
<td width="60%" align="justify">
Nowadays, there are a large number of tools that can be used to solve similar problems. However, the tools
typically have heterogeneous data format and semantics.
This use case shows how weaving models and model transformations are used to handle tool interoperability
issues between two well-known bug tracking tools,
<a href="http://www.mantisbt.org/">Mantis</a> and <a href="http://www.bugzilla.org/">Bugzilla</a>.
</td>
</tr>
</table>
</li>
<li style="list-style:none">
<table width="100%">
<tr>
<td width="20%">
<h2 align><a href="annotation/">Model annotations in Java 1.4</a></h2>
</td>
<td width="60%" align="justify">
Models are annotated to add extra information that are not relevant to be defined in the metamodel.
For instance, a model can be annotated with preprocessing informations, comments, etc.
This use case shows how weaving models are used to annotate Java 1.4 metamodels.
</td>
</tr>
</table>
</li>
<li style="list-style:none">
<table width="100%">
<tr>
<td width="20%">
<h2 align><a href="modelgen/">Bridge between SQL and KM3</a></h2>
</td>
<td width="60%" align="justify">
This use case shows how weaving models and model transformations are used to translate SQL-DDL (Data Definition
Language) into KM3 (modeling technical space). The use case presents the complete bridging process: the injection of the
SQL file, the weaving model, the transformations, and finally the extraction into a KM3 file.
</td>
</tr>
</table>
</li>
<!-- <li style="list-style:none">
<table width="100%">
<tr>
<td width="20%">
<h2 align><a href="RDBMSXML/">Database to XML</a></h2>
</td>
<td width="60%" align="justify">
Models are annotated to add extra information that are not relevant to be defined in the metamodel.
For instance, a model can be annotated with preprocessing informations, comments, etc.
This use case shows how weaving models are used to annotate Java 1.4 metamodels.
</td>
</tr>
</table>
</li>
-->
<li style="list-style-image:none;list-style:none" >
<table width="100%">
<tr>
<td width="20%" valign="middle">
<h2><a href="AOM/">Aspect oriented modeling</a></h2>
</td>
<td width="60%" align="justify">
Aspect oriented modeling aims at weaving business models and cross cutting models in a single model.
This use case demonstrates how AMW is used as an aspect oriented modeling solution to weave
a generic communication protocol with specific communication types.
</td>
</tr>
</table>
</li>
<!--
<li style="list-style-image:none;list-style:none" >
<table width="100%">
<tr>
<td width="20%" valign="middle">
<h2>Model alignment</h2>
</td>
<td width="60%" align="justify">
A model alignement consists of a set of links between the model elements.
An alignment is used to create an integrated view of two models.
The alignment may be used as an input to merge algorithms.
<br/>
</td>
<td align="center">
<a href="http://www.inria.fr/recherche/equipes/atlas.en.html">INRIA ATLAS</a>
</td>
</tr>
</table>
</li>
-->
</ul>
</div>
<hr class="clearer" />
</div>
<div id="rightcolumn">
</div>
EOHTML;
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>