Вы находитесь на странице: 1из 4

Вестник Сибирского государственного аэрокосмического университета имени академика М. Ф.

Решетнева

УДК 004.434
А. В. Барков
СТРУКТУРА ПРОБЛЕМНО-ОРИЕНТИРОВАННОГО ЯЗЫКА
ИСПЫТАНИЙ КОСМИЧЕСКИХ АППАРАТОВ

Рассмотрены требования к проблемно-ориентированному языку испытаний космических аппаратов.


Разработана структура языка, соответствующая предъявляемым требованиям. Описаны возможности
этого языка.

В настоящее время для проведения комплексных вать простую русскоязычную техническую лек-
электрических испытаний космических аппаратов сику, близкую к терминологии, принятой в дан-
используется автоматизированный испытательный ной области. Обеспечение проблемной ориента-
комплекс. Целью этих испытаний является контроль ции языка также служат формализованные языко-
функционирования как изделия в целом, так и его вые средства контроля и управления КА и его
отдельных систем. Идеология их проведения заклю- системами. Следует использовать конструкции,
чается в выдаче управляющих воздействий на объект которые учитывают специфику объекта контроля.
контроля и анализе параметров функционирования Во-вторых, в составе языка необходимо ввести
характеризующих состояние и поведение отдельных операции и конструкции, характерные для струк-
систем и космического аппарата в целом. турных языков высокого уровня. Как известно,
Состояние космического аппарата может ха- любую структурную программу можно написать,
рактеризоваться тысячами параметров. Управле- используя только три структуры: следования,
ние изделием также включает тысячи команд. ветвления и повторения. Обычно структура сле-
Динамика переходных процессов различных сис- дования считается встроенной в язык, и это озна-
тем космического аппарата колеблется от долей чает, что все операции языка исполняются после-
секунд до суток, а в некоторых случаях скорость довательно, одна за другой. Имея в своем составе
принятия решений по управлению изделием конструкции ветвления и цикла, прикладной язык
должна быть мгновенной. Таким образом, про- позволит испытателям разрабатывать сложные
блема автоматизации задач контроля и управле- алгоритмы испытаний. Это также повышает сте-
ния при проведении комплексных электрических пень автоматизации работы.
испытаний является весьма актуальной. В-третьих, существует еще одна особенность
Для автоматизированного проведения испыта- разрабатываемого прикладного языка. Анализ
ний проектанты систем и компонентов космиче- проблемной области и предыдущих разработок
ского аппарата разрабатывают алгоритмы (цикло- показывает, что необходимо разработать по еди-
граммы) работы на специальном прикладном ной технологии универсальный язык испытаний,
языке Диполь-5К [1] с помощью редактора цик- позволяющий проводить работы на различных
лограмм. В ходе проведении испытаний эти алго- аппаратно-программных комплексах. Фактически
ритмы исполняются интерпретатором языка. это требование говорит о необходимости разра-
Однако все возрастающая сложность систем и ботки универсального языка определенного уров-
компонентов новых изделий, логики их функцио- ня абстракции. Кроме того, это требование подра-
нирования предъявляют новые требования к зумевает наличие определенного механизма для
средствам автоматизации испытаний. Поэтому в изменения функциональности языка в случае не-
ходе модернизации существующего аппаратно- обходимости.
программного комплекса одной из задач являлась В-четвертых, очень важным требованием явля-
разработка нового проблемно-ориентированного ется преемственность с используемым в настоящее
языка испытаний, получившего название Диполь-6. время прикладным языком, за счет чего достигается
Для решения этой задачи необходимо определить максимальное использование существующего заде-
требования к языку испытаний и разработать его ла и во многом упрощается восприятие нового язы-
структуру, а также множество базовых понятий этого ка пользователями. Это означает, что идентифика-
языка. торы и назначение основных операций нового язы-
Требования к языку. Формирование языка ис- ка должны остаться такими же, как и существую-
пытаний основано на анализе проблемной области и щие в уже используемом языке.
принципах структурного программирования. С уче- Таким образом, необходимо разработать язык
том этого выделим требованиями к языку. испытаний, отвечающий представленным выше
Во-первых, это необходимость проблемной требованиям.
ориентации языка как в его синтаксисе, так и в Синтаксис языка. В теории языков известны
структуре. Очень важным является требование следующие определения, относящиеся к матема-
максимальной простоты разработки и анализа тическому описанию синтаксиса языков [2].
циклограмм, так как их созданием занимаются не Алфавит языка – это конечное множество
программисты, а специалисты по конкретным символов.
системам, компонентам и блокам космического Предложение (строка, слово, лексема) есть
аппарата. Иными словами, необходимо использо- любая цепочка конечной длины, составленная из
15
А. В. Барков

символов алфавита. Таким образом, язык есть – вещественный тип – конечное подмножест-
любое множество предложений над некоторым во внутри определенного диапазона веществен-
алфавитом. ных чисел;
Алфавит языка испытаний будет содержать – литерный тип – конечное множество символов.
прописные и строчные буквы русского и латинско- Заметим, что на основе базовых типов данных
го алфавитов, цифры, специальные символы, ис- возможно создание производных типов, соответ-
пользуемые в качестве ограничителей и разделите- ствующих проблемной области. Например, тип
лей, а также ключевые слова – имена операций. сигнальный параметр функционирования основан
Далее в классической теории программирова- на целом типе и использует отрезок [0, 1].
ния [3] для построения синтаксического и семан- Введем понятие окружение языка. В качестве
тического трансляторов определяется грамматика окружения языка испытаний будет выступать
языка. Однако метод построения системы «редак- система дежурного контроля. Эта система ис-
тор – интерпретатор циклограмм», метод по- пользуется для контроля состояния объекта кон-
строения структурного редактора и метод по- троля, его подсистем и компонентов по ключевым
строения интерпретатора циклограмм позволяют параметрам. Дежурный контроль проверяет на-
исключить задачу анализа синтаксиса и, соответ- хождение значений требуемых параметров в ука-
ственно, проблемы синтеза и разработки анализа- занных допусках и в случае выхода значения ка-
тора, рассмотрение которых выходит за рамки кого-либо параметра из допуска выполняет пре-
данной статьи. Поэтому мы можем сразу перейти дусмотренную реакцию. В качестве реакции мо-
к разработке структуры языка [4]. жет быть запуск аварийной циклограммы, сооб-
Структура языка. Начнем с разработки ие- щение оператору, останов или завершение вы-
рархии конструкций языка (рис. 1). полнения либо другое действие.
Для описания сложных семантических конст-
Циклограмма
рукций языка воспользуемся понятиями. Под ни-
ми будем понимать элементы языка, каждому
вхождению которых в программу правила языка
однозначно сопоставляют их синтаксические зна-
чения. При этом одному и тому же понятию мо-
Операции жет соответствовать целое множество значений
вхождений, и для любых двух вхождений поня-
тий их значения не имеют общих цепочек лекси-
ческой свертки или одно значение входит полно-
стью в другое [4].
Данные Действия В качестве понятий выделим следующие:
– операция языка испытаний;
Рис. 1. Иерархия конструкций языка – телеметрический параметр объекта контроля;
Верхний уровень образует сама циклограмма, – команда управления объектом контроля;
которая является основной единицей выполнения. – переменные;
Ниже следуют операции языка – единицы интер- – допуск (на параметр);
претации. Операции строятся из данных и дейст- – реакция (на параметр);
вий. Под действиями мы понимаем действия как – алгоритм дежурного контроля
по обработке данных, так и действия по органи- Правила языка задают для каждого понятия
зации выполнения. Таким образом, операции и набор характеристик, называемых атрибутами.
циклограммы являются основой построения про- Атрибуты отражают общность и различие семан-
грамм на языке испытаний. тических объектов. Для каждого понятия были
Для записи конструкций, лежащих на нижнем разработаны присущие также им атрибуты.
уровне иерархии (см. рис. 1) будем использовать Разработаем модульную структуру области
цепочки литер из алфавита языка, называемые действия. Она характеризуется тем, что четко раз-
лексемами. Выделим следующие группы лексем: граничивает области действия по модулям по-
– идентификаторы – лексемы, состоящие из строения структуры испытаний. Эти ограничения
букв и цифр. Введено ограничение на длину вместе с программными единицами образуют ие-
идентификатора управляющих воздействий и те- рархическую структуру (рис. 2). Программными
леметрических параметров, связанных с объектом единицами будут являться циклограмма, заявка,
контроля, – 16 символов. Запрещено использовать процесс управления.
ключевые слова и специальные символы #, &, ^; Процесс управления – отдельный логический
– ключевые слова. В данном случае это лексе- процесс, организующий интерпретацию цикло-
мы из множества идентификаторов операций грамм в соответствии с их приоритетом.
языка испытаний. Заявка – отдельная циклограмма являющаяся
В качестве базовых будем использовать сле- головной для запущенных из нее циклограмм,
дующие типы данных: или стек циклограмм времени выполнения.
– целый тип – некоторый отрезок всех целых Циклограмма – отдельная циклограмма, ос-
чисел; новная единица выполнения.
16
Вестник Сибирского государственного аэрокосмического университета имени академика М. Ф. Решетнева

Процесс управления ния этого шага управление передается в первый


процесс для исполнения следующего шага и т. д.
Таким образом достигается псевдопараллельная
работа процессов управления.
Заявка

Процесс Процесс
Циклограмма управления управления

Рис. 2. Иерархическая структура про-


граммных единиц Рис. 4. Взаимодействие процессов управления
В языке четко выделены несколько областей Разработаем средний уровень взаимодействия –
действия: глобальная, процессная и локальная. между процессом управления и заявками. В про-
Эти области применяются для разграничения цессе управления для организации выполнения
действий переменных (рис. 3). циклограмм используется система приоритетов.
Уровень интерпретатора Приоритет задается каждой заявке при начале ее
Уровень процесса управления выполнения, и затем он может быть изменен про-
Уровень циклограммы
граммно или испытателем. При возникновении
заявки с бо́льшим приоритетом выполнение цик-
лограммы с меньшим приоритетом приостанав-
ливается. Заявки с меньшим приоритетом обра-
зуют очередь выполнения (рис. 5).
Процессные переменные
Глобальные переменные

Локальные переменные

Исполняемая
Заявка Заявка
заявка

Рис. 5. Взаимодействие заявок


В заключение разработаем нижний уровень
взаимодействия – на уровне заявок и циклограмм.
Для организации вызова дочерних циклограмм из
заявки используется принцип стека (первым при-
Направление программного доступа
шел, последним ушел), т. е. при вызове дочерней
Рис. 3. Области действия переменных циклограммы образуется стек, в основании которо-
го лежит головная циклограмма (заявка). Управле-
Глобальная область соответствует всему кон- ние передается дочерней циклограмме (на первую
тексту выполнения всех циклограмм, т. е. объек- операцию), и пока она не завершит работу роди-
ты, определенные в глобальной области, доступ- тельская циклограмма исполняться не будет. Воз-
ны из всех циклограмм. Процессная область, со- врат управления из дочерней циклограммы в ро-
ответствует контексту выполнения отдельного дительскую осуществляется на операции, сле-
процесса управления, т. е. объекты, определенные дующей за операцией вызова дочерней (рис. 6).
в процессной области доступны из всех цикло-
грамм, выполняемых в этом процессе управления. Дочерняя
И, наконец, локальная область соответствует циклограмма
контексту выполнения отдельной циклограммы.
Для поддержания иерархической макрострук-
Дочерняя
туры языка разработан механизм подпрограмм. циклограмма
Этот механизм является многоуровневым. Он
имеет отличие в организации взаимодействия на
следующих уровнях: между процессами управле- Заявка
ния; между процессом управления и заявками;
между заявками и их дочерними циклограммами. Рис. 6. Взаимодействие заявки
Разработаем верхний уровень взаимодействия – с дочерними циклограммами
уровень взаимодействия между процессами
управления (рис. 4). Работа процессов управления В языке имеется возможность передачи пара-
организованна псевдопараллельно, т. е. после за- метров в циклограмму. Параметры циклограмм
вершения отдельного шага выполнения в первом указываются при проектировании и при выполне-
процессе управление передается второму, чтобы в нии инициализируются автоматически или испы-
нем исполнился следующий шаг. После заверше- тателем. Правила передачи параметров разрабо-

17
А. В. Барков

таны в соответствии с понятиями и типами дан- структурного программирования, а использова-


ных. В качестве параметров могут быть телемет- ние существующего задела обеспечивает легкость
рические параметры, команды управления, значе- перехода пользователей со старого на новый при-
ния вещественного или символьного типов и др. кладной язык.
Для поддержания структурности разрабаты- Разработанная структура наделяет язык сле-
ваемых циклограмм и расширения прикладного дующими возможностями. Максимальная про-
языка до уровня структурных языков в языке пре- блемная ориентация языка как в области синтак-
дусмотрены конструкции с единственным и мно- сиса, так и в области структуры делает написание
жественным выбором. Так же поддерживается циклограмм испытаний максимально простым.
конструкция повторения. Пользователи оперируют терминами проблемной
Базовые множества. На основе созданной области и применяют обычные структурные кон-
структуры языка необходимо разработать множе- струкции для описания сложных алгоритмов ис-
ства базовых понятий, которые послужат основой пытаний. Кроме того, язык позволяет использо-
формируемого языка. вать для разработки циклограмм простые средст-
В соответствии с разработанными понятиями в ва визуального представления (структурный ре-
базовое множество понятий языка необходимо дактор с древовидным представлением содержи-
включить базовое множество операций языка B 0 , мого [5]). Выделим следующие основные воз-
базовое множество переменных BS, базовое можности языка:
R – анализ штатной и технологической телемет-
множество реакций B и базовое множество алго- рической информации;
ритмов дежурного контроля B A. Следует заме- – выдача штатных и технологических команд
тить, что во множество базовых понятий не и закладка массивов;
включены множества, образуемые понятиями, – чтение дампов памяти из бортовой цифровой
связанными и зависимыми от объекта контроля. вычислительной машины;
Это позволяет разработать действительно универ- – управление ходом функционирования систе-
сальное ядро языка испытаний, независимое от мы испытаний;
параметров и воздействий, присущих конкретным – выдача сообщений и директив испытателю;
объектам контроля. – управление интерпретатором языка испытаний.
Таким образом, базовое множество понятий В настоящее время данный язык испытаний
языка представляет собой совокупность множеств: применяется в Научно-производственном объеди-
B = BO ∪ B S ∪ B R ∪ B A . нении прикладной механики имени академика
М. Ф. Решетнева на ряде аппаратно-программных
Рассмотрим, например, базовое множество комплексах. А за счет расширения множества базо-
операций языка. Как уже отмечалось, данное вых понятий он может использоваться и на других
множество должно содержать операции, выпол- рабочих местах, для различных объектов контроля.
няющие базовые функции языка, т. е. выдачу ко-
манд и контроль параметров. Кроме того, в базо- Библиографический список
вый набор операций необходимо включить опе-
рации, организующие общий ход выполнения, и 1. Описание ПРИС. Программное обеспечение
структурные операции. Аналогичным образом УИК. Комплекс проведения испытаний : руко-
разработаны базовые множества остальных поня- водство оператора / Науч.-произв. об-ние прикл.
тий языка. механики. Железногорск, 1993. 104 с.
Итак, мы получили основу языка испытаний – 2. Ахо, А. Компиляторы: принципы, техноло-
множества базовых понятий, благодаря чему по- гии и инструменты / А. Ахо, Р. Сети, Дж. Ульман.
лучена возможность построения специализиро- М. : Вильямс, 2001. 768 с.
ванных языков испытаний, предназначенных для 3. Пратт, Т. Языки программирования: разра-
конкретных аппаратно-программных комплексов, ботка и реализация : пер. с англ. / Т. Пратт,
за счет расширения множеств функциональных М. Зелковиц. 4-е изд. СПб. : Питер, 2002. 688 с.
операций языка, алгоритмов дежурного контроля 4. Касьянов, В. Н. Методы построения транс-
и системных переменных в рамках разработан- ляторов / В. Н. Касьянов, И. В. Поттосин. Ново-
ной структуры языка. сибирск : Наука. Сиб. отд-ние. 1986. 347 с.
Таким образом, представленные выше требо- 5. Барков, А. В. Структурный редактор при-
вания позволяют создать прикладной язык испы- кладного языка / А. В. Барков // Решетневские
таний космических аппаратов с глубоким интег- чтения : материалы IX Междунар. науч. конф. / Сиб.
рированием в проблемную область и средствами гос. аэрокосмич. ун-т. Красноярск, 2005. С. 291.

A. V. Barkov
STRUCTURE OF THE PROBLEM-ORIENTED LANGUAGE OF SPACECRAFTS TESTS

Requirements to the problem-oriented language of spacecrafts tests are considered. The language structure,
which answer the requirements, is worked out. It is described the opportunities of language.
18

Вам также может понравиться