| <?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. |
| $shortTitle = "ODM Implementation (Bridging UML and OWL)"; |
| $pageTitle = "ATL Use Case - " . $shortTitle; |
| $pageKeywords = ""; |
| $pageAuthor = "Freddy Allilaire"; |
| |
| # End: page-specific settings |
| # |
| |
| # Paste your HTML content between the EOHTML markers! |
| $html = <<<EOHTML |
| |
| <!-- Main part --> |
| <div id="midcolumn"> |
| <h1>$pageTitle</h1> |
| |
| <img align="right" src="../../images/atlLogoSmall.png" valign="top" style="padding-left: 10px;" alt="ATL Logo" /> |
| <blockquote> |
| <ul> |
| <li><a href="#keywords"><b>Keywords</b></a></li> |
| <li><a href="#overview"><b>Overview</b></a></li> |
| <li><a href="#relatedUseCases"><b>Related Use Cases</b></a></li> |
| <li><a href="#download"><b>Download</b></a></li> |
| <li><a href="#acknowledgement"><b>Acknowledgement</b></a></li> |
| </ul> |
| </blockquote> |
| |
| <hr class="clearer" /> |
| |
| <div id="container> |
| <p align="justify"> |
| This work presents an implementation of the OMG ODM (Ontology Definition Metamodel) proposal using the ATL language. This work is made by the SIDo Group from the |
| <a href="http://www.univ-lr.fr/labo/l3i/site_statique/Index.html">L3I</a> lab in La Rochelle. |
| </p> |
| |
| <h4 STYLE="font-size: 10pt; padding: 0; border-bottom: 2px solid #49457C; background-position: top left; background-repeat; repeat-x;"><a name="keywords"></a>Keywords</h4> |
| <table width="100%"> |
| <COLGROUP> |
| <COL width="2%" /> |
| <COL width="98%" /> |
| </COLGROUP> |
| <tr> |
| <td></td> |
| <td> |
| <p align="justify"> |
| Ontology, |
| <a href="http://www.uml.org">UML 2.0</a>, |
| <a href="http://www.w3.org/2004/OWL">OWL</a>, |
| <a href="http://www.omg.org/ontology">ODM</a>, |
| <a href="http://protege.stanford.edu/">Protégé</a>, |
| <a href="http://www.eclipse.org/modeling/mdt/?project=eodm">EODM</a> |
| </p> |
| </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="overview"></a>Overview</h4> |
| |
| <table width="100%"> |
| <COLGROUP> |
| <COL width="2%" /> |
| <COL width="98%" /> |
| </COLGROUP> |
| <tr> |
| <td></td> |
| <td> |
| <p align="justify"> |
| This use case presents an implemented solution to the OMG Ontology Definition Metamodel (ODM) specification. |
| ODM offers a set of metamodels and mappings for bridging the metamodeling world and the ontologies. The present |
| solution supports the UML 2.0 metamodel and the OWL metamodel as defined in ODM. |
| </p> |
| <p align="justify"> |
| The ODM is a recently adopted standard from the Object Management Group that supports ontology development and |
| conceptual modeling in several standard representation languages. It provides a coherent framework for ontology |
| creation based on MOF (Meta Object Facility) and UML (Unified Modeling Language). In this way it plays a central |
| role for bridging Model Driven Architecture based standards and Semantic Web technologies. |
| </p> |
| <p align="center"> |
| <img src="img/UMLOWLBridge.png" /> |
| <br /><br /> |
| <b>ODM Overview</b> |
| </p> |
| <p align="justify"> |
| <b>ODM</b> defines five metamodels (RDFS, OWL, Topic Maps, Common Logic and Description Logic), two UML Profiles |
| (RDFS/OWL Profile, Topic Maps Profile) and a set of QVT mappings from UML to OWL, Topic Maps to OWL and |
| RDFS/OWL to Common Logic. At this current time, we have implemented two of these metamodels, RDFS and OWL in |
| KM3 and the UML Profile for RDFS/OWL. We have also implemented the mapping between UML and OWL by using ATL. |
| </p> |
| <p align="justify"> |
| <b>UML</b> is the most used and known language to model application structure, behaviour and architecture but also |
| business process and data structure. UML is an OMG specification currently in version 2.0. The UML metamodel used |
| in this case study is the one available under the UML eclipse project (eclipse.org/uml2). By using this metamodel |
| we insure that models used by our transformation can be created by different UML tools supporting current UML 2.0 |
| specification. |
| </p> |
| <p align="justify"> |
| <b>OWL</b> (Web Ontology language) is the most expressive language for representing and sharing ontologies over the Web. |
| OWL is designed for use by applications that need to process the content of information instead of just presenting |
| information. It facilitates greater machine interoperability of Web content than other description languages like |
| XML, RDF and RDF-S by providing additional vocabulary along with a formal semantics. |
| </p> |
| <p align="justify"> |
| The OWL metamodel is implemented in by extending the RDFS metamodel. The figure below shows an excerpt of the class |
| hierarchy present in OWL. An OWL Class is a kind of RDFS Class, like OWL Property are kind of RDF |
| Property. OWL offers a richer semantic to express ontologies. With it we can define cardinalities on properties, defined classes with set operators like union, intersection, complement, etc. |
| The notion of Individual in OWL is used to represent resources, i.e. class instances. Each element is identified by a unique URI identifier. |
| <p align="center"> |
| <img src="img/OWL.png" /> |
| <br /> |
| <br /> |
| <b>OWL Metamodel: hierarchy concept excerpt</b> |
| </p> |
| </p> |
| <p align="justify"> |
| The ATL transformation <b>UML2OWL</b> has been implemented according to the ODM specification, i.e. corresponding QVT |
| mapping. This transformation made possible the conversion of an arbitrary UML model into OWL ontology. The |
| complete scenario of this transformation is given in figure below. |
| </p> |
| <p align="center"> |
| <a href="img/UML2OWL.png"><img src="img/UML2OWL.png" width="650" /></a> |
| <br /> |
| <br /> |
| <b>UML2OWL complete transformation scenario</b> |
| </p> |
| <p align="justify"> |
| This scenario is composed of 2 ATL transformations: the core transformation UML2OWL takes has input a UML |
| model and produces an ontology conforms to the OWL metamodel. The second transformation is an XML extractor that |
| produces an XML document conforms to the OWL/XML syntax, as defined by the W3C specification. </p> |
| <p align="justify">The core transformation includes two distinct parts. The first part is dedicated to the mapping from UML model |
| to ontology, i.e. UML classes are mapped into OWL classes, attributes into datatype property, associations into object property, etc. |
| The second part of the transformation deals with instances. For simplicity and demonstration reason we choose to define instances in the same class diagram as the UML model. Those instances are converted into OWL individuals (OWL term for instances). |
| This method offers the possibility to manage UML instances and populate the ontology with corresponding knowledge. An improved method to deal with instances should be provide soon.</p> |
| <p>A UML model representing a museum is given below and serve as a running example for this use case. </p> |
| <p align="center"> |
| <a href="img/MuseumUML.png"><img src="img/MuseumUML.png" width="650" /></a> |
| <br /> |
| <br /> |
| <b>Museum Model </b> |
| </p> |
| <p>The UML2OWL transformation can produce an OWL model in ecore format or an OWL document conform to the OWL/XML presentation syntax. To obtain this XML file, we have implemented an OWL/XML extractor that transforms a model conforms to the OWL metamodel into an owl document.This will let you use obtained OWL files under ontology tools like Protégé. An excerpt of the Museum ontology produced by the UML2OWL transformation from the Museum UML Model is given below. In this excerpt you should notice the presence of a class Painter and one of its Individual representing Picasso. </p> |
| <p align="center"> |
| <a href="img/MuseumOWL.PNG"><img src="img/MuseumOWL.PNG" width="650" /></a> |
| <br /> |
| <br /> |
| <b>Museum ontology excerpt in OWL/XML format </b> |
| </p> |
| <p align="justify"> |
| This use case demonstrates the feasibility to implement the ODM specification, especially the UML to OWL mapping by |
| using AMMA tools. This ATL scenario provides a solution for bridging modeling tools based on UML or MOF (e.g. MDA |
| Tools) and tools for the Semantic Web and ontology development. |
| </p> |
| </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="relatedUseCases"></a>Related Use Cases |
| </h4> |
| <table> |
| <COLGROUP> |
| <COL width="2%" /> |
| <COL width="98%" /> |
| </COLGROUP> |
| <tr> |
| <td></td> |
| <td> |
| <p align="justify"> |
| None at the current time. |
| </p> |
| </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="download">Download</a> |
| </h4> |
| |
| <table width="100%"> |
| <COLGROUP> |
| <COL width="25%"> |
| <COL width="75%"> |
| </COLGROUP> |
| <tr> |
| <td align="center"><a href="http://www.eclipse.org/atl/atlTransformations/#UML2OWL"><h3>Complete scenario</h3></a></td> |
| <td>Scenario available in the ATL transformation zoo (with source files).</td> |
| </tr> |
| <tr> |
| <td align="center"><a href="http://www.eclipse.org/gmt/am3/zoos/atlanticZoo/#OWL"><h3>OWL Metamodel</h3></a></td> |
| <td>OWL metamodel is expressed in the <a href="http://wiki.eclipse.org/index.php/KM3">KM3</a> textual format.</td> |
| </tr> |
| <tr> |
| <td align="center"><a href="http://www.eclipse.org/uml2"><h3>UML 2.0</h3></a></td> |
| <td>The UML 2.0 Metamodel in Ecore XMI 2.0 format is available with the UML2 plugin.</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="acknowledgement"></a>Acknowledgement |
| </h4> |
| |
| <table width="100%"> |
| <COLGROUP> |
| <COL width="2%"> |
| <COL width="98%"> |
| </COLGROUP> |
| <tr> |
| <td></td> |
| <td> |
| This work is granted by the General Council of <a href="http://wwww.charente-maritime.fr/">Charente Maritime</a> (Conseil General de Charente Maritime). |
| </td> |
| </tr> |
| </table> |
| |
| </div> |
| </div> |
| |
| <div id="rightcolumn"> |
| <div class="sideitem"> |
| <h6>General Information</h6> |
| <ul> |
| <li style="list-style:none">February 2007</li> |
| <li style="list-style:none">By <a href="mailto:g <dot> hillairet <at> gmail <dot> com">Guillaume Hillairet</a> (L3I)</li> |
| </ul> |
| </div> |
| </div> |
| |
| EOHTML; |
| |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |