По наводке ailev ознакомился с книжкой Криса Партриджа “Business Objects: Re-Engineering for Re-Use”. Прекрасное чтение после какого-нибудь руководства по “мейнстримному” объектно-ориентированному проектированию с использованием UML, а главное – в любимом мной жанре “прикладной философии”.
Как и полагается в книгах такого типа, где предлагается какой-то фундаментально новый подход, не обошлось без вступления в духе “вы все пидоры, а я Д’Артаньян”. Утверждается, что “стандартный” подход к проектированию информационных систем, который автор назвал “сущностным” (entity), несмотря на все заявления его авторов, не позволяет строить сколь-либо сложные модели реальных систем, и не позволяет прямо соотнести возникающие сущности с реальностью. Это подтверждается примером из статьи Стива Кука и Джона Дениэлса “Object-Oriented Methods and the Great Object Myth”, в котором “миф” о том, что мир состоит из объектов и операций (взаимно-однозначно соответствующих объектам и операциям в модели) разрушается простым примером – когда мы пьем чай, мы не вызываем операцию “пить”, принадлежащую объекту “чашка” – и вообще, представить это простое действие с помощью “объектно-ориентированной” модели очень сложно.
Для нового, единственно верного и всячески правильного подхода к проектированию предлагается сменить парадигму – то есть смотреть на мир, не как на состоящий из сущностей (entity, это общепринятый термин, например, в так называемой ER-модели) или субстанций (substance, это более высокий уровень абстракции и общепринятый философский термин), а составленный из более сложных для представления “объектов”. То, что называется “объектами” в учебниках по ООП – это, в терминологии книги, “сущности” либо “субстанции”. Картина мира, использующая “сущности”, неявно существует и в “бумажных” информационных системах. Взаимно-однозначное соответствие между терминами из теории реляционных БД, “бумажных” картотек и “сущностной” парадигмы – не просто совпадение, а подтверждение единой картины мира, представляемой тремя способами.
В любой предметной области можно выделить четыре “рода” вещей (kinds of things) – конкретные вещи (”белый ВАЗ-2101 с проколотыми колесами, ржавеющий в моем дворе”), типы вещей (”все автомобили «Жигули»”), отношения между вещами (”Иван Иваныч – владелец белого ВАЗ-2101 и далее по тексту”) и изменения, происходящие с этими вещами (вышеупомянутым “Жигулям” выбили стекло, вытащили все сиденья и насрали внутри). Оказывается, что модель мира, состоящего из “сущностей” или “субстанций” не вполне адекватно позволяет описывать все это. Например, “сущности” убивает классический пример из все той же греческой философии – “корабль Тесея”. Жители Афин поставили корабль, на котором Тесей вернулся с Крита, победив Минотавра, на “вечную стоянку” – как крейсер “Аврора”. При этом они его постоянно ремонтировали (как крейсер “Аврора”), и наконец, настал момент, когда все досочки и гвоздики были поменяны (ну точно “Аврора”). Можно, конечно, ввести дополнительную сущность – например, ПТС, где отражать все замены номерных агрегатов – но древние греки до этого не дошли, и более-менее приемлемо парадокс разрешил Аристотель, рассматривая “субстанции” – грубо говоря то, что остается от предмета, если его лишить всех свойств. “Субстанция” нематериальна, и с точки зрения Аристотеля, сохраняется даже при замене всех “материальных” частей.
Так или иначе, но современное ООП предлагает смотреть на мир, как на множество объектов-субстанций, которые имеют изменяющиеся со временем свойства. В аристотелевскую картину мира укладывается и понятие наследования вместе с “общими” категориями объектов – как существование более общих, “вторичных” субстанций и свойств – но не все гладко с отношениями – для них приходится вводить дополнительные свойства объектов (например, у автомобиля есть свойство “владелец”) – и с изменениями – фактически предложенное Аристотелем решение предлагает учитывать изменения, как какие-то новые “частицы” в картине мира.
Если непонятно про Аристотеля – то вот более “жизненный” пример. Используемая в проектировании баз данных модель “сущность-связь” (entity-relationship, или ER-модель) возникает как раз при использовании “сущностей” или “субстанций”. Отношения (или “связи”) в ней предлагается представлять в виде дополнительных атрибутов объектов или же (в случае отношения “многие-ко-многим”) – строить “фиктивную” таблицу, представляющую отношения. Эти решения точно так же вводят в картину мира новые “элементарные частицы”, которые существуют наравне с “настоящими”, но ничего “реального” не представляют.
В книге предлагается принятую в современном ООП аристотелевскую модель последовательно перестраивать, приводя ее к “истинно объектному”, по мнению автора, виду – в отличие от понимания “объектов” в современном ООП. Как один из “промежуточных” шагов рассматривается “логическая” модель. Вместо атрибутов предлагается рассматривать принадлежность к классам (не в смысле “обычного” ООП) – например, вышеупомянутые “Жигули” Ивана Ивановича можно отнести к классам “автомобили”, “все белое”, “все ржавое” и так далее. Для того, чтобы представлять отношения, в картине мира появляются “кортежи” (tuple), которые, как и индивидуальные предметы, могут входить в какие-то классы. Например, пара <Иван Иваныч, ржавые Жигули> входит в класс, который можно назвать “владеет” – равно как и пара <Иван Иваныч, участок в 6 соток за 101 километром>. Точно так же можно представлять отношения из многих элементов – например, “Иван Иваныч выписал любимому внуку доверенность на “Жигули”» можно представить тройкой <Иван Иваныч, любимый внук, Жигули>, входящей в класс “кто-то выписал кому-то доверенность на что-то”. Всякий же объект оказывается представителем универсальной категории “логических объектов”.
Важное новшество в этой модели – возможность рассматривать “классы объектов” с позиции теории множеств. “Класс” – это множество объектов, которое само может являться подмножеством другого класса. Примером такого взаимоотношения между классами можно назвать цвета – класс “все раскрашенное” содержит классы “все белое” и “все красное” как подмножества. Это позволяет рассматривать иерархии классов, более точно отражающие реальный мир, чем в случае других моделей. Некоторой сложностью в главе про логическую модель оказывается понимание автором теории множеств. Например, если множество “всех красных” объектов – это объекты A и B, а “всех белых” – Y и Z, то описанный выше класс “всего раскрашенного” будет содержать не два описанных класса, а четыре объекта A, B, Y и Z. При этом автор использует термин “member of” – то есть описывает множество {{A, B}, {Y, Z}} вместо {A, B, Y, Z}.
Кстати, с помощью логической модели можно проектировать реляционные базы данных. Да, они получаются сложнее, чем в книжке “PHP и MySQL для чайников” – но понимание того, что таблица БД – это список кортежей, входящих в какое-то отношение (поэтому БД и “реляционная”), а не “записей об объектах”, позволяет представлять многие вещи куда эффективнее. Фактически это обобщение принципов, заложенных в ER-модель на отношения с количеством членов, большим двух.
Логическая модель снимает сложности с отношениями, но проблема представления изменений остается. Для ее решения предлагается ввести “четвертое измерение” – время, и вместо локализованных во времени “логических объектов” рассматривать объекты на протяжении всего их жизненного цикла. Фактически, это замена значения функции на саму функцию или ее график, то есть некоторую кривую – очень плодотворная идея в математике и, как ни странно, в науке о представлении окружающего мира. Эту модель автор называет “объектной” – в очередной раз вворачивая модное слово и совершенно смущая читателя – особенно того, который обнаружил в главе о “субстанциальной” модели все понятия современного ООП.
Кстати, в книге очень сложная и непривычная на первый взгляд терминология. Например, “объектами” называют совсем не то, что понимается под словом “объект” в книжках “по UML”, а с первого раза понять слово “substance” вообще невозможно. Про странное понимание терминов теории множеств я уже упоминал. Оно только запутывает читателя, хорошо знакомого с этими терминами.
После последовательного построения “объектной” (в терминологии автора) модели она применяется к нескольким примерам, разумеется, весьма успешно. Построенная методология преобразования “сущностных” моделей в “объектные” называется красивыми словами REV-ENG™ (да-да, именно со значком trade mark), предлагается автором в качестве абсолютно универсальной и везде-везде применимой. Насчет абсолютной ее применимости не знаю – хотя очень похожий метод лежит в основе стандарта обмена данными ISO 15926, и по утверждениям все того же ailev, это “наше все” и вообще, будущее человечества. Во всяком случае, книжка круто “расширяет сознание” и заставляет по-новому взглянуть на привычные вещи.
PS Несмотря на то, что я поставил тег “программирование”, в книге нет ни единой строчки кода ни на одном из языков программирования. Читать можно всем без исключения, хотя очень желательно понимание существующих методов работы с разнообразными данными – хотя бы в рамках UML и того, что называется “теорией баз данных”.
Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).
BORO (Business Objects Reference Ontology) — метод построения онтологий, разработанный Крисом Партиджем (Chris Partridge) в середине 1990-х для решения задачи реорганизации существующих информационных систем в информационные модели.
BORO завоевал популярность благодаря своей простоте и непритязательности. На основе BORO разработана такая известная библиотека онтологий, как IDEAS.
BORO представляет собой набор принципов и правил для упрощения процесса реинженерии. В отличии от обычного инженерного процесса моделирования, здесь моделирование производится на основе существующей концептуальной схемы реорганизуемой программной системы.
Содержание
- 1 Сущностные и объектные модели
- 2 Компоненты BORO
- 2.1 Базовая онтология
- 2.2 Методология реинжиниринга
- 3 Ссылки
Сущностные и объектные модели
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). На данной стадии, на основе построенной на предыдущей стадии бизнес-модели существующей системы, производится проектирование более тонкой архитектуры новой информационной системы, которая призвана заменить старую. Этот процесс уже представляет собой обычную инженерную деятельность, состоящую в осознании концептуальной схемы данной задачи.
Ссылки
- http://www.borosolutions.co.uk/research/content/files/books/BusObj-Printed-20050531-with-watermark.pdf/at_download/file
- http://isdwiki.rsuh.ru/moodle/pluginfile.php/128/course/section/36/bookLapshin.pdf
(Большое спасибо одногруппнику Петру за разговор, который заставил меня полностью переосмыслить прочитанное и выбросить прошлый вариант этого текста.)
Довольно несложно понять, почему книга даётся в качестве “входной” литературы к курсу системного мышления (на самом деле — даже нижележащего по стеку курса онтологики и коммуникации):
- Автор работает в какой-то своей, достаточно уникальной терминологии. В частности, его истолкование ключевого термина Object-Oriented достаточно далеко как от “типового” понимания в современной индустрии, так и от оригинального значения этого термина, введённого Аланом Кеем (который описывал этим системы из акторов и шин передачи сообщений, см. например http://xahlee.info/comp/Alan_Kay_on_object_oriented_programing.html). Более того, в предисловии ко второму изданию автор честно признаётся, что изначально использовал слово “парадигма” в значении “онтология” — но ко второму изданию переименовал всё обратно (а на самом деле — не всё, и “уши” оригинальных именований проступают в тексте тут и там).
Разбираться с этой авторской терминологией было не то что бы просто (и привело меня в итоге к крупному мыслительному сбою, о котором см. ниже) — но это однозначно тренирует “терминологический агностицизм” («Термины — одновременно не важны и важны»), на котором строится весь курс. - Ещё более релевантен сам метод ре-инжиниринга — он очень созвучен принципам мышления (в том числе коллективного, “договаривания”) через движение туда-сюда по шкале конкретного⋄абстрактного мышления: мы переходим от более конкретного (кода) к абстрактному описанию программной системы, там происходит какая-то магия, и потом обновлённое абстрактное описание приземляем обратно в обновлённый код. А какая-то магия — это обратное движение по (ортогональному к программистскому) измерению абстрактности⋄конкретности применительно к конечному бизнесу: мы пытаемся “приземлить” абстрактное описание на конкретные бизнес-процессы, находим в ходе этого несоответствия, договариваемся об их исправлении — и от конкретного, уже общего для всех участников, понимания бизнес-системы переходим обратно на уровень более абстрактных описаний (в этот раз оперируя уже предлагаемой автором абстракцией бизнес-объектов).
- Очень большое внимание уделяется авторскому изложению принципов 4D-экстенсионализма. Не могу сказать, чтобы это как-то оказалось именно мне полезным: моё “четырёхмерное воображение” по большей части сформировалось ещё до начала занятий, в основном через чтение/просмотр научной фантастики про путешествия во времени — и представления курса очень легко легли на эту базу. Так что конкретно мне настолько детальные рассуждения в этой части BORO показались несколько затянутыми.
При этом не могу не пожаловаться, что эта местами-затянутость — характерная черта всего построения книги. Подобный “исторический” подход к построению учебников критиковал ещё Фейнман — нет необходимости подолгу рассказывать в учебнике географии про плоскую (а потом — про имеющую форму сундука) Землю, эффективное обучение предполагает как можно более скорый переход к SotA-моделям. Точно так же расточительно тратить сто с лишним страниц на Entity, Substance и Logical Paradigm, только ради того чтобы потом на их недостатках обосновать необходимость новой, Объектной, прадигмы.
Более того, тратить слишком много ученического внимания на разбирательство с устаревшими (но более простыми и интуитивными — это SotA частенько контр-интуитивен!) кажется вообще вредным: теорию потом отвергнем, но наработанные в мозгу интуиции-то от этого никуда не денутся! Кажется, это и стало вторым компонентом моей ментальной ошибки.
Неадекватные ментальные пред-установки + авторская терминология + долгая подводка к основным тезисам ⇒ ментальная ловушка
Разумеется, интеллектуально-нечестно винить кого-то, кроме себя самого в том, что я попал в ментальную ловушку, ожидая от его книги не того, чем она оказалась. Тем не менее, мне кажется важным подробно разобрать эту ошибку, и откуда у неё “растут ноги”, чтобы больше не попадать впросак по крайней мере таким же точно образом.
Анатолий Игоревич книгу порекомендовал “для айтишников”. Почему-то я после этого ждал, что книга будет описывать какой-нибудь неконвенциональный, но SotA подход, который инженеры обычно упускают из-за слабой системномыслительской подготовки — похожим образом, например, программисты упускают Event Sourcing из-за слабости в функциональном программировании.
Читая книгу с этой установкой в голове, и следуя заветам Школы в том, что терминология всегда авторская и подлежит ре-интерпретации — я очень крупно в этой ре-интерпретации ошибся. Я забыл сделать скидку на то, что книга была издана в 1998 году, и борется с заблуждениями тогдашних общепринятых практик, а не общепринятых практик 2021 года! И когда Партридж говорит что “все пишут код через entity-attribute подход, а я сейчас покажу как можно изящнее” — это “все пишут” не соотносится вообще никак с тем, как эти все пишут код последние 15 лет, пока я это наблюдаю.
Да, я посчитал entity-attribute подход Партриджа — описанием практик современного мне (и несколько устаревающего) объектно-ориентированного программирования! И даже успел подумать что “ого, это что же, автор ещё в 1998 году увидел нишу для ECS-систем, NoSQL-решений и прочих онтологических троек в графовых БД?!”
Интерпретировать текст с такого ракурса было довольно сложно. Недостаточно сложно, чтобы сразу заметить ошибку — ведь книга начинается с описания не-объектных подходов (а про объектный по началу говорит очень мало и уклончиво), да ещё и избегает приводить примеры из программистских реалий. Но достаточно сложно, чтобы как следует прокачать у себя ментальный мускул терминологической ре-интерпретации, только ради того чтобы потом хлопнуть себя по лбу и воскликнуть “блин, так он под объектно-ориентированным бизнес-моделированием и правда классы из Java имеет в виду!”
Это был достаточно болезненный — но, надеюсь, полезный опыт. А собственно навык бизнес-моделирования я пока поставлю ментально куда-нибудь на дальнюю полку: в моей нынешней индустрии эти практики занимают от силы 10% времени, и гораздо важнее, скажем, практики, нацеленные на максимально безошибочный перенос в код алгоритма, изложенного и доказанного в научной статье. (Но если наше решение будет успешным — больше никому не придётся этими алгоритмами заниматься, и бизнес-моделирование вернётся в фокус инженерных практик. Но это уже совсем другая история.)
xxxii, 442 pages : 25 cm
Business Objects: Re-engineering for re-use is one of the first books to describe a revolutionary new way to build much better computer systems. Unlike other computing revolutions, this is not concerned with technology or computer languages. Instead it involves changing the way we see (and so think about) the things that information stored in computers represents — what is called our paradigms. These currently have antiquated entity-oriented foundations that were developed to work with paper and ink technology. Until recently system builders were embedding these in computer systems. They are now starting to update the paradigms, bringing them into line with computer technology. They are re-engineering their entity foundations, transforming their business entities into more general, and so more re-usable, business objects. This makes the business paradigms (and so computer systems) both much simpler and functionally richer
Includes bibliographical references (pages 431-432) and index
Requested title: Understanding objects, re-engineering and re-use
Несколько комментариев к книжке Chris Partridge «Business Objects: Re-Engineering for Re-Use», 2000г., с изложением основных идей онтологического метода BORO (https://yadi.sk/i/2SgjvILB3PqJEZ):
1. Верхнее образование программистов по моей версии (http://ailev.livejournal.com/937201.html) должно включать философскую логику и моделирование данных. Книжка как раз даёт пример того, как стыкуются эти два курса — хотя там абсолютно неклассическое изложение как философской логики, так и моделирования данных. Зато хорошо показаны разные парадигмы моделирования данных, и как эти парадигмы поддержаны разными парадигмами философской логики и её стыками с метафизикой. Если уж раскапывать это место, то вполне можно начинать с разбора этого текста, как демонстрации сути проблемы.
В сравнении с материалами Matthew West (http://www.matthew-west.org.uk/Publications.html), в работах Chris Partridge философская логика и моделирование данных даны много менее классически, зато объяснениям и обоснованиям уделено много больше внимания. Если в Части 2 ISO 15926 и работах Мэтью Веста приводятся готовые решения проблем, то в книжке BORO рассказывается о том, какие именно проблемы решались, какие именно теоретические основания в основании решения этих проблем, и разъясняется разница между «старым проблемным мышлением» и «новым беспроблемным мышлением», разница между парадигмами моделирования данных.
Увы, весь ужас перехода к альтернативным онтологическим парадигмам (прежде всего — 4D extensionalism, включающий подробное разбирательство с темпоральными частями объектов и сутью понятия «класс классов») плохо понимается после чтения материалов ISO 15926. Книжка BORO пытается это хоть как-то разжевать, хотя это разжёвывание никак не связано с ISO 15926 как таковым. Это крайне важный учебный материал, обеспечивающий четкое понимание, что 4D extensionalism — это смена парадигмы, т.е. другой способ думать, а не просто «новое знание, которое добавляется к старому». BORO учит распознавать парадигмы моделирования данных в явном виде, чтобы не быть введенными в заблуждение.
Также для этой цели понимания стыка между философской логикой/онтологией/метафизикой и работой программиста можно было бы использовать еще один материал Chris Partrige: его презентацию 2007г. «Data and process revisited: ontology driving a paradigm shift in the development of business application systems» http://ontolog.cim3.net/cgi-bin/wiki.pl?ConferenceCall_2007_07_05 (там смотреть слайды и звук в .mp3).
2. Излагаемый в BORO подход, в отличие от подхода ISO 15926, происходит главным образом из штудий организационного моделирования, а не моделирования систем из железа и бетона. Поэтому в нём много меньше чувствуется системно-инженерного «железного» начала, и моделирование системы в каком-то виде не выходит на первый план (для развлечения: разговор Криса и Мэтью про разницу 3D и 4D онтологического представления организаций-холдингов: http://suo.ieee.org/email/msg06472.html — и обратите внимание, это дискуссия 2001г., то есть после выхода поправленной книжки BORO, но до выхода Части 2 ISO 15926 в 2003г.).
Так что BORO мне представляется с чисто онтологической точки зрения менее удовлетворительным подходом, чем ISO 15926 — ибо понятие «система» (думать при этом о разнице FunctionalObject и FunctionalPhysicalObject и связанной с их определением постоянно тлеющей в сообществе ISO 15926 дискуссией) напрямую не затрагивается. Также не затрагиваются тонкие вопросы системного подхода в приложении к организации, типа разницы между функциями, capabilities, сервисами. Тем самым 614 страниц отнюдь не представляют собой последнего слова в развитии приложений онтологии к моделированию данных. Для реалий 2011 года эту книжку неплохо бы было даже не столько переписать, сколько существенно дополнить.
СМДМ движение высказывает время от времени мысль, что онтология системного подхода имеет все шансы стать ведущей нерелигиозной онтологией. Мне это мнение глубоко симпатично, и я бы считал, что в логико-философский курс для программистов должно входить и разбирательство с моделированием не только «объектов» (которые «объективны»), но и систем (которые определяются деятельностно, через функцию во внешней системе и тем самым субъективны по определению).
3. Сообщество ISO 15926 время от времени поднимает вопрос, не использовать ли теорию категорий для онтологической работы. Мне кажется, что книжка BORO даёт какое-то понимание, «в какое место можно воткнуться» с теоркатегорной парадигмой — ибо именно в книжке BORO подробно рассказывается, как именно используется теоретико-множественная парадигма (описание в терминах классов). Если с этим разобраться, то можно подумать, как именно можно было бы похожим образом использовать иную, теоркатегорную парадигму — что можно будет сохранить из уже наработанного знания, а что переформулировать заново в терминах новой парадигмы.
4. Книжка BORO интересна, как пример графической онтологической нотации. Онтологии неинтересно выражать как в UML, так и в простейших нотациях типа использованной в Части 7 ISO 15926. Использованная в книжке нотация для выражения онтологического знания довольно богата и наглядна, это интересный пример нотационной работы.
5. Книжка BORO крайне важна для разбирательства с верхним образованием программистов, но и непосредственно для разбирательства по поводу обучающих курсов ISO 15926. Увы, никаких учебников по собственно онтологической работе нет, а текст Части 2 похож на текст Библии: его можно только заучивать наизусть, абсолютно не понимая важности и уместности зафиксированных в нём онтологических решений. Это неминуемо приведет к ошибкам в моделировании. Книжка BORO даёт намёк на то, как можно было бы подойти к написанию учебника по моделированию данных в ISO 15926.
6. Книжка BORO, как ни странно, может помочь изучающим свеженький архитектурный стандарт DoDAF версии 2.02 — ибо в его основе лежит принятая странами НАТО для обмена архитектурной информацией онтология IDEAS, базирующаяся как раз на BORO (подробнее — http://dot15926.livejournal.com/24543.html). Хотя в этом DoDAF излагаемый в BORO онтологический материал лежит настолько глубоко внутри, что может быть полезен только разработчикам инструментария поддержки DoDAF, но не использующим этот стандарт архитекторам.
Skip to search formSkip to main contentSkip to account menu
Search 211,147,247 papers from all fields of science
- Corpus ID: 166376561
@inproceedings{Partridge1996BusinessOR, title={Business Objects: Re-engineering for Re-use}, author={Chris Partridge}, year={1996} }
- Chris Partridge
- Published 1 June 1996
- Business, Computer Science
Introduction to business information re-engineering Fundamentals of information Object orientation concepts and notation REV-ENG: an example of how to re-engineer business information The benefits of business information re-engineering Setting up your own project.
brunel.ac.uk
80 Citations
Highly Influential Citations
15
Background Citations
35
Methods Citations
28
Results Citations
1
Figures and Tables from this paper
-
figure 11.1 -
figure 11.2 -
figure 11.3 -
figure 11.5 -
figure 11.6 -
figure 11.7 -
figure 11.8 -
figure 11.9 -
figure 12.1 -
figure 12.10 -
figure 12.11 -
figure 12.12 -
figure 12.13 -
figure 12.14 -
figure 12.15 -
figure 12.16 -
figure 12.19 -
figure 12.2 -
table 12.2 -
figure 12.20 -
figure 12.21 -
figure 12.22 -
figure 12.23 -
figure 12.24 -
figure 12.25 -
figure 12.26 -
figure 12.27 -
figure 12.29 -
figure 12.3 -
figure 12.30 -
figure 12.31 -
figure 12.32 -
figure 12.33 -
figure 12.34 -
figure 12.36 -
figure 12.37 -
figure 12.4 -
figure 12.5 -
figure 12.6 -
figure 12.7 -
figure 12.8 -
figure 12.9 -
figure 13.1 -
figure 13.2 -
figure 13.4 -
figure 13.5 -
figure 14.1 -
table 14.1 -
figure 14.10 -
figure 14.11 -
figure 14.12 -
figure 14.13 -
figure 14.14 -
figure 14.15 -
figure 14.16 -
figure 14.17 -
figure 14.18 -
figure 14.2 -
figure 14.3 -
figure 14.4 -
figure 14.5 -
figure 14.6 -
figure 14.7 -
figure 14.8 -
figure 14.9 -
figure 15.1 -
figure 15.10 -
figure 15.11 -
figure 15.12 -
figure 15.14 -
figure 15.15 -
figure 15.18 -
figure 15.2 -
figure 15.21 -
figure 15.22 -
figure 15.23 -
figure 15.24 -
figure 15.26 -
figure 15.27 -
figure 15.3 -
table 15.3 -
table 15.4 -
figure 15.5 -
table 15.5 -
figure 15.6 -
table 15.6 -
figure 15.7 -
figure 15.8 -
figure 15.9 -
figure 16.1 -
table 16.1 -
figure 16.10 -
figure 16.11 -
figure 16.12 -
figure 16.13 -
figure 16.14 -
figure 16.15 -
figure 16.16 -
figure 16.17 -
figure 16.18 -
figure 16.19 -
table 16.2 -
figure 16.2 -
figure 16.3 -
table 16.3 -
figure 16.4 -
table 16.4 -
figure 16.5 -
table 16.5 -
figure 16.6 -
figure 16.7 -
figure 16.8 -
figure 16.9 -
figure 17.1 -
table 17.1 -
figure 17.10 -
figure 17.11 -
figure 17.12 -
figure 17.13 -
figure 17.14 -
figure 17.15 -
figure 17.16 -
table 17.2 -
figure 17.2 -
table 17.3 -
figure 17.3 -
table 17.4 -
figure 17.5 -
table 17.5 -
figure 17.6 -
table 17.6 -
figure 17.7 -
table 17.7 -
figure 17.8 -
table 17.8 -
figure 17.9 -
figure 18.10 -
figure 18.11 -
figure 18.12 -
figure 18.2 -
figure 18.3 -
figure 18.4 -
figure 18.5 -
figure 18.6 -
figure 18.7 -
figure 18.8 -
figure 18.9
80 Citations
A Semantic-based framework for discovering business process patterns
- Laden AldinSergio de CesareM. Lycett
-
Computer Science
- 2009
An initial framework for the discovery and reuse of business process patterns within the IS development lifecycle is proposed and the use of semantics to drive both the discovery of patterns as well as their reuse is proposed.
-
6
-
PDF
Enterprise Ontologies – Better Models of Business
- I. Bailey
-
Computer Science, Business
- 2011
The title of this book is “Intelligence-Based Systems Engineering” — it implies that there is a practice of systems engineering that isn’t intelligence-based.
-
10
Software Stability: Recovering General Patterns of Business
- Aseem DagaSergio de CesareM. LycettChris Partridge
-
Computer Science
AMCIS
- 2004
An approach to evolving General Business Patterns (GBPs) from the empirical data contained within legacy systems, rooted in developing patterns by extracting the business knowledge embedded in existing software systems is outlined.
-
4
Software Stability : Recovering General Patterns of Business Aseem
- Daga
-
Computer Science
- 2017
An approach to evolving General Business Patterns (GBPs) from the empirical content contained within legacy systems is outlined, rooted in developing patterns by extracting the business knowledge embedded in existing software systems.
Temporal Business Objects: A Waste of Time?
- Paul SchleiferYuan SunD. Patel
-
Computer Science
OOIS
- 1997
Fundamental barriers to the use of temporal database research in real business software remain, namely the absence of a consensus temporal object model and the lack of suitable temporal modelling tools are addressed.
-
2
An Application of Philosophy in Software Modelling and Future Information Systems Development
- B. Henderson-SellersCesar Gonzalez-PerezGreg Walkerden
-
Philosophy
CAiSE Workshops
- 2013
This paper describes and discusses philosophical stances applied to conceptual modeling in order to make such influences explicit so that conceptual modellers can take the next step.
-
8
-
PDF
Ontological Framework of the Information Systems Aimed to Facilitate Business Transformations
- T. PoletaevaH. AbdulrabE. Babkin
-
Computer Science
ONTO.COM/ODISE@FOIS
- 2014
A new ontological framework for consistent data modelling based on the notions of the Enterprise Ontology and the Object Paradigm is introduced and exemplify the use of the ontology for creation of the information system aimed for the diagnosis of traceability problems in supply networks.
-
Highly Influenced
-
PDF
Ontological Framework Aimed to Facilitate Business Transformations
- Poletaeva TatianaBabkin Eduard AleksandrovichA. Habib
-
Computer Science
- 2014
A new ontological framework for consistent data modelling based on the notions of the Enterprise Ontology and the Object Paradigm is introduced and exemplify the use of the ontology for creation of the information system aimed for the diagnosis of traceability problems in supply networks.
-
2
-
Highly Influenced
-
PDF
AN ONTOLOGICAL APPROACH TO SOPHISTICATING LEGACY BUSINESS CONTENT
- Aseem DagaSergio de CesareM. LycettChris Partridge
-
Computer Science
- 2004
This paper proposes a means of capturing the business content in a technology agnostic manner and transforming it in a way that reaps the benefits of clear semantic expression – this transformation is achieved via the careful use of ontology.
Preface ODISE 2011
- Sergio de CesareF. GaillyGrant HollandM. LycettChris Partridge
-
Computer Science, Business
CAiSE 2011
- 2011
It is plausible to assume that at the heart of many IS Engineering problems is the difficulty to conceptualise an organisational system and its real-world problem domain.
-
PDF
…
Related Papers
Showing 1 through 3 of 0 Related Papers
-
-
December 9 2012, 02:20
- Дизайн
- Cancel
Все-таки БОРО и ре-инжиниринг крайне интересная для меня хрень.
Лет 15 назад мне нравился подход Shlaer–Mellor. А вот Гради Буч и УМЛ мне никогда не нравились.
Но все-таки ООА довольно кривые как высокоуровневые методологии, в частности я со временем осознал важность разделения ООАнализа и ООДизайна. А если из Анализа тупо (и даже умно) генерировать Дизайн, то тогда для решения Дизайн проблем придется «загрязнять» аналитический уровень. Что плохо. Но регулярно происходит и есть основная головная боль ре-инжиниринга.
БОРО кагбэ методология реинжиниринга, но она интересна и как замена ООА. Т.е. ООА расширяет реляционный подход наследованием (не только конечно, но для меня в основном это так). А БОРО юзает более мощную топ-онтологию, которая однако не очень мапится на современные ЯП, и это хорошо! Хотя в 90е это считалось бы плохо.
Т.е. вообще говоря она конечно не так уж и плохо мапится, но не автоматически :).
Я в этом вижу большой плюс, потому как это предохраняет Анализ от заражения Дизайн issues. Я бы даже сказал что БОРО и возникла как срецтво очистки Анализа от ошметок Дизайн.
Это кстати позволяет еще раз ответить самому себе на вопрос чем же различаются ООАнализ и ООДизайн (в традциях 90х они постоянно сливались). Оказывается тут разные мета-онтологические выборы! И даже топ-онтологии вобщем-то различаются: сравните ОО модель Жабы или к примеру схемы РСУБД с топ-онтологией БОРО.
Крис Партридж придерживается следующих онтологических выборов (см к примеру http://ontolog.cim3.net/file/work/DatabaseAndOntology/2007-07-05_ChrisPartridge/Data-and-Process-Revisited—ChrisPartridge_20070705.ppt
-Perdurantism
-Eternalism
-Relative space-time
-Modally unextended individuals
-Materialism
-Extensionalism – I – Universals
-Extensionalism – II – Individuals
-Topology of time –linear
Я кагбэ не очень понимаю что некоторые из этих ругательств значат. Но касательно тех что понимаю, то согласен с Крисом. Т.е. 4Д экстенсионализм + линейное время для Анализа самый заебись.
Однако, как я ранее отметил, для Дизайна обычно принято делать другие выборы.
Скажем сейчас есть тенденция юзать иммьютабилити, так что можно сказать что передовые отряды склонились в сторону 4Д.
А вот касательно Экстенсионализма, то я бы сказал, что наоборот, крен в сторону интенсиональности. К примеру в случае с Жаба ORM удобнее юзать ИДшники вместо составных ключей. Впрочем, так или иначе составные ключи все равно юзаются.
Касательно времени, я бы сказал что обычно юзают линейное время, но для распределенного программирования оно не всегда адекватно. Хотя на уровне Анализа лучше конечно придерживаться его (unless явно требуется бранчинг тайм конечно, типа всяких симуляций возможных миров и пр).