Использование цифровой платформы по разработке и применению цифровых двойников CML-Bench®, относящейся к классу SPDM-систем, позволяет существенно сократить себестоимость разработки высокотехнологичных изделий и время вывода на рынок высококонкурентных изделий, обеспечить высокое качество продукции. Вторая часть опубликованной в № 8 статьи «Цифровая платформа по разработке и применению цифровых двойников (Digital Twins) CML-Bench® (часть 1)» [1] посвящена рассмотрению архитектуры, ключевых аспектов программной реализации, технологий, а также функций защиты информации, использованных при разработке цифровой платформы CML-Bench®.
Введение
Работы над проектом по созданию цифровой платформы CML-Bench® [2] начаты в 2007 году. С тех пор каждая новая версия расширяет и улучшает функциональные и качественные характеристики предыдущих, а накопленный опыт использования платформы для создания высокотехнологичной продукции позволяет однозначно говорить о важности ее дальнейшего развития и применения. Вначале проект ограничивался рамками разработки системы SPDM (Simulation Process and Data Management), в дальнейшем, благодаря высококачественной реализации платформенных функций и заложенных в ее архитектуру принципов модульности и адаптивности, применение платформы преодолело эти границы: разработанные цифровые двойники используются не только в высокотехнологичной промышленности, но и в других отраслях. В проектах подобного масштаба ключевыми являются вопросы архитектуры. Незначительные ошибки, допущенные при проектировании архитектуры, и неточности в выборе подходящих программных решений и технологий, допустимые для небольших проектов с ограниченным временем жизни, превращаются в серьезные проблемы для проектов масштаба CML-Bench®.
Архитектурная модель CML-Bench® содержит три уровня: клиентский, сервера приложений и сервера баз данных.
Уровень клиента
Конечные пользователи работают с цифровой платформой CML-Bench® с помощью браузера. Нет ограничений на тип конечного устройства пользователя (стационарный компьютер, ноутбук, планшет, смартфон) или операционную систему (ОС) — совместимыми в клиентской части являются все устройства и ОС, на которых работают актуальные версии браузера. Для рендеринга пользовательского интерфейса используется React [3].
Рис. 1. Диаграмма контейнеров базовых сервисов цифровой платформы CML-Bench®
(Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
Уровень сервера баз данных
Этот уровень обеспечивает хранение данных и реализуется с использованием российской реляционной системы управления базами данных (СУБД) Postgres PRO [4] или свободно распространяемой СУБД PostgreSQL [5] — в зависимости от предпочтений заказчика.
Уровень сервера приложений
На этом уровне сосредоточена бизнес-логика, реализованная в виде набора сервисов, работающих под управлением контейнера сервлетов Tomcat [6], написанных на Java и Kotlin с использованием Spring Framework [7].
Каждый сервис имеет три основных программных слоя: представления, бизнес-логики и доступа к данным [8].
Слой представления содержит контроллеры, отвечающие за обработку клиентских запросов. Контроллеры слоя преставления на основе данных пришедшего запроса выбирают методы классов слоя бизнес-логики, передают им клиентские данные и управление, по окончании обработки пользовательского запроса передают результат работы обратно на уровень клиента.
Слой бизнес-логики выполнен в виде программной модели предметной области, предполагающей моделирование сущностей домена с помощью классов, методы которых отражают поведенческие аспекты, а атрибуты — состояние. Этот слой является наиболее трудоемким в реализации, а кроме того, именно здесь сконцентрирована основная интеллектуальная ценность платформы.
Слой доступа к данным реализован в виде совокупности классов, осуществляющих обмен данными между слоем бизнес-логики уровня сервера приложений и уровнем баз данных. Он предназначен для согласования различий представления сущностей предметной области в объектно-ориентированной и реляционной моделях.
В качестве программной платформы CML-Bench® реализует базовые и прикладные функции. Составом прикладных функций можно управлять в зависимости от стоящих перед предприятиями задач, подключая или исключая те или иные сервисы. В отличие от прикладной части, набор базовых функций фиксирован — он создает необходимую основу для работы прикладных сервисов.
Базовые сервисы
На рис. 1 представлена схема базовых сервисов CML-Bench® в нотации C4 [9] уровня 2 — диаграммы контейнеров, на рис. 2 приведено описание их назначения.
Рис. 2. Назначение базовых сервисов цифровой платформы CML-Bench®
(Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
Базовые сервисы цифровой плат-формы CML-Bench® реализуют следующие основные функции:
- обеспечение информационной безопасности (идентификация, аутентификация, авторизация, разграничение прав доступа);
- журналирование (управление логированием работы базовых и прикладных сервисов, типизация событий);
- маршрутизация пользовательских запросов в прикладные сервисы;
- оповещение пользователя о событиях;
- работа с базой знаний (управление Wiki-страницами на html и markdown);
- пользовательский интерфейс (пользовательское рабочее пространство с деревом навигации, системой меню и рабочими областями);
- сбор обратной связи от пользователей, взаимодействие со службой технической поддержки;
- контроль лицензий на использование платформы;
- интеграция с внешними информационными системами.
Прикладные сервисы
На рис. 3 представлена схема ключевых прикладных сервисов цифровой платформы CML-Bench®, на рис. 4 — описание их назначения.
Рис. 3. Диаграмма контейнеров прикладных сервисов цифровой платформы CML-Bench®
(Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
Рис. 4. Назначение прикладных сервисов цифровой платформы CML-Bench®
(Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
Приведенные прикладные сервисы CML-Bench® реализуют следующие ключевые функции:
- управление проектами и заданиями;
- иерархическое представление данных проекта;
- представление заданий в виде диаграммы Ганта;
- работа с документами / файлами разных форматов;
- управление условиями нагружения (повторение одного и того же физического эксперимента, с разной логикой работы с целевыми показателями);
- управление библиотекой требований к разрабатываемому продукту;
- отображение матрицы требований, целевых показателей и ресурсных ограничений;
- отображение дерева эволюции расчетных вариантов;
- управление цифровыми макетами;
- управление расчетными моделями;
- управление расчетными узлами;
- интеграция c высокопроизводительными кластерами (HPC — High Performance Computing);
- управление приоритизированной очередью задач;
- сбор и анализ статистики по выполненным расчетным задачам;
- построение графиков.
Ключевые функции цифровой платформы CML-Bench®
Ряд функций, предоставляемых прикладными сервисами цифровой платформы CML-Bench®, формируют ключевые особенности платформы среди существующих систем класса SPDM.
Многоуровневая матрица требований, целевых показателей и ресурсных ограничений
Требования к свойствам проектируемого изделия, зафиксированные в техническом задании на его разработку и изготовление, преобразуются в систему (взаимосвязанных) требований, целевых показателей и ресурсных ограничений. В отличие от начальных требований, которые приведены в техническом задании и, как правило, исчисляются единицами или десятками значений, производные целевые показатели могут исчисляться десятками тысяч. Их количество определяет степень детализации свойств проектируемого изделия и уровень контроля над обликом перспективного продукта [10, 11]. Проектирование сложных высокотехнологичных продуктов с применением цифровой платформы CML-Bench® подразумевает балансировку системы взаимосвязанных целевых показателей, при том что работа с тысячами показателей находится за гранью осознания и интуиции даже самых высококлассных инженеров [12, 13]. Функции управления мат-рицей требований, целевых показателей и ресурсных ограничений, реализованные на цифровой платформе CML-Bench®, предоставляют инженеру необходимую поддержку процесса согласования иерархических и взаимосвязанных показателей. Визуализация матрицы требований с цветовой индикацией степени соответствия показателей, полученных в результате цифровых (виртуальных) испытаний, требуемым интервалам значений создает возможность комплексного мониторинга и анализа влияния показателей или группы показателей друг на друга. В результате может быть получено несколько вариантов конструкции, различающихся экономикой, технологиями изготовления и материалами и открывающих возможность формирования гибкой стратегии вывода на рынок разрабатываемого высокотехнологичного изделия (рис. 5).
Рис. 5. Фрагмент матрицы требований, целевых показателей и ресурсных ограничений
(Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
Дерево эволюции решений («цифровой след» проекта)
Дерево эволюции решений предназначено для анализа хронологии и перспективности направления разработки с отслеживанием изменения ключевых показателей. Дерево эволюции представляет собой граф, каждый узел которого обозначен цветом в зависимости от принятых инженером решений по направлению развития работ над изделием, при этом граф поделен на сектора, соответствующие временным интервалам проведения виртуальных испытаний, в результате чего формируется интерактивная карта проектирования изделия (рис. 6). При наведении на узел дерева платформа визуализирует дополнительную информацию о результатах расчета (правая часть рис. 6).
Рис. 6. Дерево эволюции решений (Источник: ПИШ СПбПУ
«Цифровой инжиниринг»)
Дерево эволюции решений позволяет наглядно увидеть хронологию принятия решений, тупиковые и альтернативные ветки проектирования и цифровых испытаний, что может быть использовано для обоснования изменений направления разработки и учета полученного опыта в рамках смежных проектов.
Расчетные цепочки
Механизм расчетных цепочек позволяет автоматизировать процесс комплексного расчета, включающего использование нескольких видов инженерного программного обеспечения. С помощью этого механизма можно построить расчетный агрегат, в котором различные пакеты можно будет использовать последовательно (управление и данные передаются от одного пакета другому), условно (управление передается пакету при выполнении определенного условия), циклически (один и тот же пакет отрабатывает определенное количество раз) или параллельно (данные и управление из одного пакета передаются одновременно нескольким). При этом результаты расчетов будут переданы от одного компонента расчетного агрегата другому (рис. 7).
Рис. 7. Механизм расчетных цепочек (Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
На цифровой платформе CML-Bench® реализован конструктор процессов, служащий для определения блоков решателей, входных и выходных данных, а также способа их организации в расчетный агрегат. Разработанные процессы сохраняются в виде шаблонов в библиотеке процессов с контролем версий и управлением доступом.
Для выполнения расчетных цепочек, созданных конструктором процессов, на платформе реализован механизм, осуществляющий передачу управления и параметров, результатов и данных между разными составляющими расчетной цепочки.
Управление инженерными проектами и задачами
На цифровой платформе CML-Bench® реализованы механизмы управления проектами: постановка задач, согласование, конт-роль выполнения, планирование и конт-роль ресурсов, связь между задачами и расчетами, учет затраченного времени (рис. 8).
Рис. 8. Управление инженерными проектами и задачами (Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
В дополнение к этим функциям в настоящий момент осуществляется разработка конструктора и механизма с полноценной поддержкой BPMN 2.0 (Business Process Model and Notation — нотация и модель бизнес-процессов).
Функции информационной безопасности цифровой платформы CML-Bench®
Обеспечение безопасности в IТ-сфере в настоящее время требует к себе особого внимания. Устойчивость перед кибератаками и информационная безопасность всего предприятия зависят от уровня безопасности всех элементов и систем. Для реализации функций идентификации, аутентификации и авторизации в цифровой платформе CML-Bench® применена прогрессивная схема с двумя токенами JWT (JSON Web Token) — идентификационным (ID-токен) и токеном доступа (Access-токен). ID-токен служит для подтверждения того, что пользователь прошел аутентификацию, содержит в формате JSON данные о пользователе и служебную информацию, закодированную Base 64, а также цифровую подпись для гарантии целостности данных при передаче по сети. Его применение позволило реализовать технологию единого входа (SSO), в рамках которой пользователь, однажды пройдя процесс аутентификации, оказывается аутентифицированным во всех сервисах платформы. Описанию ID-токена посвящен стандарт OpenID Connect (OIDC) [14] — реализация поддержки на цифровой платформе CML-Bench® стандартизованного токена открывает возможность использования сторонних Identity-провайдеров (таких, как Кeycloack [15], Casdoor, Permify, Zitadel и др.). Помимо упомянутых проектов с открытым исходным кодом, возможно использование решений российских провайдеров, таких как Blitz Identity Provider [17] или Avanpost Web SSO [18]. Эти решения сертифицированы Федеральной службой по техническому и экспортному контролю (ФСТЭК России), что позволяет создать комплексное решение для прохождения аттес-тации на соответствие требуемому уровню защищенности.
Процесс аутентификации, представленный на рис. 9, заключается в обмене учетных данных пользователя (его логина и пароля для входа в систему) на ID-токен, подтверждающий, что пользователь прошел аутен-тификацию. ID-токен после своей генерации сервисом Authorization передается клиенту и добавляется («подмешивается») в его пользовательские запросы. В целях обеспечения требуемого уровня защищенности ID-токен имеет краткое время жизни (минуты), спустя которое требуется его перевыпуск с помощью служебного refresh-токена. Чем короче настраиваемый период действия ID-токена, тем меньший вред успеет нанести злоумышленник в случае, если ему каким-то образом удастся им завладеть.
Рис. 9. Процесс аутентификации на цифровой платформе CML-Bench® (Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
По умолчанию, при первом запросе клиента Spring создает сессию для кэширования переменных и результата запросов, при этом сами сессии занимают значительный объем памяти. Помимо возможности подключения внешних ID-про-вайдеров, применяемая схема позволила отказаться от использования механизма сессий в целях экономии ресурсов.
Access-токен содержит в JSON-формате данные о полномочиях, позволяющих клиентскому приложению получить доступ к ресурсу пользователя. Он выдается сервисом Authorization после успешной аутентификации пользователя в обмен на его ID-токен. Access-токен, подобно ID-токену, закодирован Base 64 и подписан цифровой подписью. При его генерации из таблиц СУБД сервиса Authorization выбирается информация о его разрешениях (используется ролевая модель), а также происходит резервирование лицензии для работы в платформе (рис. 10).
Рис. 10. Процесс авторизации на цифровой платформе CML-Bench® (Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
При работе с функциями платформы API Gateway подмешивает Access-токен к запросу пользователя, при поступлении запроса в конкретный сервис последний обращается к сервису Authorization для проверки Access-токена и принятия решения о дальнейшей обработке запроса (рис. 11).
Рис. 11. Обработка пользовательского запроса в платформе
CML-Bench® (Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
Описанная схема генерирует высокую нагрузку на сервис Authorization, так как каждый запрос к защищаемому ресурсу требует валидации Access-токена, при том что конфигурация Spring Security, предоставляемая по умолчанию, высоких нагрузок не выдерживает. Для разрешения этой проблемы сервисы безопасности цифровой платформы CML-Bench® были реализованы на основе реактивного стека технологий (Spring WebFlux), а также подхода с двухуровневым кэшированием токена. В итоге максимальная поддерживаемая нагрузка составляет более 10 тыс. запросов в секунду, что в 15 раз больше, чем возможности, предоставляемые синхронной моделью Spring.
При разработке описанных сер-висов были реализованы следующие меры информационной безопасности:
- ИАФ.1 Идентификация и аутентификация пользователей, являющихся работниками оператора;
- ИАФ.3 Управление идентификаторами, в том числе создание, присвоение, уничтожение идентификаторов;
- ИАФ.4 Управление средствами аутентификации, в том числе хранение, выдача, инициализация, блокирование средств аутен-тификации и принятие мер в случае утраты и (или) компрометации средств аутентификации;
- ИАФ.5 Защита обратной связи при вводе аутентификационной информации;
- ИАФ.6 Идентификация и аутентификация пользователей, не являющихся работниками оператора (внешних пользователей);
- УПД.1 Управление (заведение, активация, блокирование и уничто-жение) учетными записями пользователей, в том числе внешних пользователей;
- УПД.2 Реализация необходимых методов (дискреционный, мандатный, ролевой или иной метод), типов (чтение, запись, выполнение или иной тип) и правил разграничения доступа;
- УПД.4 Разделение полномочий (ролей) пользователей, администраторов и лиц, обеспечивающих функционирование информационной системы;
- УПД.6 Ограничение числа неус-пеш-ных попыток входа в систему;
- УПД.9 Ограничение числа параллельных сеансов доступа для каждой учетной записи пользователя информационной системы;
- УПД.10 Блокирование сеанса доступа в информационную систему после установленного времени бездействия (неактивности) пользователя или по его запросу;
- УПД.11 Разрешение (запрет) действий пользователей, разрешенных до идентификации и аутентификации;
- РСБ.1 Определение событий безопасности, подлежащих регистрации, и сроков их хранения;
- РСБ.2 Определение состава и содержания информации о событиях безопасности, подлежащих регистрации;
- РСБ.3 Сбор, запись и хранение информации о событиях безопасности в течение установленного времени хранения;
- РСБ.4 Реагирование на сбои при регистрации событий безопасности (сигнализация).
Поддержка цифровой платформой CML-Bench® перечисленных мер информационной безопасности позволяет отнести ее к 3-му классу защищенности государственных информационных систем (ГИС) в соответствии с Требованиями о защите информации, не составляющей государственную тайну и содержащейся в государственных информационных системах, утвержденными приказом ФСТЭК России от 11 февраля 2013 г. [18]. В настоящий момент происходит процесс сертификации цифровой платформы CML-Bench® по 6-му уровню доверия и на ее соответствие 3-му классу защищенности ГИС. Это позволит обрабатывать на цифровой платформе CML-Bench® сведения, составляющие коммерческую тайну, а также сведения с отметкой «Для служебного пользования». Параллельно с этим проходят мероприятия по оценке и планированию работ для сертификации на более высокие уровни защищенности для возможности обработки на цифровой платформе CML-Bench® сведений, составляющих государственную тайну.
Кастомизация цифровой платформы CML-Bench®
Среди основных показателей качества ПО при проектировании сервисов CML-Bench® особое внимание уделяется сопровождаемости (maintainability). Этот показатель позволяет определить потенциальную сложность внесения изменений в дизайн программных компонентов. Для максимизации значения этого показателя выбирают типовые решения и шаблоны проектирования, минимизирующие трудоемкость доработки ПО. Приоритизация показателя сопровождаемости делает платформу CML-Bench® максимально открытой для перспективного развития.
Типовая конфигурация платформы CML-Bench® удовлетворяет основным потребностям предприятий в части SPDM. Процесс кастомизации направлен на доработку платформы с целью учета специфики бизнес-процессов предприятий, в рамках которых могут быть разработаны новые сервисы, расширяющие функциональность, или модифицированы существующие для учета особенностей конкретного предприятия.
В качестве примера кастомизации, связанной с модификацией сервисов, можно привести успешно завершенный проект для ООО «Центротех-Инжиниринг» топливного дивизиона ТВЭЛ госкорпорации «Рос-атом». В рамках этого проекта была достигнута совмес-тимость с сертифицированной операционной системой со встроенными верифицированными средствами защиты информации Astra Linux Special Edition, которая представляет собой отказоустойчивую платформу для защищенных IT-инфраструктур любого масштаба и работы с данными любой степени конфиденциальности. Кроме того, программный слой CML-Bench®, отвечающий за доступ к данным цифровой платформы, был модифицирован с целью адаптации к сертифицированной версии промышленной системы управления базами данных для высоконагруженных систем Postgres PRO Enterprise Certified — российской системы управления базами данных, содержащей встроенные средства защиты от несанкционированного доступа к информации, встроенный контроль целостности исполняемых файлов и другие значимые с точки зрения безопасности функции.
Помимо этого, сервисы безопасности были модифицированы с целью соответствия внутренней политике информационной безопасности ООО «Центротех-Инжиниринг». Например, функция генерации пароля, в общем случае направляющая пользователю новый пароль по почте, была модифицирована, так как политика информационной безопасности предприятия запрещает использовать сетевые способы передачи подобной защищаемой информации.
Другим примером является реализация проекта в интересах ПАО «ОДК-Сатурн» по разработке экспериментальной технологии создания цифрового двойника морского газотурбинного двигателя (МГТД) и редуктора в составе агрегата. В рамках этого проекта произошла более радикальная кастомизация и доработка цифровой платформы CML-Bench® — разработаны новые сервисы наименования, библиотеки целевых значений, библиотеки материалов, виртуальных датчиков, доработаны существующие сервисы с целью учета данных производства, испытаний и т.п.
Организация разработки цифровой платформы CML-Bench®
В настоящий момент над развитием платформы CML-Bench® работают четыре команды СПбПУ. Работа ведется по методологии Scrum с двухнедельными синхронными спринтами. Основной упор в организации работ сделан на применении лучших практик гибкой разработки, всеобъемлющей автоматизации процессов и подходе к работе с артефактами разработки как с кодом (infrastructure as a code, architecture as a code, documentation as a code и т.п.). Особое внимание при разработке уделяется управлению качеством кода.
Используется множество «ворот качества» (quality gates) — набор предопределенных этапов, во время которых код проверяется на соответствие необходимым критериям для перехода к следующему этапу с целью обеспечения следования набору определенных правил и передовых практик, чтобы нивелировать риски и увеличить шансы на успех проекта. Применение quality gates автоматизировано и встроено в CI/CD-процесс (Continuous Integration, Continuous Delivery — непрерывная интеграция и доставка). Кроме того, для повышения информированности разработчиков о состоянии качества кода, над которым они работают, разработано собственное средство — MetricsTree, плагин для Intellij IDEA [19]. Плагин [20] предназначен для метрического анализа структурных свойств Java-кода, основан на строгих математических моделях, синергически расширяет пространство, формируемое Intellij IDEA с целью оперативного оповещения разработчиков о выходе структурных свойств кода за пределы эталонных значений (рис. 12).
Рис. 12. Визуализация степени соответствия значения метрики «Access to foreign data» эталонным интервалам для разных классов сервиса Core цифровой платформы CML-Bench®
(Источник: ПИШ СПбПУ «Цифровой инжиниринг»)
Для поддержки IT-сообщества исходный код плагина сделан открытым [21], а сам плагин распространяется под лицензией Apache 2.0 [22].
Некоторые дополнительные возможности по использованию цифровой платформы CML-Bench®
Благодаря высококачественной реализации CML-Bench® как платформенного решения, ее применение выходит за рамки традиционной SPDM-системы и, фактически, CML-Bench® представляет собой цифровую платформу по разработке и применению цифровых двойников высокотехнологичных изделий, материалов и физико-механических/технологических и бизнес-процессов.
Система принятия решений для высокотехнологичных отраслей
В настоящее время цифровая платформа CML-Bench® выступает основой для разработки программного комплекса системы поддержки принятия решений планирования, мониторинга и оценки реализуемости производственной программы высокотехнологичной отрасли с целью обеспечения решения задач планирования развития отрасли, определения ее готовности к возможному увеличению спроса на производство и заводской ремонт изделий различных типов и назначений, выявления проблем и подготовки предложений по развитию производственных мощностей.
В подобных проектах цифровая платформа CML-Bench®, объединяя многолетние наработки команды СПбПУ и реализованные базовые безопасности, импорта-экспорта и визуализации данных, формирует фундаментальную основу для разработки отдельных прикладных сервисов для многомерного анализа и многокритериальной оптимизации данных.
Архитектура и программные решения, примененные при разработке цифровой платформы CML-Bench®, следуют лучшим современным практикам создания систем уровня Enterprise, продуманный дизайн функций безопасности позволяет обрабатывать информацию с повышенными требованиями к ее защите, а особое внимание, уделенное при разработке показателю сопровождаемости, позволяет оптимизировать затраты по ее кастомизации с целью учета особенностей технологических процессов различных предприятий, открывает возможности по развитию платформы в качестве как SPDM-решения, так и цифровой платформы для решения смежных задач.
Список литературы:
- Боровков А., Бураков B., Мартынец Е., Рябов Ю., Щербина Л. Цифровая платформа по разработке и применению цифровых двойников (Digital Twins) CML-Bench® (часть 1) // САПР и графика. 2023. № 8. С. 42–51. URL: https://sapr.ru/article/26589.
- CML-Bench® — цифровая платформа по разработке и применению цифровых двойников. URL: https://cml-bench.ru/ (дата обращения: 01.03.2023).
- React. URL: https://react.dev (да-та обращения: 10.09.2023).
- PostgreSQL: The World’s Most Advanced Open Source Relational Database. URL: https://www.postgresql.org (дата обращения: 10.09.2023).
- СУБД Postgres Pro. URL: https://www.postgrespro.ru
(дата обращения: 10.09.2023). - Apache Tomcat®. URL: https://tomcat.apache.org (дата обращения: 10.09.2023).
- Spring Framework. URL: https://spring.io (дата обращения: 10.09.2023).
- Фаулер М. Архитектура корпоративных программных приложений: Пер. с англ. М.: Издательский дом «Вильямс», 2006. 544 с.
- The C4 model for visualising software architecture. URL: https://c4model.com (дата обращения: 10.09.2023).
- Боровков А.И. Новая парадигма цифрового проектирования и моделирования глобально конкурентоспособной продукции нового поколения / А.И. Боровков, Ю.А. Рябов, В.М. Марусева // Цифровое производство: методы, экосистемы, технологии. МШУ СКОЛКОВО, 2018. С. 24-44.
- Цифровые двойники и цифровая трансформация предприятий ОПК / А.И. Боровков [и др.] // Оборонная техника. 2018. № 1. С. 6-33.
- Цифровые двойники в высокотехнологичной промышленности: монография / А.И. Боровков [и др.]. СПб: ПОЛИТЕХ-ПРЕСС, 2022. 492 с.
- Цифровые двойники: определение, подходы и методы разработки / А.И. Боровков, Ю.А. Рябов // Цифровая трансформация экономики и промышленности: сборник трудов научно-практической конференции с зарубежным участием. 2019. С. 234-245.
- OpenID. URL: https://openid.net (дата обращения: 10.09.2023).
- Keycloak. URL: https://www.keycloak.org (дата обращения: 10.09.2023).
- Blitz Identity Provider. URL: https://identityblitz.ru/products/blitz-identity-provider/ (дата обращения: 10.09.2023).
- Avanpost Web SSO. URL: https://www.avanpost.ru/
products/avanpost-web-sso/ (дата обращения: 10.09.2023). - Федеральная служба по техническому и экспортному контролю. Приказ от 11 февраля 2013 г. № 17. URL: https://fstec.ru/dokumenty/vse-dokumenty/prikazy/prikaz-fstek-rossii-ot-11-fevralya-2013-g-n-17 (дата обращения: 10.09.2023).
- IntelliJ IDEA. URL: https://www.jetbrains.com/idea/ (дата обращения: 10.09.2023).
- Burakov V.V., Borovkov A.I. Advanced metric analysis tool for Java source code // Information and Control Systems. 2023. № 1. С. 17-28.
- MetricsTree IntelliJ IDEA plugin. URL: https://github.com/b333vv/metricstree (дата обращения: 10.09.2023).
- MetricsTree at JetBrains Marketplace. URL: https://plugins.jetbrains.com/plugin/13959-metricstree (дата обращения: 10.09.2023).