Моделеориентированность в жизненном цикле
На V-диаграмме удобно обсуждать классический слоган системной инженерии: все возможные работы правой части диаграммы нужно переносить в левую часть. Всё, что можно сделать на стадии определения системы, нужно делать именно на этой стадии: битами много дешевле оперировать, нежели атомами, особенно если речь идёт о сложных дорогих системах типа самолёта или энергоблока атомной электростанции. Вот данные INCOSE по стоимости исправления ошибок в зависимости от стадии жизненного цикла181:
Учитывая то, что ведущая практика определения системы – это моделирование, то речь идёт о максимизации моделирования разного рода по сравнению с инженерной работой с воплощением системы и неизбежными при этом «пробами и ошибками». Думай, думай, моделируй, только потом один раз сделай.
«Моделирование в широком смысле – это эффективное по затратам использование чего-то одного вместо чего-то другого для мыслительных целей. Это позволяет нам использовать вместо реальности что-то такое, что проще, безопаснее или дешевле чем реальность для заданной цели; модель является абстракцией реальности в том смысле, что она не может представить все аспекты реальности. Это позволяет нам иметь дело с миром упрощённым способом, обходя сложность, опасность и необратимость реальности»182.
Мы не тратим силы на обсуждение и обработку ненужных деталей моделируемого объекта. Модели – это «правильные упрощения».
Формальную (на основе математики) модель можно относительно легко проверить на формальную правильность – вручную или даже компьютером. Это называется проверкой моделей (model checking). Так, в радиосхеме можно формально удостовериться, что все её компоненты соединены и нет неприсоединённых компонент, все соединения не имеют разрывов (то есть не идут откуда-то в никуда).
Формальную модель можно подвергнуть оптимизации (в том числе компьютерной) по самым разным критериям, в том числе многим ранжированным критериям.
Где физический объект (систему) изготовить долго и дорого, можно ограничиться быстро составляемой информационной моделью, и всё-таки получить ответ на вопрос.
Формальную модель можно не делать руками, а породить (generate) компьютером – это решение проблемы сложности. Так, 21 миллиард транзисторов в современном микрочипе183 невозможно нарисовать руками на кремниевой пластине, и даже невозможно руками нарисовать принципиальную схему такого микрочипа. Но можно породить и принципиальную схему, и литографическую маску из моделей более высокого уровня на языке описания микросхем.
С использованием компьютерного моделирования резко поднялась точность и безошибочность основанного на проверяемых моделях проектирования и одновременно резко поднялась точность изготовления деталей. Компьютерное управление конфигурацией и изменениями позволили в разы снизить количество конфигурационных коллизий.
В результате происшедших изменений в распределении работ в жизненном цикле (больше работ по определению системы, меньше работ по воплощению системы) первый же самолёт новой модели летает, что раньше было невозможно. Сегодня потеряла актуальность традиционная шутка про необходимость для каждой детали «подгонки по месту напильником». Все изготовленные (чаще всего не вручную) по тщательно продуманному и отмоделированному проекту детали просто собираются в целую систему, и она работает как определено. Это соответствует одному из слоганов системной инженерии: «с первого раза правильно», т.е. первое же воплощение системы должно быть работоспособно. Не всегда ещё так получается, не у всех команд и не во всех областях деятельности, но всё чаще, чаще и чаще. Так, из сорока полётов на Марс до настоящего времени только половина закончилась успешно. Но команда инженеров Индии сумела отправить на орбиту Марса ракету с первого раза.
Практика интеграции (сборки из плохо подогнанных друг ко другу частей и связанного с этим решения системных проблем) была раньше одной из основных практик системной инженерии. Сейчас из набора основных практик системной инженерии практика интеграции исчезла, а сборка стала рутинной нетворческой операцией.
Иногда V-диаграмму c опорой на моделирование изображают так:
В этой диаграмме увеличение количества работ по определению системы за счёт работ по воплощению системы показано более толстой линией левой части V, но самое интересное – это показ проверок моделей: проверки на соответствие задуманного и сделанного идут не только между воплощением и определением системы, но и между логически более поздними и более ранними моделями определения.
Есть и другие способы показа моделирования на V-диаграмме. Например, совмещение «горбатой диаграммы» (hump diagram) трудозатрат со стадиями высокоуровневого моделирования (инженерия требований и системная архитектура), низкоуровневое моделирование (рабочее проектирование) при определении системы и изготовление, интеграция, приёмка-сдача, эксплуатация и постпроектные работы (модернизация и прекращение использования/вывод из эксплуатации)184:
Есть два типа работы с моделями. Когда пара моделей связаны «через голову человека», то есть когда человек смотрит на одну модель и разрабатывает или проверяет другую модель, то это будет моделеориентированной (model-based) работой. Так, моделеориентированная системная инженерия (model-based systems engineering, MBSE) ориентируется на использование архитектурных языков и языков представления требований в определении системы. Но когда создаётся цепочка моделей, каждая из которых берёт данные логически предшествующих ей прямо в машиннообрабатываемой форме, без интерпретации этих данных человеком, это будет моделеуправляемой (model-driven)185 работой.
Современные модели в определении системы делят на неисполняемые «модели для понимания» (чаще всего это схемы, диаграммы, предназначенные для изучения их человеком) и исполняемые модели имитационного моделирования (simulation), которые предназначены для воспроизведения каких-то разворачивающихся во времени характеристик моделируемой системы. Про более-менее полный набор компьютерных инженерных моделей имитационного моделирования говорят как про виртуальную (virtual) систему. Часто об этом говорят так: «перед тем, как построить атомную станцию, её нужно сначала построить в компьютере» и называют результирующий набор моделей «виртуальная атомная станция».
Виртуальная система часто включает в себя и модель изготовления (результат компьютерного моделирования правой части V-диаграммы), например, моделирование сооружения атомной станции в 4D для целей точного планирования её строительства и монтажа и нахождения всех ошибок планирования ещё до того, как начнётся само сооружение.
Для правой стороны тоже используют точную модель, она называется цифровой двойник (digital twin) и она моделирует систему на стадии эксплуатации на основе оперативно собираемых со множества датчиков данных о работе системы. Если с системой начинает что-то происходить не в соответствии с определением системы, то это может быть отслежено и приняты какие-то предупредительные меры, например, работа системы будет остановлена до момента разрушения. Создание и поддержка цифрового двойника сегодня – это обычный приём работы со сложными системами.