| <?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/> |
| |
| Other Eclipse components also have a use case section, such as the <a href="http://www.eclipse.org/gmt/modisco/useCases">GMT Modisco</a> component or |
| the <a href="http://www.eclipse.org/m2m/atl/usecases/">M2M ATL</a> component. |
| |
| <p/> |
| |
| |
| Some of these use cases were developed in the context of the <a href="http://www.modelplex-ist.org">IST European MODELPLEX project</a> |
| (MODELing solution for comPLEX software systems). |
| |
| |
| <p align="justify"> |
| The progress status of each use case is indicated by the icons below: |
| <table width="100%"> |
| <tr> |
| <td align="center"><img src="../../resources/images/specification.png" /> <b>Specification</b></td> |
| <td align="center"><img src="../../resources/images/implementation.png" /> <b>Partially Implemented</b></td> |
| <td align="center"><img src="../../resources/images/completion.png" /> <b>Reaching Completion</b></td> |
| </tr> |
| </table> |
| </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 name="compare" 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> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/completion.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| <li style="list-style:none"> |
| <table width="100%"> |
| <tr> |
| <td width="20%" valign="middle"> |
| <h2><a name="traceability" 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> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/completion.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| |
| <li style="list-style:none"> |
| <table width="100%"> |
| |
| <tr> |
| <td width="20%" valign="middle"> |
| <h2> <a name="diff" href="diff/">Calculating the difference between models</a> </h2> |
| </td> |
| <td width="60%" align="justify"> |
| This use case calculates the differences between two models. |
| The difference between two models is an essential process to control the changes and evolutions of models. |
| The result of the difference is used to apply a patch in the models (to synchronize them). |
| </td> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/completion.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| |
| <li style="list-style:none"> |
| <table width="100%"> |
| <tr> |
| <td width="20%" valign="middle"> |
| <h2><a name="matching" href="matching/">Automatic 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> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/completion.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| <li style="list-style:none"> |
| <table width="100%"> |
| <tr> |
| <td width="20%"> |
| <h2 align><a name="interoperability" 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> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/completion.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| <li style="list-style:none"> |
| <table width="100%"> |
| <tr> |
| <td width="20%"> |
| <h2 align><a name="annotation" 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> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/implementation.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| |
| <li style="list-style:none"> |
| <table width="100%"> |
| <tr> |
| <td width="20%"> |
| <h2 align><a name="modelgen" 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> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/completion.png" /> |
| </td> |
| |
| </tr> |
| </table> |
| </li> |
| |
| <li style="list-style:none"> |
| <table width="100%"> |
| <tr> |
| <td width="20%"> |
| <h2 align><a name="sys_of_sys" href="sys_of_sys/">System Architecture Management</a></h2> |
| </td> |
| <td width="60%" align="justify"> |
| This use case shows how to map the overlapping concepts of different views of a complex system. |
| It uses a framework that deals with a System Architecture (SA) called |
| <a href="http://en.wikipedia.org/wiki/DODAF">DoDAF</a> |
| (Department of Defense Architecture Framework). |
| </td> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/completion.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| |
| <li style="list-style:none"> |
| <table width="100%"> |
| <tr> |
| <td width="20%"> |
| <h2 align><a name="RDBMSXML" href="RDBMSXML/">Data mapping between relational DB and XML</a></h2> |
| </td> |
| <td width="60%" align="justify"> |
| The data mapping between relational databases and XML is a typical problem in many organizations. |
| This use case shows how weaving models capture the relationships between a metamodel with flat structures and |
| foreign keys relationships (representing a relational database) and a metamodel that contains nested structures |
| (representing an XML base). |
| </td> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/completion.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| |
| <li style="list-style:none"> |
| <table width="100%"> |
| <tr> |
| <td width="20%"> |
| <h2 align><a name="umlprofiles" href="umlprofiles/">Bridge between DSLs and |
| UML profiles</a></h2> |
| </td> |
| <td width="60%" align="justify"> |
| The DSL |
| approach aims at representing every domain with a specific metamodel. The UML approach uses |
| profiles to create domain specific concepts. |
| This use case shows how AMW and ATL are used to produce a bridge between these two modeling approaches. |
| </td> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/implementation.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| |
| <li style="list-style-image:none;list-style:none" > |
| <table width="100%"> |
| <tr> |
| <td width="20%" valign="middle"> |
| <h2><a name="mergeSVG" href="mergeSVG/">Merge of geographical information and statistical data</a></h2> |
| </td> |
| <td width="60%" align="justify"> |
| 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> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/implementation.png" /> |
| </td> |
| </tr> |
| </table> |
| </li> |
| |
| <li style="list-style-image:none;list-style:none" > |
| <table width="100%"> |
| <tr> |
| <td width="20%" valign="middle"> |
| <h2><a name="AOM" 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> |
| <td width="10%" align="center"> |
| <img src="../../resources/images/completion.png" /> |
| </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> |
| </tr> |
| </table> |
| </li> |
| --> |
| </ul> |
| </div> |
| <hr class="clearer" /> |
| </div> |
| |
| <div id="rightcolumn"> |
| <div class="sideitem"> |
| <h6>Quick index</h6> |
| <ul> |
| <li> |
| <a href="#compare">Metamodel comparison and model integration</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#traceability">Traceability</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#diff">Model difference</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#matching">Model matching</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#interoperability"">Tool interoperability</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#annotation">Annotations in Java</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#modelgen">SQL and KM3 bridge</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#sys_of_sys">System Architecture</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#RDBMSXML">RDBMS and XML mapping</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#umlprofiles">DSLs and UML profiles</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#mergeSVG">Merge of geographical information</a> |
| </li> |
| <li style="list-style:none">----------</li> |
| <li> |
| <a href="#AOM">Aspect oriented modeling</a> |
| </li> |
| </ul> |
| </div> |
| |
| <div class="sideitem"> |
| <h6>Related links</h6> |
| <ul> |
| <li><a href="http://www.eclipse.org/gmt/modisco/useCases">Eclipse/GMT Modisco Use Cases</a></li> |
| <li><a href="http://www.eclipse.org/m2m/atl/usecases/">Eclipse/M2M ATL Use Cases</a></li> |
| </ul> |
| </div> |
| |
| |
| |
| EOHTML; |
| |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |