What is the difference between OWL and UML in the Software Engineering Process
Asked Answered
C

7

16

Currently i am trying to figure out, then to use OWL and then to use UML to describe a domain of interest in a Software Engineering process.

I read this paper by Atkinson, which gives a very good overview about the difference and the equalities of OWL and UML on a semantic and a syntactic level.

However it does not provide a clear indication in which use-cases it might be better to use OWL instead of - for example - an UML class diagramm.

It might be the underlaying development process, which decides the modelling language to take (e.g. model-driven = go for UML, ontology-driven = go for OWL) but for myself it is this difference still not clear?

In both language I can build up a terminology, which I - as an ontology engineer - can reuse in order to infer new knowledge from it. As an Software Engineer I use this terminology for the construction of a (single) system.

So is the difference between OWL and UML just the field of study? Or could I use OWL in order to describe the construction of my (single) software system?

Moreover, this raises the question if the decision of which kind of modelling language to choose is only driven by the goal, which I try to accomplish?

Continuation answered 23/9, 2015 at 9:59 Comment(0)
D
13

A synthetic answer

  • UML is a (graphical) language for modeling
  • OWL is a language used for knowledge representation (KR) in a semantic perspective

In the first place, OWL purpose is not modeling. Using a KR technique is an option in the field of software engineering. It should be distinct from any software engineering process. Both languages have different purposes.

Of course, you could [use] OWL in order to describe the construction of [a software system]. But the interest of such a move would mainly be in automated reasoning about your software construction process and would not be very helpful in the context of a single project. This would only be effective if done for all your projects in order to have a consequent knowledge base (KB).

A detailed explanation

According to the W3C wiki section about OWL:

The W3C Web Ontology Language (OWL) is a Semantic Web language designed to represent rich and complex knowledge about things, groups of things, and relations between things. OWL is a computational logic-based language such that knowledge expressed in OWL can be exploited by computer programs, e.g., to verify the consistency of that knowledge or to make implicit knowledge explicit

There should be some debate about what is a modeling language. For example, the Wikipedia article on the topic considers a broad sense which could also cover OWL. I consider here with the modeling term only the software engineering activity (which is the one you focus on in your question).

You might need modeling in order to define ontologies, just like you would need for the development of a software project. But this OWL modeling would not consider the software engineering elements but rather the domain data of your project. In other words, using UML in a software construction process aims to setup software elements. With OWL, you would not focus on these elements, unless you are trying automated reasoning about software construction.

Beside this, a relationship exists between UML and OWL. A note by Walter W. Change in the frame of the W3C discusses the question. I would summarize the question considering two distinct relations.

Using UML to represent OWL knowledge

An OMG specification called ODM (for Ontology Definition Metamodel) provides a metamodel for defining ontologies. In the frame of this specification, the use of an UML profile is introduced as a way to bridge a gap between both languages. In the ODM 1.1 specification, section 8.4.2:

The goal of a UML profile from the ODM perspective is to provide a bridge between the UML and knowledge representation communities on a well-grounded, semantic basis, with a broader goal of relating software and logical approaches to representing information.

The UML profile use is introduced in an article. You might find such a profile in the ODM 1.0 specification resources, as a non-normative document. According to what is here considered, this UML profile might be a tool for modeling ontologies.

Using OWL/Semantic Web technologies to represent UML

RDF is the basis format used to write OWL ontologies.

An early (2000) academic work provides a semantic RDF document modeling the UML elements (based on the OMG specification). This work preceded the draft works on the OWL W3C recommendation (2002).

Deflexed answered 1/10, 2015 at 7:47 Comment(0)
P
6

Actually OWL is available as profile in UML. See OMG specfication. So you can use UML with OWL profile in "one soup".

Pederson answered 23/9, 2015 at 13:9 Comment(3)
Thanks for your answer - that was a quite useful information! Ok, i can mix them up. However it still remains unclear, why I should mix both languages in the SE process? Is there some kind of benefit? I think mixing them in "one soup" the result wil become very complex...Continuation
No. You can describe high level things in OWL and where needed you can step down to UML.Pederson
I guess your central question is the same as "Can I say Goethe's words in French" or "Can I say Rousseau's words in German". Goethe once said. "They [the French] translate everything into their own language and from then on it has its own completely different meaning".Pederson
J
4

Let's start with the definitions.

Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system. (Wikipedia)

UML has many diagrams, but none of the classics is designed for ontology modelling. Therefore, researchers have created OWL with this purpose.

The W3C Web Ontology Language (OWL) is a Semantic Web language designed to represent rich and complex knowledge about things, groups of things, and relations between things. (W3C)

Such as said by Thomas Kilian in the other answer:

OWL is available as profile in UML. See OMG specfication. So you can use UML with OWL profile in "one soup".

Therefore, OWL can be part of the set of UML diagrams used in a Software Engineering Process. The main benefit of OWL over classic UML diagrams is when you have to design a system using ontologies. The purpose of class diagrams is to represent classes, not ontologies. If your system does not rely on ontology, stick with the classic UML diagrams; you do not need OWL. If your system uses ontology and you need to represent it on a diagram, use OWL.

Judaica answered 23/9, 2015 at 14:8 Comment(0)
C
4

OWL is used to describe a domain and to be able to specifically, using semantics, specify knowledge of a domain as well as describe its specificities. Take for example the Friend of a Friend ontology. Using it you can describe how people relate to each other.

You might say that you can do the same thing using UML and you are correct. You can specify properties, relations, and so on, using OWL as well as UML. However, what you can't do with UML is infer domain knowledge. OWL, being a Semantic Web language, models a domain with either an Open or Closed World assumption. Basically you assume knowledge based on what is described in the domain. Then you can use specific instructions to infer knowledge using Rules or just be looking at predicates and statements you have created. Furthermore, you can use specific query languages such as SPARQL to query your ontology as much in the same way you would use SQL to query a database.

TL;DR: Using UML you specify how you would translate a specific domain into software, using OWL you specify knowledge about the domain as it is much richer than UML.

Calamondin answered 24/9, 2015 at 21:8 Comment(0)
S
4

To amend the references of UML and OWL comparison there is a PhD thesis (in German) from Jesper Zedlitz Konzeptuelle Modellierung mit UML und OWL – Untersuchung der Gemeinsamkeiten und Unterschiede mit Hilfe von Modelltransformationen (Conceptual Modeling with UML and OWL - Exploring the Similarities and Differences Using Model Transformations)

In this thesis studies if and in which extend it is possible to tranform between both modelling languages. In the conclusion (p. 222) it is stated that OWL has possibilities to do more complex modelling and therefore it is not always possible to transform from OWL to UML.

Scutch answered 8/4, 2018 at 17:12 Comment(0)
E
1

Actually from my work on ontologies in the previous time I see using ontology tools like Protege is very helpful and rich in describing relations between entities and using Tools like OLGA can help you in mapping this ontology to many object oriented language.

Yes, we haven't the capabilities of using graphical representations to design our models like UML but it provides a wide range of options to describe you model.

Establishmentarian answered 9/11, 2018 at 16:4 Comment(0)
O
-1

The importance and benefits of mapping the domain ontology to the UML model are in integrating the benefits and quality that these two modeling techniques provide. That is, if there are already domain ontologies with a certain level of authority, these knowledge bases can help in the creation of UML class diagrams, such as the axiomatic guarantees provided by the description logic that builds it, besides enabling UML power of inferences Provided by this formalism, with the transformation is intended to show the evidence that reuse of ontology can help to reduce ambiguity in class diagrams.

Orthodox answered 16/1, 2017 at 18:30 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.