Модельно-ориентированный
подход к управлению жизненным циклом сложных технических изделий
С.П. Ковалёв,
с.н.с., д.ф.-м.н., kovalyov@nm.ru,
А.В. Толок,
зав.лаб., проф., д.т.н., atol@ipu.ru
ИПУ РАН, г. Москва
Представлен подход к управлению жизненным циклом
(ЖЦ) сложных технических изделий согласно принципам модельно-ориентированной системной
инженерии (Model-Based Systems Engineering). Концептуально, управление ЖЦ
сводится к манипуляциям над комплексом взаимоувязанных разнородных моделей,
отражающих все части и аспекты изделия. Например для быстрого расчета
характеристик механических изделий в условиях эксплуатации применяются
функционально-воксельные модели. Для математического моделирования и расчета
операций ЖЦ применяется конструктивная логика и теория категорий.
Предполагается апробировать подход при создании российской системы управления
полным жизненным циклом изделий.
An
approach to lifecycle management for complex technical products by principles
of Model-Based Systems Engineering is presented. Conceptually, lifecycle
management is reduced to manipulating a complex of heterogeneous interconnected
models that describe all product’s parts and aspects. For example,
functional-voxel models are employed for fast computing of mechanical product
characteristics in exploitation conditions. Constructive logic and category
theory are employed for mathematical modeling and calculating lifecycle
operations. The approach is planned for validation at development of the
Russian product lifecycle management system.
Моделирование относится к числу главных способов
повышения эффективности инженерной деятельности. Чем более гибким и доступным
является материал, из которого изготавливаются модели, тем более сложные изделия
можно моделировать и затем конструировать при фиксированных сроках и бюджетах.
Наилучшими с этой точки зрения являются виртуальные модели, создаваемые и
обрабатываемые на компьютерах вне жестких ограничений физического
пространства-времени. Информационный «материал» оказывается даже чересчур
гибким: необходимо налагать строгие ограничения на языки и средства
моделирования, чтобы модель была понятна различным участникам жизненного цикла
(ЖЦ) изделия и принята ими в качестве адекватного образа изделия. Не удается
изобрести единый язык для записи любой виртуальной модели – для описания
разноплановых аспектов изделия создается много разнородных языков, и необходимо
заботиться об их концептуальной совместимости [1].
При наличии комплекса взаимоувязанных разнородных
моделей, отражающих все части и аспекты изделия, удается значительно повысить
эффективность управления ЖЦ изделия, сведя его к манипуляциям над моделями. В
таком подходе все операции ЖЦ сначала задаются, оптимизируются и верифицируются
на моделях «в цифре», и только потом выполняются «в железе». Чтобы результаты
анализа на моделях заслуживали высокого доверия, необходимо проводить его с
математическим уровнем строгости. Здесь целесообразно применять нетрадиционный
аппарат, основанный на конструктивной логике и теории категорий.
Предполагается использовать этот подход для
реализации системного фундамента отечественного программно-аппаратного
комплекса – системы управления полным жизненным циклом сложных технических
изделий. Проект по созданию системы планируется реализовать консорциумом ведущих
отечественных разработчиков программного обеспечения во главе с МВТУ им. Н.Э.
Баумана и КНИТУ-КАИ, при научном сопровождении Института проблем управления им.
В.А. Трапезникова РАН.
Проблемы организации ЖЦ сложных изделий относятся к
компетенции специальной инженерной дисциплины – системной инженерии [2].
Система понимается как «совокупность взаимосвязанных компонентов, которые
работают совместно для достижения общей цели» [2, с. 53]. Главным исходным
мотивом к созданию систем является присущая им эмерджентность – появление
свойств и возможностей по достижению цели, отсутствующих у любого из
компонентов. К числу, может быть, наиболее известных практик системной инженерии
относятся сбор и анализ требований, выработка системной архитектуры, выделение
интерфейсов, моделирование, трассирование, верификация (проверка) и валидация
(приемка), управление ЖЦ изделия. В проектах, составляющих ЖЦ сложного
технического изделия, системный инженер организует деятельность
инженеров-специалистов по отдельным частям и аспектам (механическим,
электрическим, программным и т.д.) так, чтобы части могли быть собраны в
цельную систему, обладающую ожидаемой эмерджетностью, при условии соблюдения
наложенных временных и стоимостных
ограничений.
Классическая системная инженерия унаследовала от
частных инженерных дисциплин документо-ориентированный подход, в котором
основной единицей инженерной деятельности считается документ, описывающий то
или иное инженерное решение с той или иной точки зрения в той или иной
модальности. Любой документ предназначен для чтения и восприятия людьми –
участниками ЖЦ: руководителями, которые его утверждают, исполнителями, которые
выполняют «в железе» предписанные им действия, и др. Таким образом, между
инженером и изделием всегда имеется «зазор», вызванный человеческим фактором.
Кроме того, рост масштаба и сложности изделий приводит к взрывному увеличению
количества документов и затрат труда на документооборот. Иными словами,
документо-ориентированный подход очень плохо масштабируется – он приводит к
бюрократизации процессов ЖЦ и утрате гибкости (agility).
В целях преодоления этих проблем в конце 2000-х
годов был предложен новый модельно-ориентированный подход в системной инженерии
(Model-Based Systems Engineering, MBSE) [3]. Он предлагает
инженерам работать не с документами, а с моделями – абстрактными формальными
представлениями системных решений, пригодными к автоматической обработке на
компьютерах. Абстрагирование и автоматизация рассматриваются как главные
факторы, позволяющие создавать значительно более сложные системы, чем в рамках
документо-ориентированного подхода. Модели возникают в самом начале ЖЦ изделия
в результате формализации ожидаемых возможностей, развиваются и уточняются по
ходу процессов создания системы, выступают в качестве эталонов в процессах
проверки и приемки. Модели, обладающие достаточной степенью детализации и
прошедшие формальную верификацию, используются как задания для автоматических
средств изготовления изделия и управления им, исключая искажение инженерных
решений человеческим фактором исполнителей.
Пионерами в разработке и внедрении MBSE выступили
компании Telelogic, IBM, Vitech, JPL [2]. Многие подходы и
наработки были заимствованы ими из отрасли разработки программного обеспечения,
где формальное моделирование традиционно рассматривается как один из основных
способов понимания и построения программных систем [4]. Применение MBSE в
основном ограничивалось процессами создания системы – от начала ЖЦ до приемки в
эксплуатацию. Поддерживалось конструирование моделей требований к изделию (requirements), его поведения (behaviour), архитектуры (architecture), проверки и приемки (verification and validation, V&V),
связанных путем трассирования [3] (рис. 1). Инструменты автоматизации коллективной
распределенной работы с комплексами моделей способны предоставить системным инженерам
удобную интегрированную информационную среду для гибкого совместного
проектирования изделий (agile concurrent engineering).
рис.
1 [3]. Модельно-ориентированная системная инженерия.
В качестве стандартного языка для записи моделей
предлагается диаграммный язык SysML [5] – расширение языка
объектно-ориентированного проектирования программных систем UML,
учитывающее отличия системной инженерии от программирования. В SysML
введены диаграммы требований и параметрические диаграммы, а из UML
заимствованы только поведенческие и структурные диаграммы, причем с
изменениями. Например, представление системной единицы общего вида называется в
SysML блоком (а не классом, как в UML), в диаграмму деятельности
добавлены изображения непрерывных и вероятностных потоков, и т.д. Однако
оказалось, что весь спектр потребностей в моделировании ЖЦ сложного изделия не
может быть удовлетворен объектно-ориентированным подходом (даже в расширенном
толковании). Поэтому в сферу MBSE вовлекаются языки, основанные
на принципиально иных парадигмах системного мышления: ArchiMate
для
проектирования предприятий, языки реального времени и др.
Однако и этих языков может не хватить, если
распространять модельно-ориентированный подход на «дальние» стадии ЖЦ –
эксплуатацию, модернизацию, утилизацию. Такое распространение позволяет
значительно повысить отдачу от усилий, вложенных в моделирование. Например,
модели стадии проектирования можно использовать как эталоны при периодической
оценке потребности эксплуатируемого изделия в ремонте. Но могут возникнуть и
новые виды моделей: различия между стадиями ЖЦ, между категориями участников
ЖЦ, между методами решения задач управления ЖЦ приводят к высокой степени
концептуальной разнородности моделей. Поэтому наряду со стандартными и типовыми
моделями, для эффективного решения специфических задач подключаются или
создаются специализированные модели. Предусматриваются мощные инструменты
метамоделирования – создания языков моделирования, эргономичных редакторов
моделей, интерпретаторов и анализаторов моделей. Расчет и оптимизация
интегральных (эмерджентных) характеристик сложных изделий ведется по
мегамоделям – модельным сборочным чертежам. Весь информационный выход ЖЦ
автоматически генерируется из моделей: документы, тесты, задания для станков с
ЧПУ и 3D-принтеров и т.д. Обеспечивается сквозное трассирование требований.
Отдельные примеры применения многомодельного
подхода можно найти в классической инженерной практике. Так, конструкторская,
технологическая и эксплуатационная структура сложного машиностроительного
изделия – это три разных тесно связанных мегамодели, предназначенные для
применения на трех разных стадиях ЖЦ. Полноценная поддержка многомодельности
позволяет существенно расширить подобную практику, способствуя повышению
эффективности ЖЦ изделия.
Чтобы проиллюстрировать широту возможностей
модельно-ориентированного подхода к управлению ЖЦ, приведем пример его
инновационного применения в области геометрического твердотельного
моделирования. В дополнение к классическому полигональному моделированию и
расчету характеристик изделия методом конечных элементов (МКЭ), здесь
реализуются функционально-воксельные модели и методы, позволяющие решать ряд
инженерных задач с меньшими затратами вычислительных ресурсов. Экономия
ресурсов особенно важна при моделировании и анализе характеристик изделий,
находящихся в эксплуатации, поскольку высокопроизводительные компьютеры с
тяжелыми САПР в полевых условиях часто недоступны. Здесь моделирование
проводится, чтобы грубо, но быстро оценить последствия воздействий, которым
изделие подвергается в ходе эксплуатации (в том числе нештатных, не учтенных
при проектировании), сформировать крупноблочные производственные задания на
ремонт и модернизацию изделия (в том числе после нештатных ситуаций и/или с
нештатными запасными частями), проявить другие аспекты фактических
взаимоотношений изделия с реальным миром.
В основе любой геометрической модели твердого тела
лежит первичное аналитическое описание формы тела – исходное и наиболее точное
представление. Разные компьютерные геометрические модели отличаются принципами
дискретного разбиения формы на области в евклидовом пространстве. В
классическую полигональную модель включаются области, наиболее близко
аппроксимирующие геометрическую форму тела, т.е. максимально приближенные к его
поверхности. Такие модели широко поддерживаются современными САПР. Однако у них
есть серьезный недостаток: они утрачивают «обратную связь» с оригиналом (с
аналитическим представлением), что приводит к высоким затратам на разработку и
выполнение схем расчета характеристик тела по модели. Отдельно взятый элемент полигональной
модели не несёт никакой информации, кроме координат своего положения. Переход к
нерегулярной сетке элементов, приближенно воспроизводящей дифференциальную
структуру формы, приводит к дальнейшему падению вычислительной эффективности.
В этих условиях растет интерес к моделям с
регулярным покрытием пространства элементами, снабженными дополнительной
информацией. Наглядная и эффективная в обработке модель получается, если в
каждый элемент регулярной полигональной модели добавляется информация о цвете,
интенсивность которого пропорциональна той или иной локальной геометрической
характеристике формы тела [6]. Дискретные модели трехмерных тел, элементы
которых нагружены цветом, называются воксельными (voxel). Если посредством цвета
кодировать геометрические характеристики функции, задающей форму поверхности
тела, то получается функционально-воксельная модель (ФВМ) – геометрическая
модель, сохраняющая связь с аналитическим оригиналом. Такой подход позволяет
упростить многие расчетные алгоритмы путем перевода представления
функциональных зависимостей на графическую основу [7]. Задействуются обширные
возможности компьютерных технологий дискретного моделирования и информационной
абстракции, остающиеся вне рамок методов типа МКЭ.
Функционально-воксельные методы открывают новые
перспективы в области инженерных расчетов, особенно на эксплуатационной стадии.
Посредством графических образов, отражающих физические законы, можно быстро
получать обоснованно точные решения многокритериальных задач упругости,
пластичности, износа и т.д. В качестве примера приведем расчет статического
прогиба упругого прямоугольного параллелепипеда под действием распределенной
нагрузки, приложенной к верхней грани. Наглядно видно, насколько грубы
результаты расчета средствами МКЭ (рис. 2) по сравнению с ФВМ (рис. 3). При
этом воксельный подход не требует ресурсоемких вычислений, характерных для МКЭ,
а базируется исключительно на геометрических законах физики. В то же время,
поскольку воксельные модели строятся путем обогащения полигональных, на них
можно выполнять и традиционные расчетные алгоритмы, задействуя накопленный опыт
применения МКЭ.
рис.2.
Расчёт прогиба упругого тела при распределенной нагрузке методом МКЭ.
рис.3.
Расчет прогиба методом ФВМ.
Математическая база модельно-ориентированного
подхода (и системной инженерии вообще) заслуживает особого внимания. Дело в
том, что на практике системные проектные решения принимаются в основном если не
методом проб и ошибок, то путем воспроизведения ранее принятых решений.
Системные решения придумываются, а не рассчитываются так, как рассчитывается
например прочность конструкций. Одна из причин этого состоит в том, что
традиционная расчетная математика, основанная на решении дифференциальных
уравнений, при исследовании процессов системной инженерии не работает,
поскольку подходящие уравнения практически отсутствуют. Нужна совсем другая
математика. Один из перспективных подходов к ее построению основывается на
наблюдении, что даже примитивные инструменты модельно-ориентированного подхода
способны накапливать полную историю разработки всех моделей в ходе ЖЦ. Если
модели компонентов и технологических операций ЖЦ записаны математическим
языком, то математические мегамодели систем можно задавать ориентированными
графами (диаграммами), узлы которых помечены компонентами, а ребра сборочными
операциями. Мощный аппарат для конструирования и анализа диаграмм такого типа
развит в рамках теории категорий – раздела высшей алгебры, который «начинается
с наблюдения, что многие свойства математических систем можно представить
просто и единообразно посредством диаграмм» [8, с. 12]. Модели компонентов и
систем образуют объекты подходящих категорий, операции – морфизмы, комплексные
технологические процедуры – диаграммные конструкции. В целях структурного
согласования разнородных процедур, заданных в разных категориях такого рода,
вводятся подходящие функторы между этими категориями. Трансформации моделей по
ходу ЖЦ, такие как порождение программ и заданий для станков, математически
описываются, в частности, процедурами логического синтеза, которые извлекаются
из конструктивных доказательств свойств моделей в подходящих логических
исчислениях. Трансформации также объединяют модели в категории.
Таким путем формируется универсальный
математический язык системной инженерии на базе конструктивной логики и теории
категорий. Он обладает компактностью и концептуальной прозрачностью: принятие
проектного решения – это конструктивный логический вывод [9], мегамодель – это
диаграмма теории категорий [10], выделение интерфейсов – это функтор [11],
трассирование – это морфизм определенного вида [12], и т.д. В разнородных
моделях приемы системной инженерии представляются и называются по-разному,
поэтому сопоставление их конструкциям универсального языка позволяет
семантически корректно взаимоувязывать модели, ставить расчетные задачи
общесистемного уровня и интерпретировать их результаты.
Так, расчету акта сборки систем из мегамодели
отвечает построение копредела – универсальной диаграммной конструкции [10]. Для
иллюстрации этой конструкции рассмотрим соединение компонента P с
системой S – прием сборки, состоящий в добавлении
промежуточного компонента G, называемого клеем (glue)
или связкой (connector), который способен интегрироваться как с
компонентом, так и с системой. Например, в качестве S можно рассматривать стену
ванной комнаты в доме, а в качестве P – кафельную плитку,
наклеиваемую на стену при помощи клея G. А в программировании
путем соединения строятся системы на базе промежуточного программного
обеспечения (middleware), которое и служит связкой. Мегамодель соединения
имеет вид пары морфизмов f : P ¬ G ®
S : g. Ее копредел, называемый в теории категорий
кодекартовым квадратом, задается объектом-вершиной V и парой морфизмов-ребер p : P ® V ¬ S : s таких, что p ◦ f = s ◦ g (т.е. соблюдается структурная корректность системного решения) и кроме
того выполняется следующее условие универсальности: для любых объекта T и
пары морфизмов u : P ® T ¬ S : v, если u ◦ f = v ◦ g, то существует единственный морфизм w : V ® T, удовлетворяющий соотношениям w ◦ p = u и w ◦ s = v (рис. 4). Тогда объект V
действительно отвечает системе, которая собрана из S и P
путем соединения посредством G и не содержит ничего
«лишнего». Если такой объект V существует, то он
определяется однозначно с точностью до изоморфизма – формального представления
несущественного различия между моделями. Если же копредела не существует, то
делается вывод, что клей G не способен соединить
компонент P с S посредством действий f и
g.
рис.
4. Расчет мегамодели соединения.
Конструкция кодекартова квадрата часто
рассматривается в литературе по теоретико-категорным методам сборки систем,
особенно программных [13]. При некоторых технических ограничениях через нее
можно выразить копредел любой конечной диаграммы [8], т.е. формально собрать
систему из любой мегамодели. Путем обобщения конструкции кодекартова квадрата
рассчитываются типовые формальные мегамодели более сложных процедур разработки
систем, таких как аспектное связывание – метод безошибочного моделирования
общесистемных задач, рассеянных по всем единицам архитектуры изделия (crosscutting concerns), например мониторинговых или защитных [14].
Существуют и создаются автоматические решатели
конструкций математического языка системной инженерии – машины логического
вывода, обходчики теоретико-категорных диаграмм и др. Они позволяют проводить
интеллектуальный расчет и оптимизацию системных решений, поскольку с их помощью
можно вычислять значения целевого функционала (такого как стоимость или
надежность) для разных возможных решений заданной проблемы. Далее среди решений
отбирается такое, значение функционала на котором экстремально по сравнению с другими
вычисленными значениями, и соответствующая логико-категорная конструкция
интерпретируется приемами подходящей технологии ЖЦ. Если дополнить этот
механизм средствами генерации всех решений, удовлетворяющих высокоуровневым
проектным ограничениям, то можно свести почти к нулю затраты человеческого
труда на управление ЖЦ.
Применение подхода, представленного в докладе, при
создании системы управления ЖЦ сложных технических изделий позволит реализовать
в ней следующие функциональные преимущества по сравнению с аналогами:
- формирование
полнофункциональной интегрированной информационной среды гибкого совместного
проектирования изделий;
- поддержка метамоделирования
и мегамоделирования;
- повышение эффективности
эксплуатационного мониторинга, модернизации, утилизации;
- расширение области
применения инженерных расчетов, повышение их быстродействия и точности;
- автоматическая генерация
информационного выхода процессов ЖЦ;
- сквозное трассирование
требований.
Архитектуру системы управления целесообразно
сделать микрокомпонентной – организовать в виде большого набора небольших
инструментов, хорошо интегрирующихся друг с другом и с системами сторонних
производителей. Это позволит собирать в режиме «конструктора» любую конкретную
систему управления ЖЦ с учетом специфики конкретных предприятий, конкретных
изделий, конкретных инженерных практик. Микрокомпонентная архитектура также
дает большую свободу выбора вариантов развертывания системы по
программно-аппаратной базе, в том числе распределение функций по уровням иерархии
управления ЖЦ, размещение ресурсоемких задач в вычислительном облаке и т.д.
3. Long D., Scott Z. A Primer For Model-Based Systems Engineering.
Blacksburg: Vitech corp., 2011.
4. Schmidt D.C. Model-driven engineering // IEEE Computer. 2006. Vol.
39(2). P. 25–32.
8.
Маклейн С. Категории для работающего математика. М.: Физматлит, 2004.