| <?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 - System Architecture (SA) Management"; |
| $pageKeywords = "DoDAF, model weaving, transformations, matching"; |
| $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>$pageTitle</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> |
| |
| This use case shows how to map the overlapping concepts of different views of a complex system. |
| It uses a framework that deals with System Architecture (SA) called <a href="http://en.wikipedia.org/wiki/DODAF">DoDAF</a> |
| (Department of Defense Architecture Framework). |
| |
| <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"> |
| |
| A <a href="http://en.wikipedia.org/wiki/System_architecture">System Architecture</a> is the set of relations between the parts of a system. |
| DoDAF is a framework of development of System Architecture developed by the department of defense. |
| <p/> |
| A system can be decomposed into different views. Each view provides a perspective of the system with respect of a set of aspects |
| and interests. There are different relationships between the concepts of these views. For example, the traceability matrix is a view |
| that captures the relationships between two views, OV-5 and SV-4. OV-5 is an operational view, and SV-4 is a system view. |
| The traceability matrix is defined as a subset of another system view, called SV-5. |
| <p/> |
| <ul> |
| <li> |
| In this use case, we present how weaving models and model transformations are used to automate the process of defining the SV-5 view. |
| The two views are first translated into SV-5, and then this view is used to produce a traceability matrix between SV-4 and OV-5.<p/> |
| </li> |
| </ul> |
| The first steps is to create these three views as KM3 metamodels |
| (<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gmt/AM3/org.eclipse.am3.zoos.atlantic/DoDAF-SV4.km3?root=Technology_Project&view=markup">SV-4</a>, |
| <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gmt/AM3/org.eclipse.am3.zoos.atlantic/DoDAF-OV5.km3?root=Technology_Project&view=markup">OV-5</a> and |
| <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gmt/AM3/org.eclipse.am3.zoos.atlantic/DoDAF-SV5.km3?root=Technology_Project&view=markup">SV-5</a>). |
| |
| A weaving model is used to capture the overlapping concepts between these views (see figure below). We create two weaving models, one between OV-5 and SV-5, |
| and other between SV-4 and SV5. |
| <p align="center"> |
| <img src="../resources/sysofsys_overview.png"/> |
| <br /><br /> |
| <b>Weaving models between DoDAF views</b> |
| </p> |
| The views are composed by an average of 100 elements. So we automate the process of creating weaving models by executing a set of matching |
| transformations (see the <a href="../matching/">matching use case</a>). This process avoids developing these weaving models manually. |
| |
| The matching transformations are executed following a set of rules: |
| <ul> |
| <li> |
| only the elements with the same type are compared (a typed cartesian product) to create an initial weaving model. |
| </li> |
| <li> |
| a weaving link is created between elements with the same type and name. |
| </li> |
| <li> |
| only the weaving links with a similarity value set to one (1) are considered equivalent (i.e., the concepts overlap). |
| </li> |
| <li> |
| a weaving link is child of another one if it relates 2 Structural Features and if the 2 SFs are contained symmetrically by |
| Classes linked by the parent equivalence link. |
| </li> |
| <li> |
| a link is child of another one if it relates 2 Classes and if the 2 Classes inherits symmetrically of 2 Classes |
| linked by the parent equivalence link. |
| </li> |
| </ul> |
| The screenshot below shows a weaving model between views OV-5 and SV-5. We select an equality link between the <i>Task</i> elements of each view. |
| |
| <p align="center"> |
| <img src="../resources/amw_ov5_sv5.png"/> |
| <br /><br /> |
| <b>Weaving between views OV-5 and SV-5</b> |
| </p> |
| <p/> |
| The weaving models are used to generate two ATL transformations, one that translates the SV-4 view into the SV-5 view, and another that |
| translates the OV-5 view into the SV-5 view, as shown below. A higher-order transformation takes the weaving model, the OV-5 and SV-5 metamodels |
| as input, and it produces an ATL transformation as output (OV-5_2_SV-5). This transformation translates OV-5 models into SV-5 models. |
| After the two views (OV-5 and SV-4) are simultaneously transformed into an SV-5 view, the SV-5 is used to produce a traceability matrix. |
| |
| <p align="center"> |
| <img src="../resources/sys_hot.png"/> |
| <br /><br /> |
| <b>Weaving between views OV-5 and SV-5</b> |
| </p> |
| |
| <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/System_of_systems/System_of_systems.zip"><h3>Example</h3></a> |
| </td> |
| <td> |
| This example is the complete scenario that contains the weaving models, weaving metamodel extensions, and transformations that enables |
| to create the SV-5 of DoDAF. |
| <p/> |
| </td> |
| </tr> |
| <td align="center"> |
| <a href="../../examples/System_of_systems/System_of_systems_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 href="GSoS_ATLAS2006_English.ppt"><h3>Presentation</h3></a> |
| </td> |
| <td> |
| This is a presentation of a master thesis that presents a general overview of the approach. |
| </td> |
| </tr> |
| |
| <tr> |
| <td align="center"> |
| <a name="interop" href="http://www.sciences.univ-nantes.fr/lina/atl/bibliography/ICSEM07"><h3>Publication</h3></a> |
| </td> |
| <td> |
| The publication titled "Model Integration with Model Weaving: a Case Study in System Architecture" presents the motivation to use |
| a model driven engineering approach for this System Architecture use case. It also explains the main results achieved. |
| </td> |
| |
| <!-- |
| <tr> |
| <td align="center"> |
| <a name="interop" href="GSoS_AlbinJossic[0.3].pdf"><h3>Master report</h3></a> (in French) |
| </td> |
| <td> |
| This master report (in French) is a detailed description of the whole approach. This master thesis is the base document of this |
| use case. |
| </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="../interoperability/"><h3>Tool interoperability</h3></a> |
| </td> |
| <td> |
| This use case shows how weaving models are used to capture the semantic heterogeneities between different tools' |
| metamodels. We use two well known bug tracking tools, Mantis and Bugzilla. |
| </td> |
| </tr> |
| |
| |
| </table> |
| |
| |
| <p/> |
| |
| </div><p/> |
| |
| |
| EOHTML; |
| |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |