| <?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 - Traceability"; |
| $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 - Traceability</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="#documentation"><b>Documentation</b></a></li>--> |
| </ul> |
| </blockquote> |
| |
| <hr class="clearer" /> |
| |
| <table> |
| <COLGROUP> |
| <COL width="2%"> |
| <COL width="98%"> |
| <tr> |
| <td></td> |
| |
| Traceability between elements of different models is used in different applications. |
| After executing a model transformation, it is often necessary to know the set of elements |
| of the source model that were used to produce a given target model element. |
| A weaving model is used to save this traceability information. |
| This use case considers traceability of ATL transformations. |
| |
| <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 we have a transformation model <i>Mt</i> that transforms the <i>Source model</i> |
| into the <i>Target model</i>. <i>MMa</i> contains a simple |
| Class <i>Book</i> with two attributes <i>title</i> and <i>subtitle</i>. |
| <i>MMb</i> contains a simple Class <i>Publication</i> with one attribute <i>title</i>. |
| The transformation <i>Mt</i> transforms all books into publications, and concatenates the title and |
| the subtitle in a single attribute. The transformation rule is illustrated in the left side of the figure below.<p/> |
| </p> |
| <p align="center"> |
| <img src="../resources/trace_overview.png"/> |
| <br /><br /> |
| <b>Model transformation</b> |
| </p> |
| <p align="justify"> |
| For one target publication, it is necessary to know which source book was used to generate it. |
| We illustrate the traceability links using simple target and source model elements. These links are reified and |
| saved in a weaving model <i>Mw</i>. This weaving model conforms to the weaving metamodel <i>MMw</i>. |
| </p> |
| <p align="center"> |
| <img src="../resources/trace_model.png"/> |
| <br /><br /> |
| <b>Weaving model</b> |
| </p> |
| <p align="justify"> |
| The weaving metamodel is an extension of the <a href="http://www.eclipse.org/gmt/amw/zoo/#AMW%20core">core weaving metamodel</a>. |
| The <i>TraceLink</i> element contains an attribute <i>ruleName</i>. This attribute contains the name of the |
| transformation rule that was executed ("SourceToTarget in the simple illustration"). |
| The reference <i>sourceElements</i> refers to the two input metaelements (<i>title</i> and <i>subtitle</i>). |
| The reference <i>targetElements</i> refers to the output metaelement (<i>title</i>). |
| </p> |
| <p align="center"> |
| <img src="../resources/trace_metamodel.png"/> |
| <br /><br /> |
| <b>Metamodel extension</b> |
| </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/ATL2WTracer/Traceability_example[1.0].pdf"><h3>Documentation</h3></a> |
| </td> |
| <td> |
| This document contains a general overview of the example, with a step-by-step how to. |
| </td> |
| </tr> |
| |
| <tr> |
| |
| <td align="center"> |
| <a href="../../examples/ATL2WTracer/ATL2WTracer3_2.zip"><h3>Example <br/> |
| (compatible with latest versions)</h3></a> |
| </td> |
| <td> |
| This is the traceability example refactored to be used with the latest versions of AMW and ATL. |
| </td> |
| |
| |
| </tr> |
| |
| |
| <tr> |
| |
| <td align="center"> |
| <a href="../../examples/ATL2WTracer/ATL2WTracer.zip"><h3>Example<br/> (original)</h3></a> |
| </td> |
| <td> |
| This example generates the traceability of an ATL execution trace in a weaving model. |
| The example transforms Class to Relational models, and additionally generates a traceability weaving model. |
| </td> |
| |
| |
| </tr> |
| </table> |
| </div> |
| |
| |
| EOHTML; |
| |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |