23 августа

Методология IDEF5. Графический язык

Хранение данных
Из песочницы

Вступление


Данная статья предназначена для тех, кто знаком с таким понятием как онтология хотя бы на начальном уровне. Если Вы не знакомы с онтологиями, то, скорее всего, Вам будет не ясна цель онтологий и данной статьи в частности. Советую ознакомиться с данным явлением, прежде чем начать чтение данной статьи (возможно хватит даже статьи с Википедии).

Итак Онтология — это детальная характеристика некой рассматриваемой предметной области. Такая характеристика должна быть дана на каком-либо четко сформулированном языке. Для описания онтологий можно использовать методологию IDEF5, которая имеет в своем арсенале 2 языка:

  • Схематический язык IDEF5. Этот язык является визуальным и использует графические элементы.
  • Текстовый язык IDEF5. Этот язык представляется в виде структурированного текста.

В данной статье будет рассмотрен первый вариант — схематический язык. О текстовом поговорим в следующих статьях.

Объекты


В схематическом языке, как уже было сказано, используются графические элементы. Для начала следует рассмотреть основные элементы данного языка.

Зачастую, в онтологии используются как обобщенные сущности, так и конкретные объекты. Обобщенные сущности называются видами. Изображаются они в виде окружности с меткой (названием объекта) внутри:

image

Виды представляют собой совокупность отдельных экземпляров данного вида. То есть такой вид как «Автомобили» может представлять целую совокупность отдельно взятых автомобилей.
В качестве экземпляров такого вида могут выступать конкретные автомобили, либо отдельные виды техники, либо отдельные марки. Всё зависит от контекста, предметной области и ее уровня детализации. Например, для автомастерской важны будут конкретные автомобили как физические сущности. Для ведения некой статистики по продажам в автосалоне будут важны конкретные модели и т.д.

Отдельные экземпляры видов обозначаются аналогично самим видам, только обозначаются точкой в нижней части окружности:



Также в рамках обсуждения объектов стоит упомянуть такие объекты как процессы.

Если виды и экземпляры — это, так называемые, статические объекты (не изменяющиеся во времени), то процессы являются динамическими объектами. Это значит, что данные объекты существуют в некий строго определенный промежуток времени.

Например, можно выделить такой объект как процесс изготовления автомобиля (раз уж речь пошла о них). Интуитивно понятно, что данный объект существует только во время непосредственно изготовления этого самого автомобиля (строго определенный промежуток времени). Стоит иметь в виду, что данное определение условно, ибо такие объекты как автомобиль также имеют свой срок службы, срок годности, существования и т.п. Однако не будем вдаваться в философию и в рамках большинства предметных областей можно принять, что экземпляры, а уж тем более виды существуют вечно.

Процессы изображаются в виде прямоугольника с меткой (наименованием) процесса:



Процессы используются в схемах перехода одних объектов в другие. Подробнее об этом будет рассказано далее.

Помимо процессов, в таких схемах используются логические операторы. Тут все достаточно просто для тех, кто знаком с предикатами, булевой алгеброй или программированием. В IDEF5 используются три основных логических оператора:

  • логическое И (AND);
  • логическое ИЛИ (OR);
  • исключающее ИЛИ (XOR).

В стандарте IDEF5 (http://idef.ru/documents/Idef5.pdf — большинство информации из данного источника) определено изображение логических операторов в виде малых окружностей (по сравнению с видами и экземплярами) с меткой в виде символов. Однако в разрабатываемой графической среде IDEF5 мы отошли от данного правила по многим причинам. Одна из них — сложная идентификация этих операторов. Поэтому мы используем текстовое обозначение операторов с идентификационным номером:



Пожалуй на этом с объектами закончим.

Отношения


Между объектами существуют отношения, которые в онтологии означают правила, которые определяют взаимодействие между объектами и из которых получаются новые выводы.

Обычно, отношения определяются типом схемы, используемой в онтологии. Схема — это совокупность объектов онтологии и отношений между ними. Различают следующие основные виды схем:

  1. Схемы композиции.
  2. Схемы классификации.
  3. Схемы переходов.
  4. Функциональные схемы.
  5. Комбинированные схемы.

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

Ну а теперь по порядку о каждой из видов схем.

Схемы композиции


Данный тип схем используется для представления состава какого-либо объекта, системы, структуры и т.д. Типичный пример — детали автомобиля. В самом укрупненном составе, автомобиль состоит из кузова и трансмиссии. В свою очередь, кузов делится на раму, двери и прочие детали. Такую декомпозицию можно продолжать дальше — все зависит от необходимого уровня детализации в данной конкретной задаче. Пример такой схемы:

Отношения композиции отображаются в виде стрелки с наконечником на конце (в отличии, например, от отношения классификации, где наконечник в начале стрелки, подробнее далее). Такие отношения могут быть подписаны меткой как на рисунке (часть).

Схемы классификации


Схемы классификации призваны выражать определение видов, их подвидов и экземпляры видов. Например, автомобили могут быть легковыми и грузовыми. То есть вид «Автомобиль» имеет два подвида. ВАЗ-2110 — конкретный экземпляр подвида «Легковой автомобиль», а ГАЗ-3307 — экземпляр подвида «Грузовой автомобиль»:



Отношения в схемах классификации (подвид или конкретный экземпляр) имеют вид стрелки с наконечником в начале и, также как и в случае со схемами композиции, могут иметь метку с наименованием отношения.

Схемы переходов


Схемы такого типа необходимы для отображения процессов перехода объектов из одного состояния в другое под воздействием некого процесса. Например, после процесса покраски красной краской черный автомобиль становится красным:



Отношение перехода обозначается стрелкой с наконечником в конце и с кружком в центре. Как видно из схемы, процессы относятся к отношениям, а не к объектам.

Помимо обыкновенного перехода, представленного на рисунке, существует строгий переход. Он используется в тех случаях, если переход в данной ситуации не очевиден, однако нам важно его подчеркнуть. Например, монтаж зеркала заднего вида на автомобиль не является значительной операцией если рассматривать процесс сборки автомобиля глобально. Однако в некоторых случаях необходимо выделить данную операцию:



Строгий переход обозначается аналогично обычному переходу, за исключением двойного наконечника на конце.

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



В примере представлен строгий переход, однако можно использовать и обычный переход как мгновенный.

Функциональные схемы


Такие схемы используются для указания структуры взаимодействия между объектами. Например, автомеханик проводит техобслуживание автомобилей, а менеджер автосервиса принимает заявки на ремонт и передает их автослесарю:



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

Комбинированные схемы


Комбинированные схемы являются сочетанием ранее рассмотренных схем. Большинство схем в методологии IDEF5 — комбинированные, поскольку редко встречаются онтологии, использующие только один вид схем.

Во всех схемах зачастую используются логические операторы. За счет их использования можно реализовать отношения между тремя, четырьмя и более объектами. Логический оператор может выражать некую общую сущность, над которой осуществляется процесс или которая участвует в другом отношении. Например, можно объединить предыдущие примеры в один следующим образом:



В конкретном случае в комбинированной схеме используются схема композиции (зеркало + автомобиль без зеркала = автомобиль с зеркалом) и схема перехода (автомобиль с зеркалом под воздействием процесса покраски красной краской становится красным автомобилем). Причем автомобиль с зеркалом не выражается явно — вместо этого указывается логический оператор И.

Заключение


В данной статье я постарался описать основные объекты и отношения в методологии IDEF5. В качестве примера я использовал предметную область, связанную с автомобилями, поскольку на их примере оказалось гораздо проще строить схемы. Однако схемы IDEF5 могут быть использованы в любой другой области знаний.

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

Проблема графического языка в том, что с его помощью нельзя достаточно четко сформулировать некоторые отношения (аксиомы) онтологии. Для этого есть текстовый язык IDEF5. Однако на начальном этапе графический язык может быть очень полезен для формулировки начальных требований к онтологии и определения вектора разработки более подробной онтологии на текстовом языке IDEF5 или в любом другом средстве.

Надеюсь данная статья станет полезна для начинающих в данной области, может быть даже для тех, кто уже давно занимается вопросом онтологического анализа. Весь основной материал данной статьи переведен и осмыслен был позаимствован из стандарта IDEF5, на который я ссылался раньше (дублирую). Также вдохновлялся замечательной книжкой от авторов из НОУ ИНТУИТ (ссылка на их книгу).
Теги:онтологииIDEF5
Хабы: Хранение данных
+2
2,7k 23
Комментарии 7
Лучшие публикации за сутки