2015-09-23 2 views
9

В настоящее время я пытаюсь выяснить, затем использовать OWL, а затем использовать UML для описания домена, представляющего интерес в процессе разработки программного обеспечения.В чем разница между OWL и UML в процессе разработки программного обеспечения

Я читал this paper by Atkinson, что дает очень хороший обзор различий и равенств OWL и UML на семантическом и синтаксическом уровне.

Однако он не дает четкого указания, в котором в случаях использования лучше использовать OWL вместо, например, диаграммы классов UML.

Это может быть процесс разработки подкладок, который решает язык моделирования (например, model-driven = go для UML, ontology-driven = go для OWL), но для меня это различие все еще неясно?

На обоих языках я могу создать терминологию, которую я - как инженер онтологии - может повторно использовать, чтобы вывести из нее новые знания. Будучи инженером-программистом, я использую эту терминологию для построения (единой) системы.

В чем разница между OWL и UML только в области обучения? Или я мог бы использовать OWL для описания построения моей (единой) программной системы?

Кроме того, возникает вопрос, может ли решение выбрать язык моделирования для определения только цели, которую я пытаюсь выполнить?

ответ

9

Синтетический ответ

  • UML является (графический) язык для моделирования
  • OWL является язык, используемый для knowledge representation (КР) в смысловой перспективе

В первом место, цель OWL - не моделирование. Использование технологии KR является опцией в области разработки программного обеспечения. Он должен отличаться от любого процесса разработки программного обеспечения. Оба языка имеют разные цели.

Конечно, вы могли [использовать] OWL, чтобы описать конструкцию [программной системы]. Но интерес такого шага в основном будет заключаться в автоматическом анализе процесса создания вашего программного обеспечения и не будет очень полезен в контексте одного проекта. Это было бы эффективно только в том случае, если оно было выполнено для всех ваших проектов, чтобы иметь следующий результат: knowledge base (KB).

Подробное объяснение

Согласно W3C wiki section about OWL:

В W3C Web Онтология языка (OWL) является Semantic Web язык, предназначенный для представления богатого и сложного знания о вещах, группы вещей , и отношения между вещами. OWL является вычислительной логикой на основе языка таким образом, что знание выражается в OWL может быть использовано с помощью компьютерных программ, например, для проверки соответствия этих знаний или сделать неявное знание явных

Там должен быть некоторыми дебаты о том, что язык моделирования. Например, Wikipedia article on the topic рассматривает широкий смысл, который также может охватывать OWL. Я рассматриваю здесь с модель термин только деятельность по разработке программного обеспечения (на которую вы фокусируетесь в своем вопросе).

Возможно, вам понадобится моделирование для определения онтологий, как и для разработки программного проекта. Но это моделирование OWL не учитывало бы элементы программного обеспечения, а скорее данные домена вашего проекта. Другими словами, использование UML в процессе создания программного обеспечения направлено на установку элементов программного обеспечения.С OWL вы не будете фокусироваться на этих элементах, если только вы не пытаетесь автоматизировать рассуждения о создании программного обеспечения.

Взаимосвязь между UML и OWL. A note by Walter W. Change в кадре W3C обсуждает вопрос. Я бы обобщил вопрос, рассматривающий два разных отношения.

Использование UML для представления OWL знаниями

OMG спецификация называется ODM (для онтологий Определение метамодели) обеспечивает метамодель для определения онтологий. В рамках этой спецификации использование UML-профиля вводится как способ преодоления разрыва между обоими языками. В ODM 1,1 спецификации, раздел 8.4.2:

Цель профиля UML с точки зрения ODM является создание моста между UML и представления знаний общин на хорошо заземленной семантической основе, с более широкая цель связать программное обеспечение и логические подходы к представлению информации.

Использование профиля UML представлено в an article. Вы можете найти такой профиль в ODM 1.0 specification resources, как ненормативный документ. Согласно тому, что здесь рассматривается, этот профиль UML может быть инструментом моделирования онтологий.

Использование OWL/Semantic Web технологии представления UML

RDF является основой формат, используемый для записи OWL онтологий.

В начале (2000) academic work представлен семантический документ RDF, моделирующий элементы UML (на основе спецификации OMG). Эта работа предшествовала draft works on the OWL W3C recommendation (2002).

4

Фактически OWL доступен в виде профиля в UML. См. OMG specfication. Таким образом, вы можете использовать UML с профилем OWL в «одном супе».

+0

Спасибо за ваш ответ - это была весьма полезная информация! Хорошо, я могу их смешивать. Однако все еще остается неясным, почему я должен смешивать оба языка в процессе SE? Есть ли какая-то польза? Я думаю, смешивая их в «одном супе», результат станет очень сложным ... – rzo

+0

№. Вы можете описать вещи высокого уровня в OWL и там, где это необходимо, вы можете перейти на UML. –

+0

Я предполагаю, что ваш центральный вопрос такой же, как «Могу ли я говорить слова Гете на французском языке» или «Могу ли я сказать слова Руссо на немецком языке». Гете однажды сказал. «Они [французы] переводят все на свой родной язык, и с тех пор он имеет свое совершенно иное значение». –

4

Начнем с определений.

Unified Modeling Language (UML) является универсальным, развивающий, язык моделирования в области разработки программного обеспечения, что призвана обеспечить стандартный способ визуализировать конструкцию системы . (Wikipedia)

UML имеет много диаграмм, но ни одна из классиков не предназначена для онтологического моделирования. Поэтому исследователи создали OWL с этой целью.

В W3C Web Онтология языка (OWL) является Semantic Web язык предназначен для представления богатого и сложного знания о вещах, групп вещей и отношений между вещами. (W3C)

Такие, как сказал Томас Kilian в другой ответ:

OWL доступен как профиль в UML. См. Спецификацию OMG. Таким образом, вы можете использовать UML с профилем OWL в «одном супе».

Следовательно, OWL может быть частью набора диаграмм UML, используемых в процессе разработки программного обеспечения. Основное преимущество OWL над классическими диаграммами UML - это когда вы должны проектировать систему с использованием онтологий. Цель диаграмм классов - представлять классы, а не онтологии. Если ваша система не полагается на онтологию, придерживайтесь классических диаграмм UML; вам не нужно OWL. Если ваша система использует онтологию, и вам нужно представить ее на диаграмме, используйте OWL.

2

OWL используется для описания домена и для конкретного использования семантики, определения знаний о домене, а также описания его особенностей. Возьмем, к примеру, онтологию Friend of a Friend. Используя его, вы можете описать, как люди относятся друг к другу.

Вы можете сказать, что вы можете сделать то же самое, используя UML, и вы правы. Вы можете указать свойства, отношения и т. Д., Используя OWL, а также UML. Тем не менее, то, что вы не можете сделать с UML, - это знание домена. OWL, являясь семантическим веб-языком, моделирует домен с допуском Open или Closed World. В основном вы принимаете знания, основанные на том, что описано в домене. Затем вы можете использовать определенные инструкции для вывода знаний с использованием правил или просто взглянуть на предикаты и заявления, которые вы создали. Кроме того, вы можете использовать определенные языки запросов, такие как SPARQL, для того, чтобы запросить свою онтологию так же, как и использовать SQL для запроса базы данных.

TL; DR: Используя UML, вы указываете, как вы переводили бы определенный домен в программное обеспечение, используя OWL, вы указываете знания о домене, поскольку он намного богаче UML.

-2

Важность и преимущества сопоставления онтологии домена с моделью UML заключаются в интеграции преимуществ и качества, обеспечиваемых этими двумя методами моделирования. То есть, если уже существуют онтологии домена с определенным уровнем авторитета, эти базы знаний могут помочь в создании диаграмм классов UML, таких как аксиоматические гарантии, предоставляемые логикой описания, которая ее строит, кроме того, что позволяет использовать UML-возможности выводов по этому формализму, с преобразованием призвано показать доказательства того, что повторное использование онтологии может помочь уменьшить двусмысленность в диаграммах классов.