Quelle est la différence entre OWL et UML dans le processus D'ingénierie logicielle?

Actuellement, je suis à essayer de comprendre, puis d'utiliser la CHOUETTE, puis d'utiliser UML pour décrire un domaine d'intérêt dans un processus d'Ingénierie Logicielle.

j'ai lu ce document par Atkinson, qui donne un très bon aperçu de la différence et des équalités de OWL et UML sur le plan sémantique et syntaxique.

cependant, il ne fournit pas une indication claire dans quels cas d'utilisation il pourrait être préférable D'utiliser OWL plutôt que - par exemple-une classe UML schéma électrique.

il se peut que ce soit le processus de développement sous-jacent, qui décide du langage de modélisation à adopter (par exemple, modèle-driven = go for UML, ontology-driven = go for OWL), mais pour moi, cette différence n'est-elle pas encore claire?

dans les deux langues, je peux construire une terminologie que je peux réutiliser en tant qu'ingénieur en ontologie afin d'en déduire de nouvelles connaissances. En tant qu'ingénieur logiciel, j'utilise cette terminologie pour la construction d'un système (unique).

la différence entre OWL et UML est-elle seulement le domaine d'étude? Ou Puis-je utiliser OWL pour décrire la construction de mon système logiciel (simple)?

en outre, cela soulève la question si la décision du type de langage de modélisation à choisir est seulement motivée par le but, ce que j'essaie d'accomplir?

10
demandé sur Adrian Mann 2015-09-23 12:59:36

6 réponses

Une réponse synthétique

en premier lieu, OWL but n'est pas la modélisation. L'utilisation d'une technique KR est une option dans le domaine de l'ingénierie logicielle. Il doit être distinct de tout processus d'ingénierie logicielle. Les deux langues ont des objectifs différents.

de bien sûr, vous [utilisation] de la CHOUETTE dans le but de décrire la construction de [logiciel]. Mais l'intérêt d'une telle déplacer principalement dans le raisonnement automatique sur votre logiciel de processus de construction et ne serait pas très utile dans le cadre d'un seul projet. Ceci ne serait efficace que si fait pour tous vos projets afin d'avoir unbase de connaissances (KB).

Une explication détaillée

Selon W3C wiki de la section à propos de la CHOUETTE:

le langage ontologique Web du W3C (OWL) est un langage Web sémantique conçu pour représenter des connaissances riches et complexes sur les choses, les groupes de choses et les relations entre les choses. OWL est un langage basé sur la logique de calcul tel que les connaissances exprimées dans OWL peuvent être exploitées par des programmes informatiques, par exemple, pour vérifier la cohérence de ces connaissances ou pour rendre les connaissances implicites explicites

Il n' devrait être un débat sur ce qu'est un langage de modélisation. Par exemple, le article de Wikipédia sur le sujet considère un sens large, qui pourrait également couvrir la CHOUETTE. Je considère ici modélisation terme uniquement l'activité d'ingénierie logicielle (qui est celle sur laquelle vous vous concentrez dans votre question).

Vous pourriez avoir besoin de modélisation, afin de définir des ontologies, tout comme vous auriez besoin pour le développement d'un projet logiciel. Mais ce modèle de chouette ne serait pas considérez les éléments d'ingénierie logicielle mais plutôt les données du domaine de votre projet. En d'autres termes, utiliser UML dans un processus de construction de logiciel vise à configurer des éléments logiciels. Avec OWL, vous ne vous concentrerez pas sur ces éléments, sauf si vous essayez un raisonnement automatisé sur la construction du logiciel.

A côté de cela, il existe une relation entre UML et OWL. note de Walter W. Change dans le cadre du W3C discute la question. Je voudrais résumer la question en considérant deux relations distinctes.

Utilisation d'UML pour représenter CHOUETTE connaissances

une spécification OMG appelée ODM (pour Ontologie Définition Métamodèle) fournit un métamodèle pour définir les ontologies. Dans le cadre de cette spécification, l'utilisation d'un profil UML est présenté comme un moyen de combler un écart entre les deux langues. Dans la spécification ODM 1.1, section 8.4.2:

l'objectif d'un profil UML du point de vue de L'ODM, il s'agit de jeter un pont entre les communautés UML et knowledge representation sur une base sémantique bien fondée, dans le but plus large de mettre en relation les logiciels et les méthodes de représentation de l'information.

l'utilisation du profil UML est introduite dans un article. Vous pouvez trouver un tel profil dans le ODM spécifications 1.0 ressources, en tant que document non normatif. Selon ce qui est ici considéré, ce UML profile pourrait être un outil pour modéliser les ontologies.

Utilisation de la CHOUETTE/technologies du Web Sémantique pour représenter UML

RDF est le format de base utilisé pour écrire les ontologies des hiboux.

Un début (2000) scolaire fournit un document RDF sémantique modélisant les éléments UML (basé sur la spécification OMG). Ce travail a précédé l' projet de travaux sur la CHOUETTE recommandation du W3C (2002).

8
répondu bdulac 2016-12-26 15:27:22

en fait OWL est disponible comme profil dans UML. Voir OMG specification. Vous pouvez donc utiliser UML avec profil de chouette dans"one soup".

5
répondu Thomas Kilian 2015-09-23 13:09:17

commençons par les définitions.

UML (Unified Modeling Language) est un usage général, de développement, le langage de modélisation dans le domaine du génie logiciel, qui est destinés à fournir un standard pour visualiser la conception d'un système. (Wikipédia)

UML a beaucoup de diagrammes, mais aucun des classiques n'est conçu pour la modélisation ontologique. Les chercheurs ont donc créé OWL dans ce but.

le langage ontologique Web du W3C (OWL) est un langage Web sémantique conçu pour représenter des connaissances riches et complexes sur les choses, les groupes des choses, et des relations entre les choses. (W3C)

comme L'a dit Thomas Kilian dans l'autre réponse:

HIBOU est disponible en tant que profil UML. Voir Spécification OMG. De sorte que vous pouvez utilisez UML avec profil de chouette dans"one soup".

par conséquent, OWL peut faire partie de L'ensemble de UML diagrammes utilisés dans un processus D'ingénierie logicielle. Le principal avantage de OWL par rapport aux diagrammes UML classiques est quand vous devez concevoir un système en utilisant des ontologies. Le but des diagrammes de classe est de représenter les classes, pas les ontologies. Si votre système ne repose pas sur l'ontologie, suivez les diagrammes UML classiques; vous n'avez pas besoin de OWL. Si votre système utilise l'ontologie et que vous devez la représenter sur un diagramme, utilisez OWL.

4
répondu darlinton 2015-09-23 14:08:28

OWL est utilisé pour décrire un domaine et pour être en mesure de spécifier, en utilisant la sémantique, la connaissance d'un domaine ainsi que de décrire ses spécificités. Prenez par exemple le ami D'un ami ontologie. En l'utilisant, vous pouvez décrire comment les gens sont en relation les uns avec les autres.

vous pourriez dire que vous pouvez faire la même chose en utilisant UML et vous avez raison. Vous pouvez spécifier des propriétés, des relations, et ainsi de suite, en utilisant OWL aussi bien que UML. Cependant, ce que vous ne pouvez pas faire avec UML est infer les connaissances du domaine. OWL, étant un langage Web sémantique, modélise un domaine avec une hypothèse de monde ouvert ou fermé. Fondamentalement, vous supposez des connaissances basées sur ce qui est décrit dans le domaine. Ensuite, vous pouvez utiliser des instructions spécifiques pour inférer des connaissances en utilisant des règles ou tout simplement regarder des prédicats et des énoncés que vous avez créés. En outre, vous pouvez utiliser des langages de requête spécifiques tels que SPARQL pour interroger votre ontologie autant de la même manière que vous utiliseriez SQL pour interroger un la base de données.

TL; DR: en utilisant UML vous spécifiez comment vous traduiriez un domaine spécifique en logiciel, en utilisant OWL vous spécifiez la connaissance du domaine car il est beaucoup plus riche que UML.

2
répondu Eric 2015-09-24 21:08:34

Pour modifier les références de UML et de la CHOUETTE de comparaison il y a une thèse de Doctorat (en allemand) de Jesper Zedlitz Konzeptuelle Modellierung mit UML und OWL-Untersuchung der Gemeinsamkeiten und Unterschiede mit Hilfe von Modelltransformationen (Conceptuelle de la Modélisation avec UML et OWL - Explorer les Similitudes et les Différences à l'Aide de Transformations de modèles)

dans cette thèse étudie si et dans quelle mesure il est possible de tranformer entre les deux langues de modélisation. Dans la conclusion (p. 222) Il est dit que OWL a la possibilité de faire une modélisation plus complexe et qu'il n'est donc pas toujours possible de passer de OWL à UML.

2
répondu milbrandt 2018-04-08 17:12:34

l'importance et les avantages de cartographier l'ontologie du domaine au modèle UML sont dans l'intégration des avantages et de la qualité que ces deux techniques de modélisation fournissent. C'est-à-dire, s'il existe déjà des ontologies de domaines avec un certain niveau d'autorité, ces bases de connaissances peuvent aider à la création de diagrammes de classe UML, comme les garanties axiomatiques fournies par la logique de description qui la Construit, en plus de permettre la puissance UML des inférences fournies par ce formalisme, avec le la transformation vise à démontrer que la réutilisation de l'ontologie peut aider à réduire l'ambiguïté dans les diagrammes de classe.

-2
répondu Mayconexa Ribeiro 2017-01-16 18:30:11