Автоматизированное оценивание временных характеристик программ управления комплексного функционирования в технологии ГРАФКОНТ

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Эйнгорин М. Я. Основы кодирования и управления в молекулярной биологии. Н. Новгород: Нижегор. медиц. акад. 2001. 116 с.

2. Бекасов Л. С. О стратегиях моделирования генетических структур // Вестн. Сам. гос. техн. ун-та. Сер.: Физ.-мат. науки, 2005. Вып. 38. С. 158-162.

3. СингерМ., Берг П. Гены и геномы. М.: Мир. 1998. 373 с.

4. Полтев В. И., Дерябина А. С., Гонзалез Э, Грохлина Т. И. Взаимодействия между основаниями нуклеиновых кислот. Новые параметры потенциалов и новые минимумы энергии // Биофизика, 2002. Т. 47. С. 996-1004.

Поступила 20. 08.2006 г.

УДК 681.51:629.78 А. А. Тюгашев

АВТОМАТИЗИРОВАННОЕ ОЦЕНИВАНИЕ ВРЕМЕННЫХ ХАРАКТЕРИСТИК ПРОГРАММ УПРАВЛЕНИЯ КОМПЛЕКСНОГО ФУНКЦИОНИРОВАНИЯ В ТЕХНОЛОГИИ ГРАФКОНТ

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

При проектировании бортового комплекса управления космического аппарата (БКУ КА) подсчет временных характеристик исполнения управляющих алгоритмов реального времени является одной из критически важных задач обеспечения работоспособности и надежности всего комплекса бортовой аппаратуры (БА).

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

Дополнительной отличительной особенностью управляющих бортовых цифровых вычислительных машин (БЦВМ) является то, что они взаимодействуют не с пользователем, а с физическими объектами [1], моменты поступления сигналов от них асинхронны и, в общем случае, носят труднопредсказуемый случайный характер.

Как известно [2], при организации БВС реального времени необходимо обеспечить выполнение следующих требований:

1) ограничение времени отклика, то есть гарантия того, что после наступления события реакция на него последует не позднее истечения заданного интервала времени /кр ;

2) одновременность обработки, то есть даже если одновременно наступает более одного события, все временные ограничения для всех событий должны быть выдержаны.

Это с необходимостью приводит к тому, что БВС реального времени должны поддерживаться решением параллельной работы программ, что достигается применением многозадачного подхода.

По условной классификации систем реального времени на «жесткие» и «мягкие», БВС КА должны быть отнесены к «жестким» системам реального времени, поскольку цена несоблюдения временного ограничения может быть неприемлемо высокой и приводить к невыполнению функциональной задачи, например, срыву слежения за астроориентиром, в более тяжелом случае — к потере дорогостоящего аппарата, а в случае пилотируемой экспедиции — к опасности для жизни экипажа.

Для обеспечения соответствия приведенным требованиям бортовая операционная система (БОС), должна быть мультипрограммной и прерываемой, то есть диспетчер должен иметь возможность прервать выполнение любого процесса и предоставить вычислительный ресурс той задаче, которой он более необходим. Таким образом, ясна необходимость существования приоритетов задач.

Соответствие вышеприведенным требованиям могут обеспечить различные дисциплины организации вычислительного процесса в БВС [1]:

1) регулярная синхронная, с выделением задачам квантов времени процессора в соответствии с некоторым заранее составленным расписанием;

2) приоритетная асинхронная, когда каждая задача решается по заявкам на ее выполнение, которые вырабатываются асинхронно текущему вычислительному процессу как со стороны внешних событий, так и самим бортовым программным обеспечением (БПО). В данном случае формируется специальная очередь готовых к исполнения задач, ждущих выделения вычислительного ресурса специальной программой БОС — планировщиком.

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

По ряду причин, включающих, в частности, простоту коррекции БПО и добавления в него дополнительных задач, возможность оперативного дистанционного изменения состава решаемых БПО задач, а также более оптимальную загрузку вычислительных ресурсов для сложных многофункциональных комплексов БПО, для которых моменты начала и окончания решения задач могут меняться в широких пределах в зависимости от временных разбросов работы БА и исходных данных, передаваемых с Земли, предпочтительно использование приоритетной динамической асинхронной организации вычислительного процесса [1].

Ключевыми параметрами качества функционирования БВС и БПО как элемента системы управления КА при этом являются:

1) промежуток времени Тсист от поступления заявки на выполнение задачи в БВС, до момента окончания ее обслуживания, включая сюда и время ожидания задачей дообслуживания, в случае, если задача была прервана другой задачей в процессе выполнения («задержка»);

2) загрузка р бортовой вычислительной системы, определяемая отношением времени работы без простоя БВС на определенном временном интервале к величине этого интервала.

При этом необходимо обеспечить исполнение в реальном времени не менее 50 программ в любой последовательности с задержками, не превышающими допустимые. Для каждой конкретной программы управления величина допустимой задержки определяется исходя из функциональной задачи, решаемой управляемой данной программой бортовой аппаратурой, и может колебаться от единиц и десятков миллисекунд до десятков секунд [1].

В теории массового обслуживания загрузка р определяется формулой р = 1//, где 1 — интенсивность поступления заявок на обслуживание, с-1; // — интенсивность обслуживания заявок, с-1.

Интервалы времени между последовательными заявками на исполнение для простейшего входного потока (стационарного, без последействия, ординарного) — независимые случайные величины с функцией распределения Р(т) = 1 - .

Для простейшего входного потока и экспоненциального распределения длительности обслуживания среднее время задержки определяется как Тсист = 1 / / (1 - р).

Однако использование аналитических методов теории массового обслуживания в данном случае приводит к необходимости учета множества различных деталей организации вычислительного процесса в БВС и, в конечном итоге, к необходимости численных расчетов по полученным громоздким математическим моделям [1].

При значении загрузки БВС р > 0,8 резко возрастают задержки на исполнение заявок в БВС на решение задач. Отсюда целесообразно ограничивать загрузку БВС значениями до р = 0,8 [1].

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

При проектировании конкретного комплекса БПО работа начинается с анализа типовых временных диаграмм совместной работы программ БВС при реализации каждой из основных функциональных задач КА, которым соответствует специальная разновидность программ управления — программы комплексного функционирования, и которые приводятся в проектном документе — циклограмме наложений программ БПО.

Циклограммы разбиваются на участки, характеризующиеся постоянством состава программ, способных работать одновременно. Количество циклограмм определяется числом основных функциональных задач (режимов) КА.

Часто требуется, чтобы некоторые из задач, решаемых БВС, имели меньшее время ожидания, а соответствующие им заявки — меньшее время задержки, чем задачи других типов. Например, аварийные сигналы, приходящие по системе прерывания БВС, требуют практически немедленной реакции по включению систем аварийной защиты. В противном случае развитие аварии может привести к катастрофическим последствиями для КА. Программы управления высокодинамичными процессами, например угловой стабилизацией, требуют меньшего времени задержки, чем программы управления менее динамичными процессами, например включения аппаратуры автономной навигации [1].

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

Вначале определяется загрузка БВС на каждом участке циклограммы по нижеследующей формуле:

m' t Pj = Е f ,

i=1 1 j

где ti — время исполнения i-ой программы; T . — период времени j-го участка; ¡1 . — количе-

j

ство программ, работающих одновременно на j -ом участке циклограммы

Затем проверяется, не превышает ли значение загрузки 80%, и в таком случае предпринимаются меры для её снижения путем изменения количества программ, работающих на данном j -ом участке. Распределения приоритетов — процесс итерационный. Первоначально приоритеты назначаются исходя из условия, что участкам с большим временем выполнения и большими допустимыми задержками назначаются более низкие приоритеты. Если задержка какой-либо из программ, определяемая суммированием времени исполнения более приоритетных программ и времени работы БОС, превышает допустимую, то производится перераспределение приоритетов: повышение приоритета участков, для которых получено превышение допустимых задержек, и снижение приоритетов участков, для которых присутствует резерв по задержкам. Данный численный подход к распределению приоритетов, оценке загрузки БЦВМ и определению значений допустимых задержек производится специально разработанным пакетом программ [1].

В свою очередь, в рамках технологии автоматизированного проектирования управляющих программ комплексного функционирования ГРАФКОНТ известна многовходовая модель управляющего алгоритма реального времени (УА РВ) [4], в которой для описания логико-временной структуры входов УА используется специальная списковая системная структура данных, включающая описание линейных участков и запускаемых на них функциональных управляющих программ. Более того, в рамках CASE-системы автоматизированного проектирования УА РВ применяются файлы описания функциональных программ (так называемый формат .ops), в которых содержатся данные о временных характеристиках исполнения отдельных действий (команд управления). Это дает возможность подсчета временных характеристик линейных участков путем суммирования времен исполнения ассемблерных команд передач управления, выдачи команд управления (КУ) бортовой аппаратуре, а также времени выполнения функциональных программ, исполняемых с возвратом. При этом необходимо учесть все возможные варианты выполнения (маршруты) программы управления, определяемые значениями вектора логических переменныхl = (a1;a2, . ., м). Здесь необходимо рассматривать логику выполнения внутри входа (под «входом» понимается одно включение УА РВ в некоторый момент времени, когда необходимо произвести те или иные управляющие действия). Тогда максимальное время выполнения входа определится формулой

N

Хвх max = max XXЛУ • i=1

Максимум берется по всем возможным маршрутам исполнения. Здесь N - число линейных участков на маршруте (варианте) исполнения входа; t ЛУ[ — длительность i-го линейного участка. В свою очередь, длительность выполнения линейного участка определяется суммарным временем выполнения присутствующих на нем операций (функциональных программ):

L

t ЛУ = i , j=1

где L — количество операций линейного участка; t j — время исполнения j-ой команды или

вызываемой функциональной программы более низкого уровня, чем программа комплексного функционирования.

Вычисления по приведенным формулам нетрудно организовать с помощью рекурсивного алгоритма обхода деревьев входа

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

Здесь мы исходим из упрощенного варианта многовходовой модели УА, в которой точка передачи управления из каждого входа фиксирована. Более сложной модель становится с учетом возможности передачи управления из произвольного места внутренней структуры входа.

Та же самая модель может быть использована для представления логической структуры передачи управления внутри входа. Отличием будет лишь то, что в данном случае на граф передач управления накладывается дополнительное ограничение: он должен представлять собой дерево с одним корнем.

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

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

2. Гордеев А. В., Молчанов А. Ю. Системное программное обеспечение. СПб.:Питер, 2002. 736 с.

3. Калентьев А. А., Мостовой Я. А., Тюгашев А. А. Технология ГРАФКОНТ для автоматизированного проектирования комплексных управляющих программ / ГНПРКЦ «ЦСКБ-Прогресс». Сб. научн.-техн. статей по ракетно-космической тематике. Самара, 2001. С.165-167.

4. Калентьев А.А., Тюгашев А.А. Использование многовходовой модели для представления управляющего алгоритма // Перспективные информационные технологии в научных исследованиях, проектировании и обучении. Тез. докл. научно-технич. конф. Самара, 1995. С. 65

Поступила 2.04.2006 г.