Традиционно архитектурные языки и подходы (они же, как нам рассказали Захман и Диетц, теперь называются "организационные онтологии") структурируют свой предмет (scope) в виде каких-нибудь "матриц" или "трехмерных матриц". Для Архимейта это куб "субъект -- поведение -- объект / бизнес -- приложения -- технология / внутреннее -- внешнее" (то, что это не "таблица", а именно "куб", подробно рассказывается в книжке) и треугольничек "общие понятия -- понятия Архимейта -- понятия предприятия". Для подхода Захмана в версии 3 -- это матрица "что-где-когда-как-почему / уровни реификации".
Оказывается, что в enterprise architecture не так много специфических именно для этой архитектуры различений. Огромное их количество оказывается связано с upper ontology -- выбором того, как мы представляем мир. Предприятие -- это часть мира, и онтологические выборы оказываются крайне важными для описания предприятия. Если вы в мире не выделяете системы из их окружения, то архитектура предприятия у вас тоже будет бессистемной (pun intended).
Для определения предмета (scope) Орглана нужно как-то взглянуть на предметную область с птичьего полёта -- задать что-то типа таблички и треугольничка Архимейта, или матрицы Захмана. В качестве шага для этого можно предложить следующие возможные "размерности" (различения) для этих треугольничков и табличек:
1. "Пирамида знаний"
Обычно "пирамида знаний" рисуется треугольничком отдельно от всяких "матриц", в которые пытаются упихнуть разные другие различалки. В этой пирамиде показываются "уровни общности понятий".
1.1. формализм -- representational ontology, мета-мета-модель. В SysML/UML это MOF, в ISO 15926-2 это EXPRESS, в ISO 15926-7 это FOL, в Archimate -- это квадратики разной формы и разнообразные стрелочки (т.е. формализм в явном виде не задан, и это очень плохо).
Мы выбираем в качестве формализма .15926L (т.е. не FOL, не EXPRESS, а сразу тьюринг-полный язык).
Это обычно в "треугольничке" пирамиды не показывают: это тот материал, из которого сделана сама пирамида, тот холст, на котором нарисована её картинка.
1.2. Онтолан (Ontolan, от ONTOlogy LANguage -- странно, такого слова Гугль еще не знает), upper ontology -- "школьное" (т.е. для изучения в средней школе) подмножество ISO 15926-2, или аналогичное "улучшенное", но отмэпленное в ISO 15926-2 (например, подмножество HQDM). Вряд ли стоит сейчас замахиваться на собственное "улучшение" типа HQDM, которое потом нужно будет самостоятельно мэппить в ISO 15926, но наверняка придется озаботиться выбором более точных и удачных слов.
Что точно должно войти:
-- множественные специализации (классификации, хотя речь идет не о членстве в классе: ненавижу эту запутывающую терминологию)
-- многоуровневая конкретизация-порождение (уровни абстракции, мета)
-- мереология (части и целое, в том числе темпоральные части)
-- время: моменты и интервалы
-- системный подход: функциональные места и модули
-- агенты, действия, продукты
-- информация, данные, информационные продукты
-- "география" (места, адреса, площадки)
Что точно не должно войти (ибо должно попасть в "расширения" Орглана):
-- стереометрия (3D, формы)
-- "естественные науки" (молекулы, атомы, живое-неживое)
-- парсинг (правая-левая часть имени) и прочая информатика
В чем есть сомнения:
-- свойства и UoM (обычно нужно ддля описания продуктов, но в архитектурных языках часто этого просто нет -- например, в ArchiMate). С другой стороны, как в школьном языке без свойств?
Про всякие кардинальности и ограничения пока умолчу.
1.3. Орглан (Orglan -- ORGanization LANguage): организационная онтология (мета-модель), т.е. специализация понятий и отношений Онтолана до специфически организационных понятий и отношений -- на которых можно выразить предметную область PraxOS (заметим, что сам PraxOS -- это каталог компонентов методов. Методы же написаны с использованием понятий Орглана. Тем самым PraxOS -- это тексты, написанные с использованием понятий Орглана (а без учета нюансов -- "Праксос написан на Орглане"). PraxOS относится к Орглану как "Сказка о царе Салтане" Александра Сергеевича Пушкина к словарю Владимира Ивановича Даля (со всей прилегающей дискуссией о влиянии поэзии Пушкина на состав словаря Даля).
При рассмотрении сегодняшних мета-моделей архитектурных языков оказывается, что значительная часть их понятий относится к Онтолану (т.е. выражает общеонтологические понятия, а не специфические именно для организации), а вот собственно специфичный для организации Орглан (специализация общеонтологических понятий, использующихся именно для организации и enterprise architecture, он же -- микротеория организации, он же -- middle level ontology for organization) оказывается не такой объемный.
Моя сегодняшняя гипотеза: Орглан состоит из тех понятий из разных организационных дисциплин, перечисленных в пункте 7 моих 10 тезисов (
http://praxos.livejournal.com/12907.html), которые связаны между собой различными correspondence rules.
1.4. Мета-модели организационных дисциплин. Они связаны между собой corresponding rules, ибо мэппированы к связке Онтолан+Орглан.
1.5. Расширения (для выражения внешних моделей -- моделей продуктов, моделей экзотических организационных дисциплин, имитационных моделей и т.д.).
2. Разбиения (сборка-разборка, части-целое).
Системный подход -- это как раз оно: выделение холархий (т.е. иерархий по отношению часть-целое), модульность и связанные с модульностью интерфейсы.
Я нарочно не использую слово "детализация", потому как оно обычно используется и для разбиений (часть-целое), и для уровней абстракции. C другой стороны -- метасистемный переход обычно подразумевает смену типа описания при переходе к очередному уровню холархии (так, описывать работу органелл в клетке нужно одним способом, работу клеток -- другим, работу органов -- третьим, работу организма -- четвертым). Но это не разные уровни абстракции описания, это разные виды описаний для разного уровня разбиений.
3. Уровни абстракции (как туманно выразился Захман -- "реификации", уровни воплощения идеи в реальность -- от свёрнутых высказываний через порождение/generation к системе "в бетоне и металле", а в случае организаций -- "в людях и компьютерах"). Это совсем "детализация целого на уровне частей", а построение мета-модели с оглядкой на мета-мета-модель, модели с оглядкой на мета-модель, системы в реальности с оглядкой на модель.
4. Различение акта деятельности -- высказывания "продюсер/агент -- работа -- продукт" (в Архимейте это активная структура -- поведение -- пассивная структура).
5. Альтернативы (выборы и принятие решений, как в Goal).
6. Динамика (архитектура as is, архитектура to be, архитектура as built).
Еще раз обращу внимание, что практически все эти различения (если не все!) относится к общеонтологическим (ну, и немного инженерным -- у нас ведь деятельностная онтология), а не специфически организационным. Архитектурные языки -- это языки, описывающие основные принципы организации чего угодно, необязательно организации.
На первый взгляд, это всё сильно сложнее того же Архимейта или Захмана. Но это только на первый взгляд: просто часть сложности из неявной вышла наружу и названа явно. И эта часть разделена между Онтоланом и Оргланом.
Сразу оговорюсь, что дискуссия по Архимейту подвела черту под тем, как используется архитектура в целях коммуникации: архитектурные артефакты предназначены прежде всего для понимания специально обученными людьми, а для топ-менеджеров и прочих стейкхолдеров от рядовых сотрудников до заинтересовавшихся вдруг архитектурой приглашенных консультантов по случаю готовятся разные презентации (ага, в PowerPoint и без использования формализмов). Так что я не боюсь, что Онтолан+Орглан окажутся контринтуитивны и потребуют специального обучения. Любая хорошая контринтуитивная идея поначалу является непопсовой, и широко не распространяется. Затем мощность этой идеи берет своё, и она становится интуитивной. Мы надеемся ровно на такой сценарий с Онтоланом и Оргланом.
Итак, теперь нужно сделать Онтолан (и сразу -- учебный по нему курс, чтобы быть уверенными, что люди понимают его контринтуитивность).