Тюгашев А. А., Шулындин А.В.
«РАЗРАБОТКА МЕТОДОВ И ПРОГРАММНЫХ СРЕДСТВ ВЕРИФИКАЦИИ ТРЕБОВАНИЙ К СИСТЕМАМ УПРАВЛЕНИЯ РЕАЛЬНОГО ВРЕМЕНИ»
Статья относится к контексту программного комплекса ГРАФКОНТ/ГЕОЗ, инструментальной программной среды для управляющих программ реального времени. Среда обеспечивает автоматизированную генерацию текста управляющей программы по её визуальному описанию в графическом редакторе, получение требуемой технической документации, отладочных заданий для разных вариантов исполнения управляющей программы, автоматический расчет временных характеристик, снижение трудоемкости и стоимости разработки.
Ключевую роль при управлении современными космическими аппаратами (КА) играют бортовые вычислительные системы (БВС), в состав которых входят одна или несколько бортовых цифровых вычислительных машин (БЦВМ). На них возлагаются задачи контроля работоспособности бортовой аппаратуры (БА) , управления движением КА и навигации, выдачи управляющих воздействий на БА при решении КА целевых задач. Функции управления реализуются при этом бортовым программным обеспечением (БПО). Увеличение количества выполняемых на борту КА задач привело к созданию сложных структурированных комплексов БПО объемом в сотни тысяч и миллионы команд. В настоящее время создание и отладка БПО является одним из наиболее трудоемких и длительных видов работ среди всех видов деятельности, связанных с созданием КА.
Среди ошибок БПО значительное количество приходится на сбои синхронизации и согласования логики управления БА при одновременном функционировании ряда бортовых систем и программ БПО в рамках решения КА целевых задач (ошибки в управляющих алгоритмах реального времени - УА РВ).
Так как полное тестирование сформированной программы будет очень дорогостоящим и займет много времени, то для повышения уровня надежности УА РВ для БВС КА могут быть использованы аналитические методы верификации, которые на основе логически строгого доказательства способны определять наличие или отсутствие у управляющего алгоритма желаемых свойств. Использование аналитических методов также позволяет облегчить проведение верификации традиционными средствами за счет автоматизированной генерации полного набора тестов, покрывающего все варианты исполнения УА РВ.
Верификация - процесс доказательства соответствия между программной реализацией задачи и спецификацией задачи. Цель верификации - демонстрация свойства корректности программы. Но для программы управления КА важна не столько верификация её выполнимости, то есть достижения выхода программы в ходе выполнения, начатого в допустимом состоянии, сколько верификация требований к системам управления реального времени. Главным образом потому, что от правильно заданных требований зависит успешное выполнение функций, возложенных на управляющую программу. Таким образом, рассматривается верификация причины, а не следствия.
Для программного комплекса ГРАФКОНТ/ГЕОЗ построен формальный математический аппарат для описания УА РВ.
Модель семантики УА РВ может быть построена как набор кортежей (четверок) Ф^
УА РВ = { Ф1 }, Ф1 = < 1 >, 1= 1,N , (1)
где £ - идентификатор функциональной задачи (ФЗ);
^ - момент начала выполнения ФЗ (целое неотрицательное число);
- длительность ФЗ (целое неотрицательное число);
1 - логический вектор, обуславливающий ФЗ.
Каждый кортеж Ф1 описывает одно действие (функциональную задачу), производимое управляющим алгоритмом. Ф1 обычно подразумевает работу какого-то прибора или агрегата, входящего в состав БА, или выполнение функциональной программы из комплекса БПО. При этом функциональная задача может выполняться не мгновенно, а на протяжении интервала времени хх, начиная с момента ^. Осуществление тех или иных действий не носит безусловного характера, а должно соответствовать текущей ситуации на борту КА, которая описывается набором значений логических переменных <0.1,...ак>, формирующих логический вектор. Таким образом, выполнению ФЗ в момент времени ^ сопоставляется логический вектор, обуславливающий данное действие. Значение каждой из логических переменных (ЛП), обуславливающих выполнение ФЗ, принадлежит множеству {1, 0, Н}. Здесь 1 обозначает ИСТИНУ, 0 - ЛОЖЬ, Н в
соответствующей компоненте логического вектора подразумевает, что выполнение ФЗ не зависит от значения данной логической переменной.
Для того, чтобы продемонстрировать реальную задачу верификации требований, возьмем пример, где заданы функциональные задачи с заданными длительностями исполнения. Но для начала опишем логические операции, участвующие в данном примере:
Т1 СН Т 2 « ^1= ^2
Т1 СК Т 2 « t Т1 + ^Т1— tт2 + ^ Т2
Т1—— Т2 ^1+ ^Т1=tт2
Здесь 1:Т1 и 1:Т2 - моменты начала выполнения алгоритмов Т1 и Т2 соответственно, тТ1 и! хт2 - длительности их исполнения.
Пример 1. Пусть мы имеем следующую формальную спецификацию УА РВ:
£ 2
£1— £з £4 СК £5
£з— £4 £2— £5, и базис:
£1, 11=2 0 £2, х2=100
£з, Тз=200
£4, т4=10 £5, 15=50
Приведенная спецификация не будет выполнимой на заданном базисе, в чем можно убедиться, рассмотрев соответствующую циклограмму (рисунок 1). Видно, что при заданных значениях длительностей ФЗ не выполняется формула £2— £5.
180 220 230
Рисунок 1 - Циклограмма на базисе, приводящем, к невыполнимости спецификации В то же время,
при других значениях длительностей ФЗ, например, нижеследующих:
Ї 2 Ї 3 Ї 4 Ї 5
рисунок 2 ФЗ
Ті=10 0
х2=150
Хз=7 0 ^4=3 0 ■15=50,
спецификация становится выполнимой, визуализацией семантики такого варианта является
100 150 170 200
Рисунок 2 - Циклограмма выполнимой спецификации УА
Данная ситуация позволяет ставить вопрос о поиске такого базового набора функциональных задач, который бы делал выполнимой заданную спецификацию, что фактически означает решение уравнений.
Таким образом, одна и та же спецификация на языке одной из описанных формальных теорий УА РВ, может быть выполнимой (непротиворечивой) на одном базисе функциональных задач, и не являться таковой на некотором другом базисе.
Тогда возможна постановка задачи поиска решения уравнений (в варианте спецификации на основе теории с равенством), или «разрешения спецификации» в случае системы «неравенств» (то есть если в описании присутствуют связки < и <<) - задачи определения точных значений длительностей ФЗ или
ограничений на их длительность, при которых заданная спецификация выполнима. Точной задача будет в том случае, если известны длительности многих ФЗ, и необходимо определить, при какой длительности искомой ФЗ спецификация будет разрешима. В остальных случаях задача будет, как правило, иметь бесконечное множество решений.
Пример 2. Найти разрешающий базис для спецификации.
£ 2
£ 2 СК £5
Решение. Разрешающими будут любые наборы ФЗ, у которых х^+ тг2 ^ хг5.
Пример 2. Найти решение для уравнения () СН £5 = (£1 СН £5) в случае, если известны
длительности £1 и £2 (то есть найти параметры £5, при которых спецификация будет истинной):
£1, 100
£2, 200
Решение. Исходя из смысла операций СН и ^, получаем, что должно выполняться tfl = tf2, то есть для приведенной интерпретации решением будет t f5 = 100.
Решение систем уравнений исчисления УА становится возможным путем перехода от формул теорий УА РВ к уравнениям и неравенствам на множестве целых чисел, в соответствии с нижеследующей процедурой (исходя из семантики предикатов и операций):
Все соотношения вида
СН приводят к tfi = tfj
СК -"- tfi + ^і = + ^
^ - -"- tfi + ^і =
< ^ - "- tfi <
<< -"- tfi + ^і <
<> -"- tfi + ^і < V tfj +
< tf
(связка ИЛИ)
^ <1> ^ означает, что логический тя бы одна компонента ак, когда в
зектор Ід
несовместен с
ектором І
и ак =0,
зекторе 1Й ак =1, а в векторе 1^ ак
и 0, Н и 1 считаются попарно совместными).
Для случая применения операций и рассмотрения равенств (уравнений):
(то есть присутствует хо-или наоборот; значения Н
^ ^ означает, что ^і = tтj, = т^, Іті = ^ , кроме того, по индукции должны совпадать поэлементно все четвёрки, описывающие вхождения в термы ^ и ^ ФЗ;
если Тр = Ті СН Т-], то 1:Ті = 1:^, хТр = шах (хті , т^) ;
если Тр = Тз_ —^ ^і^ "^ті ^т± = tTjl I, хТр = ^т± хТ:;
если Тр = Ті СК Т-], то tTi+ хті = 1:^+ хТр = шах (хтіПП , т^) .
Таким образом, поставлена задача по разработке методов и программных средств верификации требований к системам управления реального времени. Требования представляют собой совокупность опе-
раций на функциональных задачах, каждая из которых имеет длительность и начальный момент запуска. Необходимо определить, является ли спецификация требований выполнимой на любом базисе. Если нет, то определить есть ли такие базисы, на которых она может выполниться. С помощью соотношений перехода от формул теорий УА РВ к уравнениям и неравенствам на множестве целых чисел можно получить систему уравнений или неравенств, которая может решаться любым известным методом теории чисел.
Литература
1. Тюгашев, А.А. Синтез и верификация управляющих алгоритмов реального времени для бортовых
вычислительных систем космических аппаратов [Текст]: дисс. доктора техн. наук: 9.11.07: защищена
9.11.07: утв. 2 6.0 6.07/Тюгашев Андрей Александрович. - С., 2007. - 191 с.
2. Соколов, А.П. Системы программирования: теория, методы, алгоритмы [Текст] / А.П. Соколов. -
М.:1980. - 300 с.
3. Белоцерковский, О.М. Разработка и верификация протоколов информационно-вычислительных сетей [Текст] / О.М. Белоцерковский. - М.:1976. - 125 с.
4. Тюгашев, А.А. Интегрированная среда для проектирования управляющих алгоритмов реального времени [Текст] / А.А. Тюгашев//СГАУ. - 2005г.