Ключевые слова: приложения реального времени, прототипирование, эволюционное прототипирование, model checking, формула прототипа.
Приложения реального времени (ПРВ) составляют особый класс программных систем, на которые возлагают функции контроля и управления системными процессами в режиме реального времени.
ПРВ являются сложными критическими по времени параллельными системами, поэтому надежная своевременная обработка информации является ключевым фактором в процессе разработки таких систем, и априорный анализ способности создаваемого ПРВ удовлетворять заданным требованиям оперативного функционирования должен проводиться на всех этапах разработки.
В настоящее время прототипирование является основной парадигмой разработки сложных программных систем. Особое место занимает эволюционное прототипирование, которое начинается с построения первоначальной версии системы, призванной стать впоследствии ее окончательным вариантом. При этом к эволюционному прототипу предъявляются те же требования, что и к конечному продукту [1]. Использование прототипов позволяет быстрее, безопаснее и с меньшими трудозатратами оценить качество программных систем, начиная с самых ранних этапов разработки.
Результаты исследования и анализа SCADA-систем с точки зрения концепции разработки и управления данными в реальном времени, показали, что, как правило, такие системы делают упор на создание человеко-машинного интерфейса, с которого и начинается разработка приложения. Однако согласованность динамических данных во времени остается скрытой от пользователя, модель часов реального времени системы четко не специфицируется, ведение версий прототипов разрабатываемой системы и оценки их темпоральных характеристик не рассматривается.
В данной статье предлагается технология эволюционного прототипирования ПРВ, которая представляет собой циклический процесс, представленный на рисунке 1.
Рис. 1. Схема прототипирования ПРВ
Прототипирование ПРВ производится в несколько этапов.
1) формирование математической модели (формулы) программной системы согласно подходу model checking [2, 3]. В данной работе модель версии прототипа представляет собой размеченный ориентированный граф, специфицируемый на четырех уровнях:
– процедурном — выражает структуру связей и отношений между множеством параллельно и асинхронно выполняемых процедур обработки данных и множеством точек канального сопряжения и ячеек темпоральной памяти. Формула прототипа процедурного уровня задается в виде диаграммы асинхронных темпоральных вычислений — АТВ-диаграммы [4] и определяет семантику и динамику изменения данных в ячейках темпоральной памяти;
– модульном — формируется путем объединения и инкапсуляции узлов обработки данных процедурного уровня;
– агрегатном — логическое объединение узлов модульного уровня;
– сетевом — выражает распределение фрагментов прототипа агрегатного уровня по узлам локальной сети.
2) формирование графической спецификации при помощи языка АТВ-диаграмм;
3) сохранение версии прототипа в БД, логическая модель которой представлена на рисунке 2;
4) генерация конфигурационных файлов для загрузки и запуска приложения в локальную сеть;
5) проведение натурного эксперимента с версией прототипа и сбор статистики о возникновении ситуация неудовлетворения режиму реального времени (возникновение темпоральных прецедентов). Сохранение результатов проведения эксперимента в БД;
6) вычисление характеристик качества прототипа ПРВ и их оценка;
7) модификация прототипа ПРВ с целью улучшения показателей качества.
К характеристикам качества версии прототипа ПРВ относятся:
− валидность темпоральных вычислений — выражается в появлении в системе данных, несогласованных во времени (степень валидности которых меньше единицы: ) [5];
− темпоральная уязвимость — характеризуется интенсивностью появления темпоральных прецедентов [5];
− темпоральная устойчивость — определяется для каждой ячейки памяти прототипа ПРВ как отношение остатка интервала репрезентативности, который остается с момента последнего потребления данного ячейки памяти узлами обработки данных к интервалу репрезентативности данного и выражается в виде
где — величина интервала репрезентативности [5], — показания часов ПРВ в момент фиксации датированного данного, — момент потребления датированного данного узлом обработки.
Появление темпоральных прецедентов означает нарушение режима работы системы в реальном времени и требует устранения данной ситуации. Устранение темпоральных прецедентов выражается в поиске нужной конфигурации версии прототипа ПРВ. Управление версиями прототипа ПРВ осуществляется путем выполнения хотя бы одного из следующих действий:
− изменение тика часов ПРВ;
− изменение дисциплины диспетчеризации узлов обработки данных;
− изменение приоритетов узлов обработки данных;
− изменение периодов репрезентативности данного;
− изменение процедуры обработки данных (оптимизация алгоритма процедуры обработки);
− реконфигурация структуры ПРВ на модульном уровне;
− реконфигурация структуры ПРВ на агрегатном уровне;
− реконфигурация структуры ПРВ на сетевом уровне.
Изменяя параметры ПРВ можно добиться желаемых характеристик качества, служащих основанием возможности использования разрабатываемой ПРВ в данной вычислительной среде.
Рис. 2. Логическая модель данных прототипа ПРВ
Литература:
- Прототипирование в процессе разработки ПО // Мегалекции. URL: https://megalektsii.ru/s8798t5.html (дата обращения: 16.05.2019).
- Карпов Ю. Г. Model Checking Верификация параллельных и распределенных программных систем. — СПб.: БВХ-Петербург, 2009. — 551 с.
- Вельдер С. Э., Лукин М. А., Шалыто А. А., Яминов Б. Р. Верификация автоматных программ методом Model Checking Учебное пособие. — СПб.: ИТМО Санкт-Петербург, 2011. — 246 с.
- Баландин А. В. Потоковые диаграммы асинхронных темпоральных вычислений для моделирования и РВ-верификации приложений реального времени // Сборник трудов конференции «Информационные технологии и нанотехнологии» (ИТНТ-2016). — Самара: Самарский научный центр РАН, 2016. — С. 919–926.
- Баландин А. В. Модель параллельных и асинхронных темпоральных вычислений с автовалидацией // Перспективные информационные технологии ПИТ-2015, Том 2. — Самара: Самарский научный центр РАН, 2015. — С. 3–7.