При написанні цієї статті я зробив все можливе, щоб зробити її простою для читання. Однак, в ній міститься дуже складний і нетривіальний висновок - чому методи моделювання операцій, які ми зустрічаємо майже в кожній нотації, не дають нам задоволення. Я не бачив подібного аналізу ніде, навіть у книзі Кріса Партріджа, яку я дуже люблю: Business Objects: Re-Engineering for Re-Use. Тому я сподіваюся, що стаття буде легка і корисна одночасно.
Всі моделі, які ми будуємо, повинні так чи інакше моделювати 4-х мірний простір-час, тому що саме так ми уявляємо собі навколишній нас світ. Про це розказано в книзі Кріса Партріджа. Навіть те, що здається, не має відношення до 4-простору, при уважному розгляді виявляється таким. Правда, не завжди існуючим в реальності, іноді - це уявний нами світ. Всім, кому цікаво, як це відбувається, рекомендую уважно прочитати цю книгу. Однак, раджу не звертати уваги на визначення події в цій книзі, - воно дано невірно.
Наприклад, що таке болт? Це 4-х мірний об'єкт, який обмежений у просторі-часі певними межами. Для моделювання болту існують нотації, які моделюють ці межі. Наприклад, креслення болту моделює поверхню, яка обмежує 3-х мірний об'єм. Додавши до цього креслення ще 6 координат, що залежать від часу, ми отримаємо модель поверхні 4-Д простору - часу, яка моделює болт.
Однак, що таке операція? Це - теж 4-х мірний об'єкт, який також, як і болт обмежений певними кордонами в просторі і в часі. Правда, уявити собі операцію як 4-об'єкт набагато складніше. Існують три причини, через які нам складно це зробити.
По-перше, на відміну від болту операція має менш щільну будову. Чи може болт перетинатися в просторі-часі з іншим болтом? Досвід підказує, що ні. Операції, на відміну від болтів, менш щільні. Тому операції можуть перетинатися в одному просторі - часі. Якби операції були настільки ж щільні, як і болт, то нам було б простіше їх уявити. Але, з іншого боку, помилкою було б думати, що болт не може перетинатися з іншими об'єктами. Наприклад, болт одночасно може існувати в одному просторі з об'єктом, який складається з темної матерії. І якби ми сприймали темну матерію своїми органами почуттів, ми б сказали, що болт не є щільним об'єктом, і тоді уявити собі болт як щільний об'єкт було б важко.
По-друге, сприйняття нами операції як чотиримірного об'єкта ускладнене тим, що в нашій мові розділені описи тривимірного простору і часу. Оскільки ми не можемо пересуватися в часі назад, ця четверта координата нашого світу виглядає для нас інакше, ніж просторові координати. Тому в мові представлення трьох координат простору відрізняється від представлення четвертої координати - часу, і ті об'єкти, форма і склад яких змінюється в часі, сприймаються нами інакше, ніж ті об'єкти, форма і склад яких у часі не змінюються.
Наприклад, форма і склад болту в часі незмінні. Тому ми можемо уявити собі болт як 3-об'єкт. Уявити собі операцію так само просто вже не виходить, тому що її форма і склад змінюються з часом. Однак, і болт з точки зору мікроспостерігача, який міг би бачити квантові стрибки, виглядав би не менш дивно: як об'єкт, чия форма і склад постійно змінюються. Такому мікроспостерігачеві уявити собі болт як статичний об'єкт було б також важко.
Крім зазначених труднощів у моделюванні операції існує ще одна причина, мабуть, найважча для розуміння. Ця трудність виникла з особливостей нашої мови, яка, в свою чергу, реалізує патерни нашої міфічної свідомості. У мові є члени пропозиції: підлягає, позначене і доповнення, які моделюють актора, вчинена ним дія та об'єкт діяльності. З цього мовного патерну випливає, що наші звичайні пропозиції моделюють діяльність, а в теорії діяльності операція - це зв'язок між актором і об'єктом діяльності, але не об'єкт! Тому сама мова говорить нам: операція - це зв'язок, а не об'єкт. Але такий зв'язок можливий, якщо є актор. Актором у мові може бути будь-який одушевлений (наприклад, олень), або неживий (наприклад, Сонце) об'єкт. Але в моделях, які будують аналітики, актором може бути тільки суб'єкт. Інакше, якщо ми скажемо, що щось неживе здійснює операцію, ми, тим самим, наділяємо неживе здатністю до розумної діяльності, тобто, одушовуємо предмети. Якщо ж ми достатньо дисципліновані як аналітики, то ми не можемо сказати, що робот здійснив дію, ми можемо лише сказати, що дія відбулася і робот був одним з його учасників. Таким чином, за допомогою теорії діяльності ми можемо описати тільки ті операції, які здійснені суб'єктом, і тільки з однієї точки зору - з точки зору цього суб'єкта. Якщо ж нам потрібно змоделювати операції, що відбулися без участі суб'єкта (наприклад, спалах наднової), або операції, трактування яких ми хотіли б бачити з різних точок зору (наприклад, операцію купівлі-продажу), то така метамодель операції нам не підходить. Для вирішення подібних завдань ми повинні навчитися моделювати операції інакше. Такий спосіб моделювання є, і він - моделювання операцій як 4-об'єктів. До речі, те ж стосується і бізнес-функцій, але про них я розповім в іншій статті.
Як я вже сказав раніше, болт і операція - це чотиримірні об'єкти в просторово-тимчасовому континуумі. Чим же тоді відрізняються болт і операція? Не більше, ніж способами опису одного і другого. Мені давно хотілося поставити загальне завдання і зрозуміти, які способи опису 4-об'єктів існують взагалі, і з якими типами об'єктів вони зазвичай асоціюються. Для цього треба було зробити два кроки: спочатку зробити рівноправними час і простір, створити мову опису такого світу і класифікувати способи опису цього світу, а потім отримані результати відмовити назад у стандартні мовні патерни. Я зробив це, і в наступних статтях постараюся викласти.
Зауважу, що для фізики рівноправність між просторовими координатами і часом давно є нормою. Нещодавно цю рівноправність для себе відкрили і філософи, але досі це знання недоступне інженерам-онтологам. Давайте ж спробуємо скористатися цією виставою і подивитися, до яких відкриттів це нас призведе.