SYSTEM AND METHOD FOR TRANSFORMING A UML MODEL INTO AN OWL REPRESENTATION
A system and method for transforming a human-readable Unified Mark-Up Language (UML) model having a plurality of packages for design purposes into a machine-readable Web Ontology Language (OWL) representation having a plurality of OWL namespaces or a plurality of OWL documents for controlling network elements in a telecommunications network. A processor translates the human-readable UML model into one or more machine-readable OWL ontologies. In one embodiment, the processor produces one ontology (one file) with several namespaces. Thus, the translated ontology corresponds to the UML model, and each UML package in the UML model corresponds to a namespace. In another embodiment, the processor produces several ontologies (several files) corresponding to the UML packages in the UML model, wherein each ontology has just one namespace for its elements. The UML model in this embodiment corresponds to a base ontology importing all created ontologies.
This application claims the benefit of U.S. Provisional Application No. 61/142,739, filed Jan. 6, 2009, the disclosure of which is incorporated herein by reference.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENTNOT APPLICABLE
REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTING COMPACT DISC APPENDIXNOT APPLICABLE
BACKGROUNDThe present invention relates to communications networks. More particularly, and not by way of limitation, the present invention is directed to a system and method for transforming a Unified Mark-Up Language (UML) model into a Web Ontology Language (OWL) representation.
The TeleManagement Forum's (TMF) Shared Information and Data (SID) Model is a common information model for enabling communication, integration and interoperability between telecommunication processes. In addition, the SID is used to provide a common vocabulary and understanding of business and system concepts. Furthermore, the SID model has been designed to be a standard representation of data using UML.
Object and Information Modeling in many domain areas is dominated by the UML. However, UML is a graphical language that cannot be easily processed by machine. UML was designed for human viewing to help understand concepts, rather than for direct use of UML models by an application. In comparison, ontology languages, such as OWL provide a means to model and capture the classes, properties, and relationships of a domain in a manner similar to UML. However, ontologies offer increased expressiveness within the language. In addition, ontology languages can be processed by machine at design time and at run-time while supporting logical inference and reasoning.
The UML version of the SID model is not directly utilized at run time within telecommunications applications. A semantic OWL version of the SID can be directly utilized at runtime. In addition, in relation to the UML version of the SID, it is the semantic OWL version of the SID that would natively have greater richness that enables greater expression when modelling/capturing the classes, properties, and relationships of the SID domain. Additionally, such richer expressiveness is especially useful when dealing with a range of complex domain models. In essence, and under these criteria, OWL is considered superior to UML. Therefore, a key driver for using a semantic version of the SID is to enable a semantic approach to management in telecommunications environment.
The impact of transforming UML to OWL may be found in network management research, specifically Autonomic Network Management (ANM). ANM aims to provide telecommunication networks with self-configuration, self-healing, self-protection, and self-organization mechanisms. These mechanisms can reduce operational costs, increase reliability, and add additional benefits when providing services in OSS/BSS environments. One possible approach to realizing ANM is through the use of Semantic Web technologies, which includes the use of ontology languages, such as OWL, to model information (including SID) and then reason and query these models and their instances.
One approach to translating the SID and other UML models into ontological representations employs Model Driven Architecture (MDA) principles. For this purpose, the Ontology Definition Meta-model (ODM) Adopted Specification (ODM specification 2007) was defined by the Object Management Group (OMG). The ODM focuses on business semantics that specifically enable capabilities of business semantics for MDA through formal grounding for its representation, management, interoperability, and application. The specification defines the independent meta-models for several international standards for ontology, related profiles, mapping, and conventional modeling paradigms such as entity-relationship modeling. The specification also defines an OWL meta-model that provides an informal mapping from UML to OWL.
Currently, UML model information is not used directly within telecommunications networks. Instead an engineer uses UML viewing software or a printed version to understand the relevant information model. This engineer then uses this information to carry out tasks in the network. In order to manually generate a SID compliant service, an engineer has to view the UML SID model, understand how it operates, and interface with the network to generate the service. If a service fails and an alternative has to be found, this manual operation is carried out once again in order to resume service. If a service is just one part of many services, then this task becomes extremely complex and the time to automatically generate a new or alternative service impacts on the revenue steam of the service provider. A system and method are needed to enable a telecommunications network to directly leverage the SID model in OWL format.
In general and in current systems, converting SID from UML into a semantic OWL format is problematic. Currently, there is no solution for carrying out this conversion on a fully automated basis for more complex models. Current attempts to automate the transformation of such models lead to failure or the loss of information that was present in the UML version of the SID model. It is also necessary for many current solutions to manually carry out changes, checks, and additions. The main source of information loss is the translation of UML package construct for model with more than one package.
Currently, the ODM specification defines that a package in UML maps to an ontology in OWL. In UML, a package can be used as storage for its elements. However, in an OWL ontology, it is bound to its elements through the OWL document, where an ontology declaration and its elements are placed in one physical file or location. Furthermore, a UML package supports the embedding of other packages, whereas OWL ontology does not.
There are several problems with the existing systems. The first problem relates to element membership. In OWL, there is no connection of elements to particular ontology. Therefore, the package to which an element is a member is lost.
Another problem with existing systems involves unique element naming. In UML, it is possible to have two elements having the same name in different packages. In OWL, a URI is unique within the whole OWL universe. Therefore, translation of such elements may lead to duplicate Uniform Resource Identifier (URI) identities, which would be an invalid case for ontology as they are no longer unique.
Another problem in existing systems involves embedded packages. Information about embedded packages is not translated because an ontology cannot contain other ontologies. This may lead to another form of the unique naming problem. The problem occurs as a package name in UML is unique within the embedding package only, while in OWL, an ontology URI is unique in the whole known OWL universe.
All of the existing systems suffer from the problems discussed above and result in substantial and severe implications for a transformation mechanism. Thus, a system and method are needed which provides automation of UML to OWL ontology format.
SUMMARYThe present invention provides a system and method for automatically mapping a human-readable UML model to a machine-readable OWL ontology format. The present invention enables the transformed ontological representation of the UML model to retain all element membership, element naming across packages, and reflect correct sub-packaging.
In one embodiment, the present invention is directed to a computer-implemented method of transforming a human-readable UML model having a plurality of packages for design purposes into a machine-readable OWL representation having a plurality of OWL namespaces for controlling network elements in a telecommunications network. The method begins by a processor translating the human-readable UML model into a machine-readable OWL ontology. Next, the processor translates every package of the UML model by generating a name of a new OWL namespace in the machine-readable OWL representation associated with each translated package. The processor then places a translated element associated with each translated package into a correct OWL namespace of the translated package.
In another embodiment, the present invention is directed to a computing system for transforming a human-readable UML model having a plurality of packages for design purposes into a machine-readable OWL representation having a plurality of OWL namespaces for controlling network elements in a telecommunications network. The computing system includes a processor, a first program instructions causing the processor to translate the human-readable UML model into an OWL ontology, a second program instructions causing the processor to translate every package of the UML model by generating a name of a new OWL namespace in the machine-readable OWL representation associated with each translated package, and a third program instructions causing the processor to place a translated element associated with each translated package into a correct OWL namespace of the translated package.
In the previous embodiments, the present invention produces one ontology (one file) with several namespaces. Thus, an ontology corresponds to a UML model, and a UML package corresponds to a namespace. Elements are placed in namespaces within the ontology. In an alternative embodiment, the present invention produces several ontologies (several files), wherein each ontology has just one namespace for its elements. Thus, the UML model corresponds to a base ontology importing all created ontologies, and each UML package corresponds to one ontology. Elements are placed into the ontology (the file).
Thus, in another embodiment, the present invention is directed to a computer-implemented method of transforming a human-readable UML model having a plurality of packages into a machine-readable OWL representation having a plurality of OWL ontology documents for controlling network elements in a telecommunications network. The method includes the steps of translating utilizing a processor, the human-readable UML model into a machine-readable OWL ontology; translating utilizing the processor, every package of the UML model by generating for each UML package, a new OWL ontology document in the machine-readable OWL representation; and placing utilizing the processor, a translated element associated with each translated ontology into a correct ontology document. For each translated OWL ontology document, the processor creates a Uniform Resource Identifier (URI), an ontology, a file in which the ontology is written, and an ontology document for representing the file in the OWL domain.
In another embodiment, the present invention is directed to a computing system for transforming a human-readable UML model having a plurality of packages into a machine-readable OWL representation having a plurality of OWL ontology documents for controlling network elements in a telecommunications network. The computing system includes a processor and first, second, and third program instructions. The first program instructions cause the processor to translate the human-readable UML model into a machine-readable OWL ontology. The second program instructions cause the processor to translate every package of the UML model by generating for each UML package, a new OWL ontology document in the machine-readable OWL representation. For each OWL ontology document, the processor creates a URI, an ontology, a file in which the ontology is written, and an ontology document for representing the file in the OWL domain. The third program instructions cause the processor to place a translated element associated with each translated ontology into a correct ontology document.
In the following section, the invention will be described with reference to exemplary embodiments illustrated in the figures, in which:
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.
The present invention is a system and method for automatically mapping a human-readable UML model to a machine-readable OWL ontology representation. The present invention enables the transformed ontological representation of the UML model to retain all element membership, element naming across packages, and reflects correct sub-packaging. In a first exemplary embodiment, the present invention produces one ontology (one file) with several namespaces. Thus, an ontology corresponds to a UML model, and a UML package corresponds to a namespace. Elements are placed in namespaces within the ontology. In a second exemplary embodiment, the present invention produces several ontologies (several files), wherein each ontology has just one namespace for its elements. Thus, the UML model corresponds to a base ontology importing all created ontologies, and each UML package corresponds to one ontology. Elements are placed into the ontology (the file).
In OWL, the corresponding concepts are namespace and ontology. An OWL ontology is a formal specification of concepts in some area of interest similar to a UML Model. However, unlike UML, OWL is intended to be used when the information needs to be processed by applications. The OWL (XML) Namespace serves to avoid confusion in cases where there are elements from different modules placed in one physical document. Elements are placed in a namespace using an expanded name consisting of the namespace name and element local name, which avoids collisions when different software packages use the same element name or attribute. Thus, it can be seen semantically that a UML Model can be mapped into an OWL Ontology and a UML Package (which is specialization of UML Namespace) into an OWL Namespace.
To solve the issues presented above, the present invention extends and modifies the defined UML to OWL transformation in a way that maps the UML model into an OWL ontology and a UML package into OWL (XML) namespace. Specifically, in the present invention, every mapped element has an assigned extended name consisting of a namespace name and a local name.
In one embodiment of the present invention, the algorithm uses a logical language, such as an ATLAS Transformation Language (ATL) language for model to model transformation. In such languages, a transformation is executed using rules to translate every element (e.g., model translation rule, package translation rule) and principally these rules can be executed in parallel. However, the following algorithm, illustrated in
Referring now to
Next, in step 452, each package is translated by the CPU 204. The transformation of a UML package is similar to the UML model transformation. For every UML package, it is necessary to generate a name (i.e., a URI) for a new ontology (see 2.1 of
-
- http://www.tmforum.org/SID/ResourceDomain/StatisticsABE.
A file corresponding to this URI is created in the appropriate folder (see 2.2 ofFIG. 12 ), such as ./SID/ResourceDomain/StatisticsABE.owl. An OWL document 406 is then created to represent this file (see 2.3 ofFIG. 12 ). An ontology with this generated URI is created in the target file (see 2.4 ofFIG. 12 ) and assigned to the document. To solve the inter-package references, all UML packages whose elements are referenced from the current UML package (see 2.5 ofFIG. 12 ) are found and an import statement for each such UML package (see 2.6 ofFIG. 12 ) is added. Thus, the new ontology can access all referenced information.
- http://www.tmforum.org/SID/ResourceDomain/StatisticsABE.
Next, in step 454, the element is placed into the correct OWL file (e.g., file 408 in
The present invention provides a system and method of transforming UML models to OWL representations. However, the present invention may be utilized to transform any UML representation to any ontological language and still remain in the scope of the present invention.
The present invention provides several advantages over existing translation systems. Currently, there is a vast amount of domain models currently developed in UML and a mechanism for converting these models to a more interoperable and run-time usable format is a valuable asset. The present invention provides a system and method for UML to OWL transformation and makes it useable for complex models. The present invention enables translation of the initial SID document and, as an output, provides its ontological version, which can be processed by an application to provide reasoning and querying abilities. This automatic conversion aspect is a challenge in automated systems. The benefits for using semantic to enable Autonomic Network Management have been discussed earlier. However, there are other application areas where the present invention is effective. In order to offer zero touch management, it is important to offer information models that can be processed and understood by the management systems. Thus, a semantic version of the SID is imperative in areas such as Long Term Evolution/System Architecture Evolution (LTE/SAE) where such management approaches are sought. Therefore, the present invention is an enabler to added semantics and, thus, more open interfaces. An additional advantage of the present invention is the capability of transforming complex UML models and existing transformation engines, which is not possible in existing systems. The present invention enables the correct transformation from SID UML to the semantic OWL format of SID while preserving information. Information that was previously lost in existing systems is now maintained in the present invention. In the second embodiment described above, the present invention also conforms to the OMG's ODM standard specification for transforming UML to OWL. In addition, the present invention provides an automated process that removes the need for the already stated manual aspects of transformation as is necessary in existing system.
As will be recognized by those skilled in the art, the innovative concepts described in the present application can be modified and varied over a wide range of applications. Accordingly, the scope of patented subject matter should not be limited to any of the specific exemplary teachings discussed above, but is instead defined by the following claims.
Claims
1. A computer-implemented method of transforming a human-readable Unified Mark-Up Language (UML) model having a plurality of packages for design purposes into a machine-readable Web Ontology Language (OWL) representation having a plurality of OWL namespaces for controlling network elements in a telecommunications network, the method comprising the steps of:
- translating, utilizing a processor, the human-readable UML model into a machine-readable OWL ontology;
- translating, utilizing the processor, every package of the UML model by generating a name of a new OWL namespace in the machine-readable OWL representation associated with each translated package; and
- placing, utilizing the processor, a translated element associated with each translated package into a correct OWL namespace of the translated package.
2. The method according to claim 1, wherein the step of translating the UML model to an OWL ontology includes the step of generating an OWL Uniform Resource Identifier (URI) from a base URI and a name of the UML model.
3. The method according to claim 1, wherein the name of a new OWL namespace is an OWL Uniform Resource Identifier (URI).
4. The method according to claim 3, wherein the step of translating a package of the UML model by generating a name of a new OWL namespace in the OWL representation includes the steps of:
- creating the OWL URI in the OWL representation and assign the OWL URI to a namespace; and
- adding the OWL URI to a list of namespaces within the OWL representation.
5. The method according to claim 3, wherein the URI is a chain starting with a base URI and model name having a name of each embedded packages within the package from the root to the current package.
6. The method according to claim 1, wherein the step of placing a translated element of each translated package into a correct OWL namespace includes placing the translated element into the correct OWL namespace using an extended element name added by a namespace prefix and a local element name associated with the translated element.
7. A computing system for transforming a human-readable Unified Mark-Up Language (UML) model having a plurality of packages for design purposes into a machine-readable Web Ontology Language (OWL) representation having a plurality of OWL namespaces for controlling network elements in a telecommunications network, the computing system comprising:
- a processor;
- first program instructions causing the processor to translate the human-readable UML model into an OWL ontology;
- second program instructions causing the processor to translate every package of the UML model by generating a name of a new OWL namespace in the machine-readable OWL representation associated with each translated package; and
- third program instructions causing the processor to place a translated element associated with each translated package into a correct OWL namespace of the translated package.
8. The computing system according to claim 7, wherein the first program instructions include instructions that cause the processor to generate an OWL Uniform Resource Identifier (URI) from a UML model name and base URI of the UML model.
9. The computing system according to claim 7, wherein the name of a new OWL namespace is an OWL Uniform Resource Identifier (URI).
10. The computing system according to claim 9, wherein the second program instructions include instructions that cause the processor to create the OWL URI in the OWL representation and to assign the OWL URI to namespace and add the OWL URI to a list of namespaces within the OWL representation.
11. The computing system according to claim 9, wherein the URI is a chain starting with a base URI and model name having a name of each embedded packages within the package from the root to the current package.
12. The computing system according to claim 7, wherein the third program instructions include instructions that cause the processor to place the translated element into the correct OWL namespace using an extended element name added by a namespace prefix and a local element name associated with the translated element.
13. A computer-implemented method of transforming a human-readable Unified Mark-Up Language (UML) model having a plurality of packages into a machine-readable Web Ontology Language (OWL) representation having a plurality of OWL ontology documents for controlling network elements in a telecommunications network, the method comprising the steps of:
- translating utilizing a processor, the human-readable UML model into a machine-readable OWL ontology;
- translating utilizing the processor, every package of the UML model by generating for each UML package, a new OWL ontology document in the machine-readable OWL representation, wherein for each OWL ontology document, the processor creates: a Uniform Resource Identifier (URI); an ontology; a file in which the ontology is written; and an ontology document for representing the file in the OWL domain; and
- placing utilizing the processor, a translated element associated with each translated ontology into a correct ontology document.
14. The method according to claim 13, wherein the step of translating the UML model includes the steps of:
- generating a base ontology;
- creating a base file represented by a base document; and
- locating the base ontology in the base file.
15. The method according to claim 14, wherein:
- the step of generating a base ontology includes utilizing a base URI from a base URI and UML model name to generate the base ontology; and
- the step of locating the base ontology in the base file includes writing the base document and base ontology to the base file.
16. The method according to claim 14, further comprising the step of adding an import statement for every created ontology into the base ontology.
17. The method according to claim 13, wherein the name of a new OWL ontology includes the base URI and name of the UML model and all embedded packages associated with the translated ontology.
18. A computing system for transforming a human-readable Unified Mark-Up Language (UML) model having a plurality of packages into a machine-readable Web Ontology Language (OWL) representation having a plurality of OWL ontology documents for controlling network elements in a telecommunications network, the computing system comprising:
- a processor;
- first program instructions causing the processor to translate the human-readable UML model into a machine-readable OWL ontology;
- second program instructions causing the processor to translate every package of the UML model by generating for each UML package, a new OWL ontology document in the machine-readable OWL representation, wherein for each OWL ontology document, the processor creates: a Uniform Resource Identifier (URI); an ontology; a file in which the ontology is written; and an ontology document for representing the file in the OWL domain; and
- third program instructions causing the processor to place a translated element associated with each translated ontology into a correct ontology document.
19. The computing system according to claim 18, wherein the first program instructions include:
- instructions causing the processor to generate a base ontology;
- instructions causing the processor to create a base file represented by a base document; and
- instructions causing the processor to locate the base ontology in the base file.
20. The computing system according to claim 19, wherein:
- the instructions causing the processor to generate a base ontology cause the processor to utilize a base URI and UML model name to generate the base ontology; and
- the instructions causing the processor to locate the base ontology in the base file cause the processor to write the base document and base ontology to the base file.
21. The computing system according to claim 19, further comprising fourth program instructions causing the processor to add an import statement for every created ontology into the base ontology.
22. The computing system according to claim 18, wherein the name of a new OWL ontology includes the base URI and name of the UML model and all embedded packages associated with the translated ontology.
Type: Application
Filed: Jan 4, 2010
Publication Date: Jul 8, 2010
Inventors: Katarina Matusikova (Athlone), Karl Quinn (Dublin)
Application Number: 12/651,569
International Classification: G06F 9/45 (20060101);