Разработка машинно читаемых требований для информационных моделей большого объема
Бесплатный доступ
Актуальность работы определяется возрастающей необходимостью автоматизации процессов системного анализа и проектирования в современных крупномасштабных программных и технических комплексах. Целью исследования является разработка универсального подхода к формированию машинно читаемых требований для информационных моделей, отличающихся большим объемом и высокой степенью структурной сложности. В качестве методов использованы сравнительный анализ существующих формальных нотаций, элементы теории формальных языков, а также концепции объектно ориентированного проектирования. Основные результаты исследования – описание модели структурирования требований, основанной на модифицированном метаязыке, и практические примеры автоматизированной обработки требований для информационных моделей большого объема. Сделан вывод о значительных преимуществах использования машинно читаемых спецификаций по сравнению с традиционным текстовым подходом. Намечены направления дальнейших исследований, связанные с интеграцией подхода с CASE-средствами, расширением формализаций и применением технологий NLP и машинного обучения.
Информационная модель, машинно читаемые требования, MRRs, формализация, автоматизация проектирования, формальные языки, большие данные
Короткий адрес: https://sciup.org/148333883
IDR: 148333883 | УДК: 004.6 | DOI: 10.18137/RNU.V9187.26.02.P.93
Development of machine-readable requirements for large-scale information models
The relevance of the research is determined by the growing need for automation in system analysis and design processes in modern large-scale software and technical complexes. The aim of this paper is to develop a universal approach to the formation of machine-readable requirements for information models characterized by large volume and high structural complexity. Comparative analysis of existing formal notations, elements of formal language theory, and object-oriented design concepts were used as methods. The main results include a description of a requirement structuring model based on a modified metalanguage and practical examples of automated requirement processing for large-scale information models. The conclusion is drawn about the significant advantages of using machine-readable specifications compared to the traditional text-based approach. Directions for further research related to the integration of the approach with CASE tools, extension of formalizations, and the application of NLP and machine learning technologies are outlined.
Текст научной статьи Разработка машинно читаемых требований для информационных моделей большого объема
Современное состояние развития цифровых технологий и программного обеспечения предъявляет всё более жёсткие требования к масштабируемости, структурной ясности и адаптивности информационных систем. Одной из фундаментальных задач информатики при этом становится такое описание сложных программных и информационных систем, которое бы обеспечивало не только формальную однозначность, но и непосредственную машинную интерпретируемость спецификаций требований. Во многих практических областях – от автоматизации деловых процессов и встраиваемых систем реального времени до управления большими данными (Big Data) и систем искусственного интеллекта – информационные модели быстро приобретают огромные объёмы и всё более сложную структуру, что резко усложняет формулирование и поддержание требований в актуальном состоянии.
В контексте традиционного системного инжиниринга требования формулируются преимущественно в человекочитаемой форме – на естественном языке или с применением отдельных элементов структурированных нотаций. Это создаёт предпосылки для появления двусмысленностей, ошибок интерпретации и рассогласований между проектными командами.
Концепция машинно читаемых требований (Machine-Readable Requirements – MRRs) направлена на формализацию процесса описания и интерпретации требований таким образом, чтобы они могли быть обработаны специализированными инструментальными средствами: парсерами, генераторами кода, средствами верификации и тестирования, а также системами автоматизации жизненного цикла программного обеспечения [1–3].
Цель исследования – разработка универсального подхода к формализации и структурированию машинно читаемых требований, обеспечивающего их однозначную интерпретацию и автоматизированную обработку для крупных и сложных информационных моделей.
Материалы и методы
В основе методологии исследования лежит сравнительный анализ существующих подходов к формализации требований, включая формальные языки спецификаций (Z, Alloy, VDM, TLA+) [4; 5], стандарты моделирования (UML, SysML) и современные форматы об-
Разработка машинно читаемых требований для информационных моделей большого объема мена требованиями (ReqIF)1. В работе используются элементы теории формальных языков и грамматик (в частности, расширенная форма Бэкуса – Наура) для синтаксического и семантического описания требований. Также применяются принципы объектно ориентированного проектирования для создания модели структурирования требований. Практическая проверка подхода осуществляется путем разработки прототипа метаязыка и средств автоматизированной верификации на Python с использованием библиотек re и networkx [6].
Обзор литературы
Классические работы в области формализации требований заложили основы технологий машинно читаемых спецификаций. Такие языки, как Z, Alloy, VDM и TLA+, представлены в трудах Жан-Рэймонда Абру, Лесли Лэмпорта, Даниэля Джексона и других исследователей [4; 5]. Стандартные методы, такие как UML и SysML, предлагают визуальные и текстовые средства моделирования, но из-за прикладной нестрогости их синтаксиса и семантики они зачастую не могут полностью решить задачу автоматического исполнения требований. В последние годы особое внимание уделяется подходам к структурированию требований, основанных на XML, JSON, YAML и специализированных DSL (Domain Specific Language), например, ReqIF (Requirements Interchange Format)2.
Со стороны российских исследований по формализации требований следует отметить работы В.Н. Иванова, С.В. Поспелова, посвященные формализации естественноязыкового описания технических систем, а также работы в области применения теории формальных языков к задаче автоматизированной генерации документов требований (П.Н. Рыков, Н.В. Котов и др.) [6]. Специализированные программно-инженерные сообщества разрабатывают инструменты автоматизированного анализа и парсинга требований (DOORS IBM, Enterprise Architect, Polarion), однако недостаточная поддержка масштабируемых моделей остается актуальной проблемой.
Результаты исследования и их обсуждение
Предложен подход, основанный на разработке машинно читаемого метаязыка на базе расширенного синтаксиса Backus-Naur Form (BNF) с поддержкой вложенных структур, параметризации и типизации требований [7].
Формальное описание базовой структуры машинно читаемого требования может быть представлено следующим образом:
T = < I , C , S , D , R >, (1)
где T – требование;
I – уникальный идентификатор требования;
C – класс (тип) требования (функциональное, нефункциональное);
S – структура (в том числе составные элементы и предикаты);
D – детальное специфицирующее описание (атрибуты, параметры);
R – набор связей (references, trace-links) с другими требованиями либо компонентами информационной модели.
Вестник Российского нового университета
Серия «Сложные системы: модели, анализ и управление». 2026. № 2
Ключевым элементом подхода является поддержка автоматической трассируемости требований, позволяющей отслеживать влияние изменений одного требования на остальные, а также фиксировать степень их исполнения на различных этапах жизненного цикла системы [6; 8]. Для этого реализуется специализированная система меток и версиониро-вания, описываемая в рамках расширенной ER-модели (Entity-Relationship Model).
В качестве практической реализации предложенного подхода проведена разработка прототипа метаязыка (см. Рисунок) для описания машинно читаемых требований к большой информационной модели базы данных научного учреждения [9; 10].
Рисунок. Пример отдельного требования в машинно читаемой форме Источник: рисунок выполнен автором.
Данный формат обеспечивает как однозначную семантику (каждое поле строго типизировано), так и возможность автоматизированной проверки согласованности требований относительно всей структуры информационной модели. Реализация поддержки проверки требований заключается во внедрении средств анализа исходных YAML-спецификаций на соответствие формальным правилам, реализованным на Python с применением регулярных выражений (модуль `re`), а также средствами построения конечных автоматов и графов связей (с использованием библиотеки `networkx`) [11].
Для подтверждения эффективности метода проведено сравнение традиционного текстового специфицирования требований и машинно читаемого подхода на реальных проектах по автоматизации научных вычислений (см. Таблицу). При анализе исполнения требований оценивались скорость трассировки изменений, полнота покрытия тестовых сценариев и количество выявленных конфликтов требований на этапе проектирования [12].
Таблица
Пример сопоставления ручного и автоматического анализа требований
|
Метрика |
Текстовые требования |
Машинно читаемые требования |
|
Среднее время верификации |
12 ч |
4 ч |
|
Конфликтность требований |
7 % |
1,9 % |
|
Полнота тестовых сценариев |
88 % |
97 % |
|
Скорость фиксации изменений |
18 мин/изменение |
5 мин/изменение |
|
Масштабируемость моделей |
До 5 тыс. требований |
Свыше 20 тыс. требований |
Источник: [12].
Разработка машинно читаемых требований для информационных моделей большого объема
Формально процесс верификации машинно читаемых требований может быть описан следующей процедурой. Пусть для любого множества требований M = { T 1 , T 2 , …, Ti } задано множество автоматических предикатов проверки Pi . Тогда итоговая функция верификации φ имеет вид
где ki – количество проверок для требования Ti .
Если φ( M ) = TRUE, значит, все требования в модели согласованы по заданным критериям.
Проведённое исследование демонстрирует, что внедрение машинно читаемых требований обеспечивает значимые преимущества в вопросах структурирования, проверки и автоматизированной обработки спецификаций для крупных информационных моделей. Разработанный подход к формализации и интерпретации требований позволяет существенно снизить издержки на анализ, верификацию и сопровождение модели на протяжении жизненного цикла системы [13]. В результате внедрения машинно читаемых требований скорость автоматизированной верификации увеличилась на 32 %, а доля конфликтующих требований снизилась с 7 до 1,9 % [3].
Однако для более широкой промышленной применимости предложенных решений требуется дальнейшая проработка вопросов интеграции машинно читаемых требований с существующими инструментами проектирования (CASE-средства), расширения поддерживаемого множества формализаций, а также разработки методов автоматизированного преобразования естественно-языковых требований в формальные структуры посредством технологий NLP. Перспективными направлениями будущих исследований являются создание инструментов анализа семантической избыточности и автоматической коррекции требований, а также применение методов машинного обучения к анализу больших массивов спецификаций [14].
Заключение
Универсальный подход к формализации требований, развитый в рамках данного исследования, позволяет существенно упростить построение, сопровождение и расширение крупных информационных моделей, обеспечивая необходимый уровень однозначности, согласованности и автоматизации проектирования в современных ИТ-проектах. Предложенная модель и практические примеры подтверждают эффективность использования машинно читаемых спецификаций для повышения качества и скорости разработки сложных систем.