Научная статья на тему 'Автоматическая генерация отладочных заданий в технологии ГРАФКОНТ/ГЕОЗ'

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

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

Текст научной работы на тему «Автоматическая генерация отладочных заданий в технологии ГРАФКОНТ/ГЕОЗ»

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

СГАУ, Самара

АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ ОТЛАДОЧНЫХ ЗАДАНИЙ В ТЕХНОЛОГИИ ГРАФКОНТ/ГЕОЗ

1. ВВЕДЕНИЕ

В настоящее время можно говорить о кризисе отечественной космической отрасли. Широко известны неудачи, особенно неприятные и болезненно воспринятые в год 50-летнего юбилея полета Юрия Гагарина, ознаменовавшего триумф нашей страны и закрепившего приоритет, достигнутый выводом первого искусственного спутника на орбиту Земли. Среди одних их главных причин аварий, потери дорогостоящих аппаратов, в которые вложен долголетний труд многотысячных коллективов, зачастую - международных, можно назвать сбои и ошибки систем управления. При этом весьма часто к критическим последствиям приводят недостатки, ошибки и низкий уровень отказоустойчивости бортового программного обеспечения, на которое и возлагается в настоящее время, как правило, даже на микро и наноспутниках, непосредственное решение задач, связанных с логикой управления космическими аппаратами.

Допустимо говорить о частном «кризисе» разработки ПО в космической отрасли. Трудоемкость, стоимость и сложность разработки ПО вносят значительный вклад в стоимость и сроки создания ракетно-космических комплексов [1].

Как представляется, целесообразны следующие пути повышения качества и надежности ПО в аэрокосмической отрасли [5]:

Совершенствование процессов жизненного цикла ПО - обеспечение качества и надежности за счет использования современных методик, языков и инструментов.

Использование комплекса средств, обеспечивающих отказоустойчивость бортового ПО, включая замену ошибочных фрагментов в полете и «перепрошивку» памяти бортовых ЭВМ.

Создание методик и языков строгой, непротиворечивой и полной спецификации требований к ПО.

Автоматизация тестирования ПО с обеспечением требуемой полноты покрытия.

Использование формальных методов верификации, включая model checking.

В настоящей статье коснемся направления автоматической генерации тестов с обеспечением необходимой полноты покрытия и его конкретной реализации в рамках системы ГЕОЗ, разработанной по заказу ГНПРКЦ «ЦСКБ-Прогресс» специалистами Самарского государственного аэрокосмического университета имени академика С. П. Королева (национального исследовательского университета). Данная система является дальнейшим развитием и дополнением комплексной системы инструментальной поддержки процессов проектирования и разработки бортового ПО ГРАФКОНТ.

2. ОПИСАНИЕ СИСТЕМЫ АВТОМАТИЧЕСКОЙ ГЕНЕРАЦИИ ОТЛАДОЧНЫХ ЗАДАНИЙ

В рамках технологии ГРАФКОНТ [2] предполагается высокоуровневая спецификация управляющего алгоритма реального времени, осуществляемая либо с помощью специального проблемно-ориентированного языка, либо путем визуального конструирования. При этом в памяти системы формируется внутреннее представление логико-временной схемы управляющего алгоритма и реализующей его управляющей программы комплексного функционирования. Логико-временная схема является расширением понятия управляющего графа программы для случая программ реального времени [3]. В логико-временной схеме помимо обычных дуг, отражающих прямую передачу управления, применяются особые дуги, отражающие передачу управления путем занесения запроса на включение функциональной программы по истечении временной уставки, задаваемой на одном из нескольких присутствующих в БВС таймеров [1].

Это позволяет адекватно применять ее для описания управляющих алгоритмов и программ реального времени. Данное внутреннее представление логико-временной схемы управляющего алгоритма применимо для того, чтобы использовать автоматизацию тестирования бортовой управляющей программы по схеме «прозрачного» ящика. Как известно [], при тестировании программы по этой схеме возможно достижение нескольких уровней покрытия (coverage). Самым простым считается обеспечение покрытия всех операторов - гарантия того, что при прогоне теста каждый оператор в программе выполнится хотя бы один раз. Более полное и качественное тестирование обеспечивается при покрытии всех ветвей - т.е. проходе каждого встречающегося в управляющем графе программы ветвления и по ветви «то», и по ветви «иначе». Еще большую полноту обеспечивает критерий покрытия путей, гарантирующий проход всех возможных путей в управляющем графе программы от стартовой вершины к завершающим. Для управляющего алгоритма реального времени можно говорить о требовании также полного покрытия всех вариантов предшествования процессов, которые синхронизируются данным алгоритмом.

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

Именно данный подход применен при создании системы ГЕОЗ. В свою очередь, система ГЕОЗ делится на две подсистемы - ГЕОЗ1 и ГЕОЗ2.

Подсистема ГЕОЗ1 на первом шаге своей работы формирует таблицу всех возможных на практике вариантов исполнения управляющего алгоритма, каждый из которых соответствует возможному пути от стартовой вершины логико-временной схемы программы до одной из конечных вершин (которых может быть в управляющем алгоритме несколько). При этом отбрасываются заведомо невозможные варианты исполнения, что позволяет сократить число необходимых тестов, в общем случае могущее достигать 2n, где n - количество ветвлений (логических условий) в программе. Значение подобного факта легко понять, если учесть, что используемые управляющие алгоритмы могут содержать 50 и более логических условий [4] . Данное обстоятельство крайне затрудняет полное тестирование, если не делает его практически невозможным.

Таблица 1 представляет собой пример таблицы вариантов, построенной системой ГЕОЗ1. В данном примере программа проверяет пять логических условий, соответствующее теоретическое максимальное количество вариантов исполнения равно 32, но, исходя из знания внутренней структуры программы, отражаемое логико-временной схемой, часть из них отбрасывается, и при тестировании используются

18. Для каждого варианта формируется вектор исходных данных, обеспечивающий необходимое прохождение ветвлений программы (для первого варианта, например, вектор значений будет равен

<0,0,0,0,3>).

Таблица 1

+

ЕВ индиві г op it-

ЕПризн іл ЕпіріНЕгри

Епнднвігср

ЕрНП

С'/ОДП

СПОЕГ . ВЕС Г рНП

ЕВДСТ1Л1

ИдЕНГНфНВ ІГОрЕ Еирллк нлн ЛрНЗНІВІ піріНЕгрі

РРПНП . РАЗР ЕРПСДП _ЕРАЕ DDE її!

РРПНП _ РАЗ Р ВДСЛП1 .ЕОДЭ

Ез ед . Е з водія Се ед . Ез ВОДІЯ Ев ед. Е в

Ен 5НЕ - Е С ИЗЫЕ- Е Еизіе - Е

Ереннл Е СрЕннл Е -І 1 1 1 Ер еннл Е

[ Ей Е Ей Е EL

Е Ей Е Ей Е Ей

Е Ей Е Ей Е Ей

Е Ей ! Ей Е EL

Е ЕЗ Е 3 Е Е 3

Зніченнл длл Бірнінгов

-----+-----------------+--

Е 2 Е

-----+-----------------+--

ЕПризн іли ЕпіріНЕгри Енндил ігор

ЕрНП

Е'/ОДП

СПОЕГ . ВЕС

ЕрНП

КДСЧПІ

ЙД ЕНТНфИ К ігор лрНЕНІ Pi Пір іНЕ Гр і

РРПНП. РАЗР ЕРПОДП .ЕРАЕ DDE її!

РРПНП .РАЗР КДСЛП1.КОДЭ

РіЗрЛДК НЛН В ннднвігор:

ЗніЧЕННЛ ДЛЛ ЕірНІЛГОЕ

+■ + +

Е і ! Б р

+ + +

Ев ед. Е в водія Се ед . Ез ВОДІЯ Ез ЕД

ЕНБНЕ- С С ИЗЫЕ- С Ehsce -

Ср ЕННЛ С СрЕННЛ С Ер ЕННЛ

+ н- 1 1 + 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1

EL Ей г Ей

Ей Ей г Ей

Ей Е1 г EL

EL Ей г Ей

Е*3 ЕЗ г ї*з

----+

Призи іл

[ПіріІЕЕГр,.

ПНДНВІТОр

ЕрНП

ЕТОДП

ЕПоег _ ВЕСг рНП

ЕКДСЛП1

ИдЕНТНфИ К ігор

ТфНЗНІ Лі Піріисгрі

РРПНП. РАЗ Р ЕРПОДП .ЕРАЕ DDE Її:

РРПНП_ РАЗ Р ІЇДСЛП1. -КОДЭ

Різрлдн нлн В ннднвігор:

ЗніЧЕННЛ ДЛЛ ЕірИІИГРЕ

-----+------------------+_.

Е Е: Е

-----+------------------+--

Ев БД. Ен 5UE “ Ер ЕННЛ

[Е ВОДІЯ [ Б БД .

Е ЕИЗИБ-

Е ЕрБннл

ВОДІЯ

EL г ! 1 Ей

Ей р Ей EL

Е 1 р ! 1 г

EL р ! 1 Ей

ЕЗ р г

З ЕД. і Б ВОДІЯ і

И SEE - Е

р ЕННЛ Е

ЕПризн іл ЕпіріиБГри Син див ітор

ЕрНП Е'/ОДП Прег . ВЕС

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

ЕрНП

КДСЛПІ

ИдБНГНфНВ ігор

ТфНБНІВІ

ПіріііЕГрі

РРПНП. РАЗ Р ЕРПОДП .ЕРАЕ DDE Її:

РРПНП. РАЗ Р КДСЛПІ.КОДЭ

РіЗрЛДЕЕ НЛН В ННДНВІГОр

і+

[3 БД

Ен SUE -Ер ЕННЛ +------

ЗніЧЕЛИЛ ДЛЛ Б ipН іЛ Г DБ

----------+----------------+ -

LD Е LL Е

----------+----------------+-

Се водія Се ед . Ез водія Е Сюне

г г

12

Е- Е

. [рения Е

[и:

CD ED ED ED E 2

ED

ED

ED

ED

EM

ЕД. [ Б ИСД=-* [

Р ЕННЛ [

EL

ED

ED

EL

E2

ЕПризн іл и ЕпіріІСЕГри СинДИВігор

ЕрНП

Е'/ОДП

ЕПозг . ВЕСГ рНП

ЕКДС71П L

ИдЕнгнфнвігор

ІфНЗЛІВІ Пір ЩЕ Гр і

РРПНП. РАЗ Р ЕРПОДП -ЕРАЕ DDE Її:

РРПНП. РАЗ Р І:ДСЛП L -ЕОДЭ

Різрлдес нлн В ннднвігор:

L3

ЗніЧЕЛИЛ ДЛЛ Б ipН іЛ Г DБ

-----+----------------+--

Е L4 Е

-----+----------------+--

LB

Ез ЕД . Е в ЕС'ДІЛ Ев ЕД . Ев коди Ев ЕД. Е Б В

Ен 5НЕ - Е Е изііе- ! Евліе - Е

Ер еннл Е -|_ 1 — Е рвнил ! Ер еннл Е

Е EL Е Ей Е Ей

Е Ей Е Ей Е Ей

Е Ей Е Е1 Е EL

Е EL ! Ей Е Ей

Е Е* 3 Е ! 3 Е Е* 3

ЕПризн іл піріїссгр,. ЕННДИЛ ігор

+-----------

ЕрНП

Е'/ОДП

ЕПозг . ВЕСГ ЕрНП КДСТІП L

ИдЕнгнфнв ігор

ТфНЗНІВІ Пір вІІЕ Гр і

РРПНП. РАЗ Р ЕРПСДП.ЕРАЕ DDE Її:

РРПНП. РАЗ Р КДСЛП L-КОДЭ

Різрлдн нлн В ннднвігор:

ЗніЧЕНИЛ ДЛЛ ЕірНІЛГОЕ

+■ _+ -+

Е 16 ! 17 р 1Б

+ _+ -+

Сз ЕД - С Б ВОДІЯ Е Б ЕД . Ез ВОДІЯ Ев ЕД Е в в од ія

Сн 5НЕ — С ИЗЫЕ- С Сизые - г

Ср ЕННЛ СрЕННЛ С Ср ЕННЛ г

Е Е1 Е Е1 г Е1

Е Ей Е Ей г Е1

Е Е1 Е Е1 г г

Е Е1 Е Е1 г Е1

Е Е 3 Е !* 3 г г

На втором шаге ГЕОЗ1 строит для каждого выявленного варианта отладочное задание с учетом необходимой комбинации исходных данных для нужной отработки каждого проверяемого в программе условия. Отладочное задание формируется на специальном символьном языке отладки, являющемся частью комплексной технологической среды разработки программ, применяемой в «ЦСКБ-Прогресс» при автономной и комплексной отладке бортового ПО. Пример отладочного задания приведен ниже.

ПЗ3:_НАЧАЛО;

_ВЫЗОВ'САО';

_ВВОД'8К'0_В'ОЗУ'РРПНП.РАЗР;

_ПЕРЕХОД'СЦВМ'МВХ1;

_ДЛЯ'АДР'МВХ1:_ПЕЧАТЬ'РЕЗ'

_ПЕЧАТЬ'8К'_ИЗ'ОЗУ'РБР1.РАБ;

_ПЕЧАТЬ'8К'_ИЗ'ОЗУ'ТМИ6.Р1;

_ДЛЯ'АДР'МВХ1_ПЕРЕХОД'СЦВМ'М1;

_ПЕРЕХОД'СЦВМ'М2;

_ДЛЯ'АДР'М1:М7МБХХ3МБХ5_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'М1_ПЕРЕХОД'СЦВМ'М3;

_ВВОД'8К'0_В'ОЗУ'ВРПОДП.ВРАБ;

_ПЕРЕХОД'СЦВМ'М4;

_ДЛЯ'АДР'М3:МБХХ1_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'М3_ПЕРЕХОД'СЦВМ'М5;

_ВВОД'8К'0_В'ОЗУ'ПОВЫС;

_ПЕРЕХОД'СЦВМ'М6;

_ДЛЯ'АДР'М5:М9_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'М5_ПЕРЕХОД'СЦВМ'М13;

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

_ПЕРЕХОД'СЦВМ'М14;

_ДЛЯ'АДР'М13:МБХХ3_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'М13_ПЕРЕХОД'СЦВМ'М14;

_ПЕРЕХОД'СЦВМ'МВХ5;

_ДЛЯ'АДР'МВХ5:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'МВХ5_ПЕРЕХОД'СЦВМ'М15;

_ПЕРЕХОД'СЦВМ'МВХ6;

_ДЛЯ'АДР'МВХ6:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'МВХ6_ПЕРЕХОД'СЦВМ'М16;

_ПЕРЕХОД'СЦВМ'МВХ7;

_ДЛЯ'АДР'МВХ7:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'МВХ7_ПЕРЕХОД'СЦВМ'М17;

_ПЕРЕХОД'СЦВМ'МВХ8;

_ДЛЯ'АДР'МВХ8:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'МВХ8_ПЕРЕХОД'СЦВМ'М18;

_ПЕРЕХОД'СЦВМ'МВХ13;

_ДЛЯ'АДР'МВХ13:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'МВХ13_ПЕРЕХОД'СЦВМ'М19;

_ПЕРЕХОД'СЦВМ'МВХ15;

_ДЛЯ'АДР'МВХ15:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'МВХ15_ПЕРЕХОД'СЦВМ'М20;

_ПЕРЕХОД'СЦВМ'МВХ16;

_ДЛЯ'АДР'МВХ16:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'МВХ16_ПЕРЕХОД'СЦВМ'М21;

_ВВОД'8К'1_В'ОЗУ'РРПНП.РАЗР;

_ПЕРЕХОД'СЦВМ'МВХ17;

_ДЛЯ'АДР'МВХ17:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'МВХ17_ПЕРЕХОД'СЦВМ'М23;

_ПЕРЕХОД'СЦВМ'М24;

_ДЛЯ'АДР'М23:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'М23_ПЕРЕХОД'СЦВМ'М24;

_ПЕРЕХОД'СЦВМ'М25;

_ДЛЯ'АДР'М24:М22_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'М24_ПЕРЕХОД'СЦВМ'М10;

_ВВОД'8К' 3_В'ОЗУ'КДСЛП1.КОД3;

_ПЕРЕХОД'СЦВМ'М11;

_ДЛЯ'АДР'М10:_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'М10_ПЕРЕХОД'СЦВМ'М12;

_ПЕРЕХОД'СЦВМ'М13;

_ДЛЯ'АДР'М12:М7_ПЕЧАТЬ'РЕЗ'

_ДЛЯ'АДР'МВХХ1_ОСТАНОВ'ПОСТ';

_КОНЕЦ;

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

Таблица 2

Входные информационные связи программы R1-1

+-------------------------------------------------------------------------------------------------+

! Имя ! Имя ! Содержание, ! Диапа- _ Мае- ! Адрес ; Раз- ! Форми- . Исполь-

і зоны ! ГП или ГМ ! единица ! зон штаб і ячейки. і ряды ! рует зует

і і і измерения і і 5 сегм. і Юс. с ! (инд. (блоки)

+ - +- + + -+- -+- +

і 1 ! 2 ! 3 ! 4 5 і 6 і 7 ! 8 9

+- +- + + -+- -+- —+

! РАЗР ! РРПНП.РАЗР! ! ! ; 4 !

і врав! ВРПОДП.ВРЙЕ! і і і 6!

! ! ПОВЫС! ! ! ; !

і КОДЗ ! КДСЛП1.КОДЗ! і і і і

+--------------------------------------------------------------------------------------------------------------------------------+

Таблица 3

Выходные информационные связи программы R1-1

Имя

зоны

Имя

ГП или ГМ

Содержание,

единица

измерения

!Диапа-! Мае- і Адрес 1 Раз- ! Форми- _ Исполь-

! зон ! штаб ячейки, ряды ! рует зует

і і і 5 сегм. 1 10с.с ! (инд. (блоки)

! 4 ! 5 і 6 1 7 ! 8 9

+ +- -+- —+

РАБ! Р1!

РБР1.РАБ! Л0К1,Р1!

Таблица 4

Выходные управляющие связи программы R1-1:

1 ! 1 !

Условное !Номера бло- і Вид і Номер і Группа ! Куда передается управление

обозна- !ков, где передачи ! выхода приори-

чение !формируется! управления ! і тета ! Индекс ! Группа ! Условный

!связь ! программы ! приори- ! номер

і і і і ! и № входа ! тета ! входа

+- —+ +- +- I— -+ +- +

1 1 ! 2 і 3 і 4 ! 5 ! 6 ! 7 ! 8

+- —+ +- +- —+- -+ +- +

R1-1-A13 ! РГЗП і УІбБхІППВ! і !АІЗВхЗ(БКП Р1)! і

ш і і—і і се і і ПП ! і !Е4Вх1(ЗА,ПРБЗ)! і

R1-1-T1 і і ППВ ! і ! Т1! і

R1-1-KT і і ППВ ! і ! КТ! і

R1-1-T3 і і ППВ ! і ! ТЗ! і

R1-1-A13 і і ППВ ! і !АІЗВхЗ(БезСГК)! і

R1-1-K3 і і РГЗП ! і ! КЗВх2! і

R1-1-Y17 і і РГЗП ! і ! У17ВХІ! і

R1-1-T2 і і ППВ ! і ! Т2! і

R1-1-A13 і і ППВ ! і ! АІЗВхЗ(СДК)! і

R1-1-K3 і і РГЗП ! і ! КЗВхІ! і

R1-1-A41 і і РГЗП ! і ! А41Вх1! і

Rl-1-УІб і і РГЗП ! і ! УІбВхІ! і

Форматы формируемых подсистемами ГЕОЗ1 и ГЕОЗ2 таблиц соответствуют используемым на предприятии «ЦСКБ-Прогресс» и регламентированным соответствующими нормативными документами.

3. ЗАКЛЮЧЕНИЕ

В статье описывается методика и поддерживающий ее инструментальный программный комплекс ГЕОЗ, позволяющий автоматически выявлять все возможные варианты исполнения бортовой управляющей программы реального времени для космического аппарата, и строить для каждого из вариантов отладочное задание на специальном символьном языке.

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

Система разработана по заказу ГНПРКЦ «ЦСКБ-Прогресс», г. Самара.

ЛИТЕРАТУРА

1. Д.И. Козлов, Г.П. Аншаков, Я.А. Мостовой, А.В. Соллогуб. Управление космическими аппаратами зондирования Земли: Компьютерные технологии - М.: Машиностроение,1998.

2. Тюгашев А. А.. Интегрированная среда для проектирования управляющих алгоритмов реального

времени / Известия российской академии наук: Теория и процессы управления. - 2006. - № 2. - С.

128-141.

3. ТюгашевА.А. Автоматизация спецификации, верификации и синтеза управляющих программ реального времени с применением логического и алгебраического подходов. // Мехатроника, автоматизация,

управление. - 2007. -№ 7. - С. 46-51

4. Калентьев А.А., Тюгашев А.А.. ИПИ/CALS технологии в жизненном цикле комплексных программ

управления. - Самара: Изд-во Самарского научного цента РАН, - 2006.

5. Ильин И.А., Ермаков И.Е., Тюгашев А.А. Создание единой отраслевой САПР ПО как основное условие предотвращения кризиса управляющего ПО в космической отрасли. // Актуальные проблемы рос-

сийской космонавтики: Труды XXXVI Академических чтений по космонавтике. Москва, январь 2012 г. С. 468 .

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