Научная статья на тему '«Разработка методов и программных средств верификации требований к системам управления реального времени»'

«Разработка методов и программных средств верификации требований к системам управления реального времени» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
104
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Тюгашев А. А., Шулындин А. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему ««Разработка методов и программных средств верификации требований к системам управления реального времени»»

Тюгашев А. А., Шулындин А.В.

«РАЗРАБОТКА МЕТОДОВ И ПРОГРАММНЫХ СРЕДСТВ ВЕРИФИКАЦИИ ТРЕБОВАНИЙ К СИСТЕМАМ УПРАВЛЕНИЯ РЕАЛЬНОГО ВРЕМЕНИ»

Статья относится к контексту программного комплекса ГРАФКОНТ/ГЕОЗ, инструментальной программной среды для управляющих программ реального времени. Среда обеспечивает автоматизированную генерацию текста управляющей программы по её визуальному описанию в графическом редакторе, получение требуемой технической документации, отладочных заданий для разных вариантов исполнения управляющей программы, автоматический расчет временных характеристик, снижение трудоемкости и стоимости разработки.

Ключевую роль при управлении современными космическими аппаратами (КА) играют бортовые вычислительные системы (БВС), в состав которых входят одна или несколько бортовых цифровых вычислительных машин (БЦВМ). На них возлагаются задачи контроля работоспособности бортовой аппаратуры (БА) , управления движением КА и навигации, выдачи управляющих воздействий на БА при решении КА целевых задач. Функции управления реализуются при этом бортовым программным обеспечением (БПО). Увеличение количества выполняемых на борту КА задач привело к созданию сложных структурированных комплексов БПО объемом в сотни тысяч и миллионы команд. В настоящее время создание и отладка БПО является одним из наиболее трудоемких и длительных видов работ среди всех видов деятельности, связанных с созданием КА.

Среди ошибок БПО значительное количество приходится на сбои синхронизации и согласования логики управления БА при одновременном функционировании ряда бортовых систем и программ БПО в рамках решения КА целевых задач (ошибки в управляющих алгоритмах реального времени - УА РВ).

Так как полное тестирование сформированной программы будет очень дорогостоящим и займет много времени, то для повышения уровня надежности УА РВ для БВС КА могут быть использованы аналитические методы верификации, которые на основе логически строгого доказательства способны определять наличие или отсутствие у управляющего алгоритма желаемых свойств. Использование аналитических методов также позволяет облегчить проведение верификации традиционными средствами за счет автоматизированной генерации полного набора тестов, покрывающего все варианты исполнения УА РВ.

Верификация - процесс доказательства соответствия между программной реализацией задачи и спецификацией задачи. Цель верификации - демонстрация свойства корректности программы. Но для программы управления КА важна не столько верификация её выполнимости, то есть достижения выхода программы в ходе выполнения, начатого в допустимом состоянии, сколько верификация требований к системам управления реального времени. Главным образом потому, что от правильно заданных требований зависит успешное выполнение функций, возложенных на управляющую программу. Таким образом, рассматривается верификация причины, а не следствия.

Для программного комплекса ГРАФКОНТ/ГЕОЗ построен формальный математический аппарат для описания УА РВ.

Модель семантики УА РВ может быть построена как набор кортежей (четверок) Ф^

УА РВ = { Ф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г.

i Надоели баннеры? Вы всегда можете отключить рекламу.