BORO

BORO (Business Objects Reference Ontology) — метод построения онтологий, разработанный Крисом Партиджем (Chris Partridge) в середине 1990-х для решения задачи реорганизации существующих информационных систем в информационные модели.

BORO завоевал популярность благодаря своей простоте и непритязательности. На основе BORO разработана такая известная библиотека онтологий, как IDEAS.

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

Метод BORO состоит из двух компонентов:

  • Базовая онтология (Foundational ontology);
  • Методология реинжиниринга (Re-engeneering Methodology).

Базовая онтология

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

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

Категории верхнего уровня BORO:

  • Элементы (Elements) — отдельные объекты, идентичность которых определяется пространственно-временной протяженностью (или 4D-экстентом) элемента, т.е. пространством и временем, которое он занимает. BORO упрощает вещи, полагая, что материя и пространство-время идентичны — (суперсубъективизм по Sklar, 1974; Schaffer, 2009). Пример - человек Вася.
  • Типы (Types) — коллекции любого типа объектов (другими словами, объектов любой из трех категорий верхнего уровня). В BORO Типы играют ту же роль, что и области (universals) в других базовых онтологиях. Пример - Люди - тип, в который входят все люди, в т.ч. Вася.
  • Кортежи (Tuples) — это отношения между двумя и более объектами. Объект является кортежем, если у него есть места. Например (Вася, Петя) - кортеж, в котором элементы Вася и Петя занимают 1 и 2 места соответственно. Кортежи могут быть собраны в типы, называемые кортеж типа (tuple type). Например parentOf - совокупность всех взаимосвязей между родителями и их детьми.

Методология

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

Задачу реорганизации (реинженеринг) существующей информационной системы можно условно разделить на две стадии:

  1. Обратная инженерия (reverse engineering). На этой стадии анализируется существующая система. Из кода и данных выделяются бизнес объекты и производится их документирование. Таким образом, производственный процесс, который ведется на данной стадии, идет в противоположном направлении, нежели тот, что производился при разработке данной системы.
  2. Прямая инженерия (forward engineering). На данной стадии, на основе построенной на предыдущей стадии бизнес-модели существующей системы, производится проектирование более тонкой архитектуры новой информационной системы, которая призвана заменить старую. Этот процесс уже представляет собой обычную инженерную деятельность, состоящую в осознании концептуальной схемы данной задачи.

BORO методология рассматривает понятия согласно аристотелевской традиции, т.е. как совокупность свойств-атрибутов. Сущности, обладающие одними и теми же атрибутами считаются принадлежащими одному понятию-классу. BORO методология адресована к проблеме правильного выделения классов. Для этого необходимо проделать следующее:

  1. Выделить сущности (индивиды) предметной области. Выделение производится на основе главного критерия — пространственновременной протяженности. Считается, что любой индивид существует на основе субстанции (в Аристотелевском смысле), выражающейся в пространственной или временной протяженности.
  2. Выделить классы. Любой объект концептуальной схемы, не обладающий пространственной и временной протяженностью, рассматривается как не индивидуальная сущность. Но не каждый такой объект представляет собой класс.
  3. Выделить отношения между элементами предметной области. Отношения — это сущности, не имеющие пространственно-временной протяженности и не имеющие экземпляров.

На основе указанных выше принципов предлагает следующий алгоритм:

BOROalgorithm.png

Ссылки

Комментарии