2015-09-23 18 views
9

Derzeit versuche ich herauszufinden, dann OWL zu verwenden und dann UML verwenden, um eine Domäne von Interesse in einem Software Engineering-Prozess zu beschreiben.Was ist der Unterschied zwischen OWL und UML in der Software Engineering Prozess

Ich lese this paper by Atkinson, die einen sehr guten Überblick über den Unterschied und die Gleichheiten von OWL und UML auf einer semantischen und einer syntaktischen Ebene gibt.

Es gibt jedoch keinen klaren Hinweis, in welchen Anwendungsfällen es besser sein könnte, OWL zu verwenden, als beispielsweise ein UML-Klassendiagramm.

Es könnte der zugrunde liegende Entwicklungsprozess sein, der die Modellierungssprache entscheidet (z. B. modellgesteuert = für UML, ontologieorientiert = für OWL), aber für mich ist dieser Unterschied noch nicht klar?

In beiden Sprachen kann ich eine Terminologie aufbauen, die ich - als Ontologie-Ingenieur - wiederverwenden kann, um daraus neues Wissen abzuleiten. Als Software Engineer verwende ich diese Terminologie für die Konstruktion eines (einzelnen) Systems.

So ist der Unterschied zwischen OWL und UML nur das Studienfach? Oder könnte ich OWL verwenden, um den Aufbau meines (einzelnen) Softwaresystems zu beschreiben?

Darüber hinaus wirft dies die Frage auf, ob die Entscheidung, welche Art von Modellierungssprache zu wählen ist, nur von dem Ziel bestimmt wird, das ich zu erreichen versuche?

Antwort

9

Synthetisches Antwort

  • UML ist eine (graphische) Sprache zur Modellierung
  • OWL eine Sprache für knowledge representation (KR) in einer semantischen Perspektive

Im ersten verwendeten Ort, OWL Zweck ist nicht Modellierung. Die Verwendung einer KR-Technik ist eine Option auf dem Gebiet der Softwareentwicklung. Es sollte sich von jedem Softwareentwicklungsprozess unterscheiden. Beide Sprachen haben unterschiedliche Zwecke.

Natürlich könnten Sie OWL [verwenden], um den Aufbau [eines Softwaresystems] zu beschreiben. Das Interesse eines solchen Schritts liegt jedoch hauptsächlich in der automatisierten Argumentation über Ihren Softwarebauprozess und wäre im Kontext eines einzelnen Projekts nicht sehr hilfreich. Dies wäre nur dann effektiv, wenn es für alle Ihre Projekte durchgeführt wird, um eine Konsequenz zu haben knowledge base (KB).

Eine detaillierte Erklärung

bis Nach dem W3C wiki section about OWL:

Das W3C Web Ontology Language (OWL) ist eine Semantic Web Sprache entwickelt, um reiches und komplexes Wissen über Dinge, Gruppen der Dinge darstellen und Beziehungen zwischen Dingen. OWL ist eine rechnerische Logik-basierte Sprache, so dass Wissen in OWL ausgedrückt kann durch Computerprogramme genutzt werden, beispielsweise die Konsistenz dieses Wissens zu verifizieren oder implizites Wissen explizit

Es soll einige Diskussionen darüber zu machen, was ist eine Modellierungssprache. Zum Beispiel berücksichtigt die Wikipedia article on the topic einen weiten Sinn, der auch OWL abdecken könnte. Ich betrachte hier mit der Modellierung Begriff nur die Software-Engineering-Aktivität (auf die Sie in Ihrer Frage konzentrieren).

Möglicherweise müssen Sie modellieren, um Ontologien zu definieren, genau wie Sie es für die Entwicklung eines Softwareprojekts benötigen würden. Diese OWL-Modellierung berücksichtigt jedoch nicht die Software-Engineering-Elemente, sondern die Domain-Daten Ihres Projekts. Mit anderen Worten, die Verwendung von UML in einem Softwarebauprozess zielt darauf ab, Softwareelemente einzurichten.Mit OWL würden Sie sich nicht auf diese Elemente konzentrieren, es sei denn, Sie versuchen automatisierte Argumentation über die Software-Konstruktion.

Daneben besteht eine Beziehung zwischen UML und OWL. Eine note by Walter W. Change im Rahmen des W3C diskutiert die Frage. Ich würde die Frage unter Berücksichtigung von zwei verschiedenen Beziehungen zusammenfassen.

UML Verwendung zu OWL Wissen

Eine OMG-Spezifikation namens ODM (für Ontology Definition Metamodel) ein Metamodell zum Definieren Ontologien darstellen. Im Rahmen dieser Spezifikation wird die Verwendung eines UML-Profils eingeführt, um eine Lücke zwischen beiden Sprachen zu überbrücken. In der Spezifikation 1.1 ODM, Abschnitt 8.4.2:

Das Ziel eines UML-Profil aus der ODM Perspektive ist es, eine Brücke zwischen den UML und Wissensdarstellung Gemeinschaften auf einer fundierten, semantische Basis bereitzustellen, mit einer breiteres Ziel der Verknüpfung von Software und logischen Ansätze zur Darstellung von Informationen.

Die UML-Profilverwendung wird in an article eingeführt. Sie könnten ein solches Profil in der ODM 1.0 specification resources finden, als ein nicht-normatives Dokument. Nach dem, was hier betrachtet wird, könnte dieses UML-Profil ein Werkzeug zur Modellierung von Ontologien sein.

Mit OWL/Semantic Web Technologien UML

RDF darzustellen, ist die Basis-Format verwendet, um OWL-Ontologien zu schreiben.

Ein früher (2000) academic work stellt ein semantisches RDF-Dokument zur Verfügung, das die UML-Elemente modelliert (basierend auf der OMG-Spezifikation). Diese Arbeit ging der draft works on the OWL W3C recommendation (2002) voraus.

4

Eigentlich ist OWL als Profil in UML verfügbar. Siehe OMG specfication. So können Sie UML mit OWL-Profil in "einer Suppe" verwenden.

+0

Danke für Ihre Antwort - das war eine sehr nützliche Information! Ok, ich kann sie mischen. Es bleibt jedoch unklar, warum ich beide Sprachen im SE-Prozess mischen soll. Gibt es eine Art von Vorteil? Ich denke, mischen sie in "einer Suppe" das Ergebnis wird sehr komplex ... – rzo

+0

Nein. Sie können High-Level-Dinge in OWL beschreiben und wo erforderlich, können Sie auf UML. –

+0

Ich denke, Ihre zentrale Frage ist die gleiche wie "Kann ich Goethes Worte auf Französisch sagen" oder "Kann ich Rousseaus Worte auf Deutsch sagen". Goethe hat es einmal gesagt. "Sie [die Franzosen] übersetzen alles in ihre eigene Sprache und haben von da an eine ganz andere Bedeutung". –

4

Beginnen wir mit den Definitionen.

Unified Modeling Language (UML) ist ein Allzweck-, Entwicklungs-, Modellierungssprache auf dem Gebiet der Software-Entwicklung, dass ist beabsichtigt, einen Standard für die Konstruktion eines System zu visualisieren. (Wikipedia)

UML hat viele Diagramme, aber keiner der Klassiker ist für die Ontologie Modellierung konzipiert. Daher haben Forscher mit diesem Zweck OWL erstellt.

Das W3C Web Ontology Language (OWL) ist eine Semantic Web Sprache entwickelt, um reiches und komplexes Wissen über Dinge, Gruppen der Dinge und Beziehungen zwischen den Dingen darstellen. (W3C)

Wie in der anderen Antwort von Thomas Kilian sagt:

OWL als Profil in UML zur Verfügung steht. Siehe OMG Spezifikation. So können Sie UML mit OWL-Profil in "einer Suppe" verwenden.

Daher kann OWL Teil des Satzes von UML-Diagrammen sein, die in einem Softwareentwicklungsprozess verwendet werden. Der Hauptvorteil von OWL gegenüber klassischen UML-Diagrammen besteht darin, dass Sie ein System mit Ontologien entwerfen müssen. Der Zweck von Klassendiagrammen besteht darin, Klassen und nicht Ontologien darzustellen. Wenn Ihr System nicht auf Ontologie angewiesen ist, bleiben Sie bei den klassischen UML-Diagrammen. Sie brauchen keine OWL. Wenn Ihr System Ontologie verwendet und Sie es in einem Diagramm darstellen müssen, verwenden Sie OWL.

2

OWL wird verwendet, um eine Domäne zu beschreiben und in der Lage zu sein, mithilfe einer Semantik das Wissen über eine Domäne genau anzugeben und ihre Spezifitäten zu beschreiben. Nehmen Sie zum Beispiel die Friend of a Friend Ontologie. Mit ihm können Sie beschreiben, wie Menschen miteinander umgehen.

Sie könnten sagen, dass Sie das gleiche mit UML tun können, und Sie sind richtig. Sie können Eigenschaften, Beziehungen usw. angeben, sowohl mit OWL als auch mit UML. Was Sie jedoch mit UML nicht tun können, ist das Wissen über die Domäne. OWL, eine Semantic Web-Sprache, modelliert eine Domäne mit einer Offen- oder Geschlossenen-Welt-Annahme. Grundsätzlich setzen Sie Wissen voraus, das auf dem in der Domain beschriebenen basiert. Dann können Sie bestimmte Anweisungen verwenden, um Wissen mithilfe von Regeln abzuleiten, oder Sie können nur von Ihnen erstellte Prädikate und Anweisungen betrachten. Darüber hinaus können Sie spezifische Abfragesprachen wie SPARQL verwenden, um Ihre Ontologie genauso abzufragen, wie Sie SQL zum Abfragen einer Datenbank verwenden würden.

TL; DR: Mit UML geben Sie an, wie Sie eine bestimmte Domäne in Software umwandeln möchten. Mit OWL geben Sie Wissen über die Domäne an, da es viel reicher ist als UML.

-2

Die Bedeutung und die Vorteile der Abbildung der Domänenontologie auf das UML-Modell liegen in der Integration der Vorteile und der Qualität, die diese beiden Modellierungstechniken bieten. Das heißt, wenn es bereits Domänenontologien mit einer bestimmten Autoritätsebene gibt, können diese Wissensbasen bei der Erstellung von UML-Klassendiagrammen helfen, wie z. B. die axiomatischen Garantien, die von der sie aufbauenden Beschreibungslogik bereitgestellt werden, und zusätzlich UML-Inferenzleistung ermöglichen Durch diesen Formalismus soll die Transformation zeigen, dass die Wiederverwendung von Ontologie dazu beitragen kann, Mehrdeutigkeiten in Klassendiagrammen zu reduzieren.