Самый интересный день посиделки системных инженеров в Бекасово-2018, конечно, был вчера. Обсуждали сложившийся de facto консенсус по использованию ArchiMate преподавателями системной инженерии для моделирования как системноинженерных "железных" проектов, так и архитектуры предприятия (жизненный цикл-то нужно моделировать!).
Архимейт удивительно крив для успешного архитектурного языка:
-- в его основе аристотелевская физика. Если палец может давить на стол, то стол не может давить на палец. Все объекты делятся на активные и пассивные, по определению. Если ты учишь кого-то, то тебе нужно указать обучаемого один раз как стейкхолдера, а один раз как пассивный объект. Как показать, что это один и тот же "ученик" -- неведомо. То же самое с программой. Если ты хочешь показать, что программа не только исполняется, но и разрабатывается перед этим -- будь добр, рисуй два объекта и нет внятного способа показать, что это один и тот же объект. Это общее для всех языков моделирования, Архимейт тут не уникален, конечно.
-- он различает системные уровни людей, софта, компьютеров и физический. Если ты хочешь сделать функциональную декомпозицию, а потом уже выбрать, будет ли реализовываться функция людьми, софтом или даже сразу аппаратно.
-- системность там есть, но нельзя сказать, чтобы она как-то была выражена последовательно. Вопрос о том, как моделировать системный уровень решается нетривиально, в самом языке моделирования на эту тему ничего не говорится. Понятно, что уровни инкапсулируются через сервисы, но в жизни оказывается, что разные люди понимают это инкапсулирование по-своему. Для самого архимейта, не рассчитывающего на то, что инженеры предприятия системные инженеры предприятия, это неважно. Хотя многие системные инженеры предприятия считают именно так, но нельзя сказать, что они думают именно с использованием всего системного подхода в полной его мощности. Но для системных инженеров так уже нельзя: у них в голове системный подход, и нужно соглашение о моделировании, в котором системность архимейта должна быть выпячена.
Архимейт и его терминология порождают проблемы в количестве, на ровном месте. Например, viewpoint самого архимейта -- это фильтр для базы данных всех моделей из ISO 42010. Но это не viewpoint из 42010! Как только мы начинаем в Archi строить метод описания из примитивов архимейта и говорить, что это viewpoint именно архимейта, так сразу наступает непонимание! То же самое происходит, когда мы берём произвольные понравившиеся нам значки motivational extension архимейта и обзываем их произвольными словами, переведя понятия из SEBoK. Вся мощь гармонизации многих и многих стандартов системной инженерии, вся мощь самого архимейта при этом превращаются в тыкву, хотя тыква тоже очень хороший и полезный питательный продукт. Так нельзя.
А ещё текстовое представление для ArchiMate сегодня -- это XML-файл. Дело не в том, что это даже не JSON, что было бы не лучше. Главное это то, что при росте объёме модели, а в системной инженерии модели несравнимы по числу деталей с моделями архитектуры предприятия, весь рефакторинг постоянно изменяющейся модели, всё управление конфигурацией и изменениями модели можно делать только на текстовом языке -- см. подробней в моих тезисах по визуальному мышлению
https://ailev.livejournal.com/1418832.html Но когда ходишь по базару и смотришь на самые удачные системные языки, то расстраиваешься ещё больше. Так, даже отличный во многих отношениях AADL пасует, когда его впрямую нужно применять для совместного описания целевой и обеспечивающей системы -- а системный подход требует именно этого! Архимейт (начиная с версии 3.0 с моделированием физического мира) в этом плане будет получше "из коробки". Линия, по которой мы разбирались с моделированием жизненного цикла в OMG Essence закончилась ArchiEssence, то есть "глазами глядим на Essence, но пишем ArchiMate". Мне до сих пор нравится вариант 3 из поста
https://ailev.livejournal.com/1168256.html -- это 2015 год, предлагается за основу SysMoLan брать Modjulica, который сегодня случился, разве что называется Modia --
https://ailev.livejournal.com/1366789.html. Ибо цитирую из материала по сслыке пункт первый про ArchiEssence: "до мультифизики оно не доползёт никогда". То, что речь шла об ArchiMate 2.1 без физики, ничего не меняет. На архимейте нельзя продвинуться далеко вправо по спектру мышления, что достаточно для инженеров предприятия. Но инженерам не-предприятия это нужно, им в конечном итоге нужна мультифизика. Но ждать тут -- ждать у моря погоды, Modia будет опубликована только летом 2018 года, и непонятно, что там окажется:
https://github.com/ModiaSim/Modia.jl. Это исследование, которое уже идёт много лет, и непонятно, сколько ещё оно может идти -- с каждым годом проблематизируясь достижениями со стороны программ искусственного интеллекта.
Так что по факту в практически всех учебных программах по системной инженерии (а на встрече были представлены курсы МФТИ-техпред, УрФУ, МАИ, Бауманки, Школы системного менеджмента) в качестве учебного языка системного моделирования был выбран ArchiMate 3.0. Учебного языка, ввиду понятных его ограничений -- не спасает даже появление системноинженерных моделеров с архимейтом, например плагин в Papyrus для ArchiMate 2.1,
http://www.adocus.com/en/products/archimate-add-in/.
Главный вывод посиделок INCOSE RUS в воскресенье -- это необходимость создания соглашения о моделировании системноинженерных проектов для Архимейта. Это соглашение о моделировании будет сделано под эгидой INCOSE RUS, я согласился стать координатором этой работы (у меня в записях чуть более широкая формулировка "координация группу по учебным программам по системной инженерии", но пока ограничимся соглашением о моделировании в ArchiMate -- это уже большое дело).
Это, в частности, означает, что мне придётся самому сделать первые варианты текста. Пока же делюсь со всеми сборничком моих древних постов на тему "Архимейт по-русски":
https://yadi.sk/i/7t3FBlZ3xhd8L. Я думаю, что нужно будет просто начинать править и дополнять этот текст. Не удивлюсь, если это будет очередная книжка, хотя очень надеюсь, что тоненькая.
Обкатывать я сам это соглашение буду в курсе "Системный менеджмент и стратегирование v2" --
https://ailev.livejournal.com/1422606.html. Курс начнётся уже 20 мая 2018, так что работа не будет затягиваться. Так что к новому учебному году для вузов будет подарочек от INCOSE RUS: соглашение о системном моделировании по-русски в ArchiMate 3.0.
Отдельно обсуждалось, не нужно ли сразу готовить такое соглашение на английском? Нет, не нужно. Поскольку мы готовим его для использования в уже существующих русскоязычных образовательных программах, нам нужно соглашение по-русски. А с английским вариантом будем разбираться потом, когда-нибудь.
И это всё не означает, что я сдался по поводу SysMoLan --
https://ailev.livejournal.com/1127145.html,
https://ailev.livejournal.com/1169972.html. Пока ресурсов на этот проект нет, он дремлет. Но может проснуться в любую минуту. ArchiMate не заменяет SysMoLan, несмотря ни на какие соглашения о моделировании.