BORO
BORO (Business Objects Reference Ontology) — метод построения онтологий, разработанный Крисом Партиджем (Chris Partridge) в середине 1990-х для решения задачи реорганизации существующих информационных систем в информационные модели.
BORO завоевал популярность благодаря своей простоте и непритязательности. На основе BORO разработана такая известная библиотека онтологий, как IDEAS.
BORO представляет собой набор принципов и правил для упрощения процесса реинженерии. В отличии от обычного инженерного процесса моделирования, здесь моделирование производится на основе существующей концептуальной схемы реорганизуемой программной системы.
Содержание
Сущностные и объектные модели
BORO предлагает перейти от традиционного подхода к описанию системы как совокупности сущностей (entities) и их свойств (attributes) к объектному. Сущностная парадигма формализована Аристотелем (см. Субстанциализм) и укоренилась после изобретения письменности, поскольку сущности и свойства удобно записывать в табличном виде. У компьютерных технологий нет таких ограничений, как у двухмерной бумаги. Информацию можно хранить гораздо большим количеством способов, чем просто строки и столбцы. Вместо сущностной предлагается объектная парадигма (физические объекты, классы и отношения).
Объектная парадигма позволяет создавать значительно более компактные модели. При этом с увеличением масштаба и функциональности системы сложность и размер модели не увеличивается, поскольку добавление новых деталей в модель будет приносить дополнительные возможности для её уплотнения, обобщения и упрощения.
Сущности, обладающие одними и теми же свойствами считаются принадлежащими одному понятию-классу. BORO методология адресована к проблеме правильного выделения классов. Для этого необходимо проделать следующее:
- Выделить сущности (индивиды) предметной области. Выделение производится на основе главного критерия — пространственновременной протяженности. Считается, что любой индивид существует на основе субстанции (в Аристотелевском смысле), выражающейся в пространственной или временной протяженности.
- Выделить классы. Любой объект концептуальной схемы, не обладающий пространственной и временной протяженностью, рассматривается как не индивидуальная сущность. Но не каждый такой объект представляет собой класс.
- Выделить отношения между элементами предметной области. Отношения — это сущности, не имеющие пространственно-временной протяженности и не имеющие экземпляров.
На основе указанных выше принципов предлагает следующий алгоритм:
Компоненты BORO
Метод BORO состоит из двух компонентов:
- Базовая онтология (Foundational ontology);
- Методология реинжиниринга (Re-engeneering Methodology).
Базовая онтология
BORO - это категорическая (categorical) базовая онтология, т.е. антология, в которой эти категории верхнего уровня разобщены и образуют полное разделение всего существующего. Любой объект должен быть экземпляром одной и только одной категории верхнего уровня.
Категории верхнего уровня BORO:
- Элементы (Elements) — отдельные объекты, идентичность которых определяется пространственно-временной протяженностью (или 4D-экстентом) элемента, т.е. пространством и временем, которое он занимает. BORO упрощает вещи, полагая, что материя и пространство-время идентичны — (суперсубъективизм по Sklar, 1974; Schaffer, 2009). Пример - человек Вася.
- Типы (Types) — коллекции любого типа объектов (другими словами, объектов любой из трех категорий верхнего уровня). В BORO Типы играют ту же роль, что и области (universals) в других базовых онтологиях. Пример - Люди - тип, в который входят все люди, в т.ч. Вася.
- Кортежи (Tuples) — это отношения между двумя и более объектами. Объект является кортежем, если у него есть места. Например (Вася, Петя) - кортеж, в котором элементы Вася и Петя занимают 1 и 2 места соответственно. Кортежи могут быть собраны в типы, называемые кортеж типа (tuple type). Например parentOf - совокупность всех взаимосвязей между родителями и их детьми.
Методология реинжиниринга
Задача реорганизации существующих программных систем встречается очень часто. Оборудование устаревает довольно быстро, система растет и существующая архитектура перестает удовлетворять новым задачам.
Задачу реорганизации (реинженеринг) существующей информационной системы можно условно разделить на две стадии:
- Обратная инженерия (reverse engineering). На этой стадии анализируется существующая система. Из кода и данных выделяются бизнес объекты и производится их документирование. Таким образом, производственный процесс, который ведется на данной стадии, идет в противоположном направлении, нежели тот, что производился при разработке данной системы.
- Прямая инженерия (forward engineering). На данной стадии, на основе построенной на предыдущей стадии бизнес-модели существующей системы, производится проектирование более тонкой архитектуры новой информационной системы, которая призвана заменить старую. Этот процесс уже представляет собой обычную инженерную деятельность, состоящую в осознании концептуальной схемы данной задачи.