5.1 Общая последовательность этапов методики ГОСТ Р 59797-2021
Методика (см. рисунок 2) строится на основе единого подхода к обеспечению интероперабельности, зафиксированного в ГОСТ Р 55062, и, по существу, использует принципы системной инженерии [1] [из 5.1.1 ГОСТ Р 59797-2021]
Методика содержит ряд основных и вспомогательных этапов. К основным относятся этапы 1-6, а к вспомогательным - этапы 7-9. Для обеспечения интероперабельности должны быть выполнены все основные этапы, приведенные на рисунке 1 с учетом специфики предметной области сложной системы. В ходе реализации сложной системы или ее составных частей возможно уточнение разрабатываемых стандартов (стрелка указана пунктиром).
Рисунок 2 - Методика обеспечения интероперабельности сложных систем
[из 5.1.2 ГОСТ Р 59797-2021]
5.2 Основные положения концепции создания сложной системы в интересах обеспечения интероперабельности ГОСТ Р 59797-2021
Сложная система - это система, состоящая из множества взаимодействующих подсистем, вследствие чего она приобретает новые эмерджентные свойства как единое целое, которые не могут быть сведены к свойствам отдельных подсистем [из 5.2.1 ГОСТ Р 59797-2021]
Сложная система отличается от других систем тем, что организация взаимодействия составляющих ее подсистем (проблема интероперабельности) крайне сложна [2]-[4] [из 5.2.2 ГОСТ Р 59797-2021]
Обеспечение интероперабельности в сложной системе является одной из первостепенных задач системной инженерии сложных систем и построении ЕИП [из 5.2.3 ГОСТ Р 59797-2021]
Под интероперабельностью понимается: способность двух или более систем к обмену информацией и к использованию информации, полученной в результате обмена (ГОСТ Р 55062) [из 5.2.4 ГОСТ Р 59797-2021]
Сложная система охватывает большинство областей применения, и проблема интероперабельности имеет как общие для всех областей, так и свои особенности для конкретной прикладной области [из 5.2.5 ГОСТ Р 59797-2021]
При решении проблемы интероперабельности для сложных систем, особенно включающих подсистемы из нескольких предметных областей, исключительную роль играет интероперабельность на семантическом уровне, где имеются различные онтологии данных, форматы структур данных и зачастую различное трактование понятий предметной области [из 5.2.6 ГОСТ Р 59797-2021]
При применении подхода к обеспечению интероперабельности, зафиксированного в ГОСТ Р 55062, должен быть максимально учтен зарубежный опыт [из 5.2.7 ГОСТ Р 59797-2021]
Концептуальные положения [3]-[5] создания конкретной сложной системы (элемента сложной системы) помимо прочих вопросов должны отражать:
- описание целей функционирования сложной системы и каждого из ее элементов;
- описание потребностей и ожиданий всех заинтересованных сторон, в интересах которых функционирует сложная система и каждый из ее элементов;
- описание условий и ограничений функционирования сложной системы (элемента сложной системы);
- описание ключевых ресурсов, необходимых для функционирования сложной системы и ее элементов;
- функциональные требования к системе и ее элементам, отражающие, что именно каждый из элементов должен выполнять в интересах системы;
- не функциональные требования, отражающие необходимые и достаточные значения параметров быстродействия, надежности и т. д.
[из 5.2.8 ГОСТ Р 59797-2021]
5.3 Архитектура сложной системы ГОСТ Р 59797-2021
Каждая система, входящая в сложную систему, разрабатывается для выполнения обязательных функций и предоставления соответствующих обязательных сервисов, диктуемых данной предметной областью. Множество подсистем каждой системы отражает независимое развитие каждой системы как количественно, так и качественно (функции, сервисы) и применяемые ИКТ [из 5.3.1 ГОСТ Р 59797-2021]
Архитектура сложной системы с точки зрения интероперабельности представляет собой структуру [6] с тремя размерностями (см. рисунок 3), отражающую:
- основные функции различных ИСПО, составляющих сложную систему;
- сервисы (службы), обеспечивающие интероперабельность каждой ИСПО и сложной системы в целом;
- множество ИСПО, составляющих сложную систему;
- множество подсистем и элементов, входящих в каждую ИСПО.
Рисунок 3 - Архитектура сложной системы с точки зрения интероперабельности
[из 5.3.2 ГОСТ Р 59797-2021]
При разработке архитектуры вновь создаваемой сложной системы наиболее рациональным способом обеспечения интероперабельности является внедрение промежуточного слоя программного обеспечения, общего набора сервисов, обращение к которым позволяет разнородным элементам сложной системы взаимодействовать между собой [из 5.3.3 ГОСТ Р 59797-2021]
На промежуточное программное обеспечение каждого элемента сложной системы возлагается:
- организация информационного взаимодействия разнородных элементов сложной системы (именование, адресация и т. д.);
- предоставление интерфейсов доступа к данным и процессам;
- диспетчеризация совместного функционирования элементов сложной системы в рамках информационных и управляющих процессов;
- оптимизация работы программно-технических средств.
[из 5.3.4 ГОСТ Р 59797-2021]
Кроме указанного выше, в модули промежуточного программного обеспечения целесообразно включать функции, являющиеся общими для программного обеспечения элементов сложной системы [из 5.3.5 ГОСТ Р 59797-2021]
При разработке нового элемента уже существующей сложной системы необходимо учитывать ее архитектурные особенности и принимать общие правила функционирования [из 5.3.6 ГОСТ Р 59797-2021]
При высокой степени гетерогенности системы, в которую необходимо включить вновь создаваемый элемент, целесообразно использовать технологию web-сервисов, позволяющую скрыть реализации взаимодействующих элементов [из 5.3.7 ГОСТ Р 59797-2021]
Тот же способ целесообразно применять в случае, когда сложная система собирается из готовых систем и элементов, глубокая переработка которых невозможна [из 5.3.8 ГОСТ Р 59797-2021]
5.4 Проблемно-ориентированная модель интероперабельности сложной системы ГОСТ Р 59797-2021
Для обеспечения интероперабельности сложных систем окончательные технические решения по их построению должны выбираться с учетом эталонной (см. ГОСТ Р 55062) и проблемно-ориен- тированной моделей интероперабельности. Эталонная и проблемно-ориентированная модели интероперабельности представляют собой развитие семиуровневой базовой эталонной модели построения систем с точки зрения причин возникновения барьеров интероперабельности и представлены на рисунке 4.
Рисунок 4 - Проблемно-ориентированная модель интероперабельности информационных систем предметных областей
[из 5.4.1 ГОСТ Р 59797-2021]
Интероперабельность на техническом уровне достигается главным образом за счет использования достаточно надежных и производительных компонентов, стандартных технологических решений в области телекоммуникации, реализацией web-сервисов или промежуточного программного обеспечения. Технический уровень рассматривает барьеры, связанные с программно-аппаратной реализацией элементов сложной системы, их надежностью и производительностью, удобством эксплуатации и обслуживания [из 5.4.2 ГОСТ Р 59797-2021]
Семантический уровень описывает информационно-лингвистические, смысловые аспекты взаимодействия, т. е. содержательную сторону обмениваемой информации и ее качество. Семантическая интероперабельность позволяет системам комбинировать полученную информацию с другими информационными ресурсами и обрабатывать ее смысловое содержание. Семантические барьеры интероперабельности систем должны преодолеваться за счет построения стека открытых прикладных протоколов для каждого типа системы (комплекса) [из 5.4.3 ГОСТ Р 59797-2021]
Организационный уровень акцентирует внимание на прагматических (деловых, политических, стратегических) аспектах взаимодействия и организационных барьерах интероперабельности. На этом уровне достигаются соглашения о сотрудничестве между административными органами и согласуются цели информационного взаимодействия систем. Организационная интероперабельность достигается за счет применения и единого понимания нормативно-правовых документов (соглашений, конвенций, договоров о сотрудничестве), согласованностью целей и отношений между взаимодействующими системами, учетом текущих стадий жизненного цикла систем, достижением организационной готовности объектов системы к взаимодействию между собой. При этом важно обеспечить совместное использование информации при исполнении бизнес-задач [из 5.4.4 ГОСТ Р 59797-2021]
Для обеспечения и оценки интероперабельности в сложной системе необходимо формировать спецификации на основе моделей качества, например предложенных в ГОСТ Р ИСО/МЭК 25010 и на их основе производить оценку [из 5.4.5 ГОСТ Р 59797-2021]
5.5 Разработка профиля стандартов в интересах обеспечения интероперабельности сложных систем ГОСТ Р 59797-2021
Профиль представляет собой согласованный набор стандартов. Для обеспечения интероперабельности сложной системы необходимо разработать профиль, в котором стандарты будут разложены по уровням проблемно-ориентированной модели интероперабельности [из 5.5 Разработка профиля стандартов в интересах обеспечения интероперабельности сложных систем ГОСТ Р 59797-2021]
5.6 Реализация сложных систем и их элементов ГОСТ Р 59797-2021
Основное внимание к решению проблемы интероперабельности сложных систем должно обеспечиваться на ранних стадиях их жизненного цикла, поскольку основные организационные, системотехнические и технологические решения по их созданию:
- формируются в ходе проведения фундаментальных исследований при обосновании их роли в решении актуальных задач и удовлетворения основных потребностей будущих пользователей;
- разрабатываются на уровне основных решений в ходе проведения прикладных научно-исследовательских работ;
- реализуются в виде типовых аппаратно-программных средств и конструкторских решений при выполнении опытно-конструкторских работ;
- тестируются и оцениваются в процессе проведения испытаний;
- проявляются и поддерживаются на стадии эксплуатации.
[из 5.6.1 ГОСТ Р 59797-2021]
Учитывая наличие большого количества функционирующих совместно систем и комплексов, трудности интеграции, взаимное влияние функциональных и нефункциональных параметров взаимодействующих систем, а также зависимость от возможных изменений во взаимодействующих системах, наиболее предпочтительным является спиральный (итерационный) подход к разработке сложных систем и их программного обеспечения [7] [из 5.6.2 ГОСТ Р 59797-2021]
Данный подход подразумевает эволюционное наращивание возможностей системы при регулярной оценке возможности возникновения барьеров интероперабельности. Другие модели жизненного цикла систем (V, W, Incremental) также могут использоваться при создании (модернизации) сложных систем, но, как правило, с меньшей эффективностью [4] [из 5.6.3 ГОСТ Р 59797-2021]
Преимуществом спирального (итерационного) подхода являются:
- раннее выявление рисков возникновения барьеров интероперабельности;
- поддержка изменений функционала взаимодействующих систем;
- достижение высокого качества за счет возможности исправления ошибок на следующей итерации;
- увеличение возможности повторного использования программных средств и данных. Спиральный (эволюционный) жизненный цикл показан на рисунке 5.
Рисунок 5 - Спиральный (эволюционный) жизненный цикл разработки сложной системы
[из 5.6.4 ГОСТ Р 59797-2021]
Команде разработчиков рекомендуется разработать и иметь в распоряжении на каждой итерации следующий набор документов или их аналогов [4] - [7], отражающих семантические активы системы:
- перечень (процессов) функций, выполняемых системами и их элементами, включая потоки данных между процессами (функциями) системы;
- перечень пользователей системы, включающий их функциональные и информационные потребности;
- интегрированный словарь данных;
- инфологическая модель данных;
- реализация объектов логической модели данных в виде форматов сообщений, структур данных и т. д.;
- матрица обмена оперативной информацией между системами и их элементами;
- матрица обмена служебной информацией между системами и их элементами;
- описание системных интерфейсов доступа к данным и службам;
- описание системы связи, включающее характеристики каналов и сетей.
[из 5.6.5 ГОСТ Р 59797-2021]
Указанные документы должны своевременно уточняться в случае внесения значимых функциональных или структурных изменений во взаимодействующие системы и их элементы [из 5.6.6 ГОСТ Р 59797-2021]
Ведение указанных документов должно быть направлено на поддержание достаточности программного и информационно-лингвистического обеспечения сложной системы и ее элементов для поддержания всех автоматизируемых процессов [из 5.6.7 ГОСТ Р 59797-2021]
При формировании инфологических моделей и организации информационного взаимодействия между системами и их элементами рекомендуется использовать действующие и сопровождаемые общероссийские и отраслевые классификаторы. При отсутствии таковых допускается разработка локальных классификаторов [из 5.6.8 ГОСТ Р 59797-2021]
5.7 Мероприятия по обеспечению интероперабельности сложных систем ГОСТ Р 59797-2021
При разработке сложных систем и их элементов помимо традиционной оценки рисков, связанных с вопросами полноты и трактования требований, бюджета и времени на разработку, наличия необходимых компетенций и правильной оценки трудозатрат, удовлетворения запросов заказчика и внедрения системы необходимо своевременно оценивать риски возникновения (сохранения) барьеров интероперабельности [из 5.7.1 ГОСТ Р 59797-2021]
Ключевым элементом оценки рисков возникновения (сохранения) барьеров интероперабельности сложной системы является системный анализ, проводимый регулярно, на каждой итерации создания (модернизации) системы [из 5.7.2 ГОСТ Р 59797-2021]
Подобный анализ должен проводиться с помощью комплексной системы показателей, сформированной на основе проблемно-ориентированной модели интероперабельности и отражающей организационные, семантические и технические аспекты и параметры интероперабельности сложной системы. Сформированная таким образом модель качества должна позволять локализовывать и выявлять барьеры интероперабельности организационного, семантического и технического характера в соответствии с эталонной моделью интероперабельности. Необходимо формировать модель качества функционирования оцениваемой системы, состоящую из метрик показателей качества, наиболее критичных для интероперабельности, с учетом особенностей предметной области [из 5.7.3 ГОСТ Р 59797-2021]
Для оценки численных значений указанных показателей на ранних этапах целесообразно применять системы имитационно-статистического моделирования. При этом имитационные модели удобно строить и уточнять параллельно с развитием разрабатываемой сложной системы с синтезом объектного, дискретно-событийного и системно-динамического подходов [из 5.7.4 ГОСТ Р 59797-2021]
5.8 Аттестационное тестирование сложных систем ГОСТ Р 59797-2021
Интероперабельность может быть оценена как в ходе тестирования в рамках отраслевых систем сертификации и оценки качества, так и в ходе эксплуатации сложной системы [из 5.8.1 ГОСТ Р 59797-2021]
Аттестационное тестирование программно-аппаратных комплексов сложных систем должно быть направлено на оценку соответствия стандартам профиля, требованиям, предъявляемым концепцией к показателям качества проблемно-ориентированной модели интероперабельности [из 5.8.2 ГОСТ Р 59797-2021]
Таким образом, оценка уровня интероперабельности сложных систем и их элементов должна быть комплексной и инклюзивной по отношению к ряду характеристик качества. В свою очередь каждая характеристика качества оценивается по ряду показателей, образуя модель комплексной оценки сложной системы и ее элементов с точки зрения способности к взаимодействию друг с другом. При этом конкретный состав характеристик и параметров оценки зависит от назначения конкретной системы и особенностей ее функционирования [из 5.8.3 ГОСТ Р 59797-2021]
При выборе конкретных показателей различных характеристик важно отдавать предпочтение тем, которые являются наиболее вероятными барьерами интероперабельности. Оценка качества должна быть направлена на поиск и устранение таких барьеров [из 5.8.4 ГОСТ Р 59797-2021]
При этом, учитывая сложность вопроса оценки интероперабельности сложной системы, целесообразно применять комбинированные подходы на основе натурных экспериментов с применением средств автоматизированного тестирования и расчетных экспериментов с имитационно-статистически- ми моделями, разработанными для оценки рисков возникновения барьеров интероперабельности [из 5.8.5 ГОСТ Р 59797-2021]
Подобный подход позволяет осуществлять разностороннюю оценку функционирования сложной системы и ее элементов и своевременно выявлять барьеры интероперабельности различной природы [из 5.8.6 ГОСТ Р 59797-2021]
Тестирование целесообразно проводить в три этапа:
- автономное тестирование программного обеспечения элементов сложной системы;
- сборочное тестирование сегментов и подсистем;
- функциональное (нагрузочное) тестирование сложной системы.
[из 5.8.7 ГОСТ Р 59797-2021]