Зачем это нужноПочему за пересылкой документов не видно договорённостей
Заказ на деталь ушёл изготовителю, письмо «готово» вернулось. Но в какой момент изготовитель принял обязательство, где именно возник результат и кто признал, что он соответствует договорённости, — из переписки не видно.
Процессы обычно описывают как последовательность действий и документов: заявка, согласование, уведомление, акт. Такое описание живёт, пока живёт система, в которой эти документы ходят; сменили портал на почту — и схему рисуют заново. DEMO смотрит сквозь документы. Любое взаимодействие в нём — транзакция между двумя ролями: инициатор запрашивает результат, исполнитель обещает, выполняет, заявляет о результате, инициатор принимает. Два шага до работы и два после — это координация, договорённости; сама работа — производство. Способ отправить запрос может меняться, смысл обязательства — нет.
В раздатке — пять шагов основного успешного хода транзакции на примере заказа детали; четыре аспект-модели, из которых складывается существенная модель предприятия: кооперации (CM), процессов (PM), фактов (FM) и действий (AM); все 17 карточек со страницы реестра — сами модели, их диаграммы, таблицы и спецификации — и план первой недели. Понятий с бытовыми аналогиями у DEMO на странице пока нет, поэтому определения здесь — переводы спецификации языка DEMO-SL версии 4.7.2, и читать их стоит вместе с примером.
Главное разведение школы — координационный мир и производственный мир. В координационном мире живут запросы, обещания, заявления и принятия; его пространство состояний задаёт процессная модель. В производственном мире живут факты — «деталь изготовлена», «заказ принят»; их описывает фактологическая модель. Модели кооперации и действий покрывают оба мира. Это разведение и делает модель существенной: в ней остаётся только то, что не зависит от способа реализации.
Уведомление «готово» — координационный акт. Готовая деталь — производственный факт. Пока модель держит их порознь, она не зависит от системы, через которую отправлено уведомление.