New use case: bridge between SQL and KM3
diff --git a/news/amwNewsArchive.rss b/news/amwNewsArchive.rss
index e2554ea..ccb0136 100644
--- a/news/amwNewsArchive.rss
+++ b/news/amwNewsArchive.rss
@@ -8,6 +8,18 @@
<item>
+ <title>New AMW use case - Bridge between SQL and KM3</title>
+ <link>http://www.eclipse.org/gmt/amw/usecases/modelgen/ </link>
+ <description>
+ 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.
+ </description>
+ <pubDate>Mon, 29 Jan 2007 15:30:00 CET</pubDate>
+ </item>
+
+
+ <item>
<title>New AMW use case - model annotation</title>
<link>http://www.eclipse.org/gmt/amw/usecases/annotation/ </link>
<description>
diff --git a/usecases/RDBMSXML/index.php b/usecases/RDBMSXML/index.php
new file mode 100644
index 0000000..7167464
--- /dev/null
+++ b/usecases/RDBMSXML/index.php
@@ -0,0 +1,147 @@
+<?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 - Translation from SQL to KM3</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>
+ </ul>
+ </blockquote>
+
+ <hr class="clearer" />
+
+ <div id="container>
+ <table>
+ <COLGROUP>
+ <COL width="2%">
+ <COL width="98%">
+ <tr>
+ <td></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/>
+ This use case shows how weaving models are used to capture the semantic heterogeneities between different 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">
+ 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>. 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., conconcatenation, 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>
+ After the weaving model is created, 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>
+ <p/>
+
+
+ </div>
+ </div><p/>
+
+
+EOHTML;
+
+
+ # Generate the web page
+ $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
\ No newline at end of file
diff --git a/usecases/compare/index.php b/usecases/compare/index.php
index ac8c6b2..53eb0d5 100644
--- a/usecases/compare/index.php
+++ b/usecases/compare/index.php
@@ -179,6 +179,18 @@
metamodels. We use two well known bug tracking tools, Mantis and Bugzilla.
</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>
+
+ </table>
+
</table>
diff --git a/usecases/index.php b/usecases/index.php
index ced80fb..5c22010 100644
--- a/usecases/index.php
+++ b/usecases/index.php
@@ -128,7 +128,41 @@
</tr>
</table>
- </li>
+ </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>
diff --git a/usecases/interoperability/index.php b/usecases/interoperability/index.php
index a4caef7..7060012 100644
--- a/usecases/interoperability/index.php
+++ b/usecases/interoperability/index.php
@@ -26,7 +26,7 @@
<!-- Main part -->
<div id="midcolumn">
- <h1><font color='#280882'>AMW</font>Use Case - Tool Interoperability of bug tracking tools</h1>
+ <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" />
@@ -165,6 +165,15 @@
softwer 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>
</table>
diff --git a/usecases/matching/index.php b/usecases/matching/index.php
index 0da314b..af5d7c4 100644
--- a/usecases/matching/index.php
+++ b/usecases/matching/index.php
@@ -242,6 +242,16 @@
protocol with specific communication types.
</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>
+
</table>
</div>
diff --git a/usecases/resources/modelgen_extract.png b/usecases/resources/modelgen_extract.png
new file mode 100644
index 0000000..c6ee28e
--- /dev/null
+++ b/usecases/resources/modelgen_extract.png
Binary files differ
diff --git a/usecases/resources/modelgen_hot.png b/usecases/resources/modelgen_hot.png
new file mode 100644
index 0000000..667174b
--- /dev/null
+++ b/usecases/resources/modelgen_hot.png
Binary files differ
diff --git a/usecases/resources/modelgen_overview.png b/usecases/resources/modelgen_overview.png
new file mode 100644
index 0000000..6ad7607
--- /dev/null
+++ b/usecases/resources/modelgen_overview.png
Binary files differ