5
Научный руководитель доцент, руководитель цчебно-научного центра, Жаринов Игорь Олегович.
1
Автоматизация процесса создания таблиц конфигурации для операционных систем реального времени
С.В. Батова, П.В. Коновалов, С.А. Благонравов, С.Б. Уткин
Рассматривается задача автоматизации процесса создания таблиц конфигурации операционных систем реального времени. Вводятся классификация конфигурационной информации и информационные связи компонентов автоматизации проектирования. Описывается разработанная авторами автоматизированная среда конфигурирования программного обеспечения. Приведены результаты использования программного обеспечения.
Введение
Операционные системы реального времени (ОСРВ) предназначены для обеспечения внутренней программной инфраструктуры систем, работающих в реальном масштабе времени. К таким системам, в частности, относятся мультипроцессорные многомодульные бортовые интегрированные вычислительные системы авионики. Основной задачей ОСРВ в таких системах является своевременность выполнения процессов обработки данных.
Основным требованием, выдвигаемым к ОСРВ, является обеспечение предсказуемости (детерминированности) поведения системы в наихудших условиях ее эксплуатации, что принципиально отличается от требований, предъявляемых к универсальным операционным системам. ОСРВ должна обеспечивать предсказуемое поведение и своевременное выполнение критических по времени задач обработки информации при всех сценариях загрузки системы: одновременное возникновение в системе нескольких прерываний, выполнение нескольких потоков программных приложений в многозадачном режиме и т.д.
Как правило, большинство современных ОСРВ построено [1-4, 9, 12] по компонентному принципу, что требует выполнения процедуры конфигурирования для получения проекта, предназначенного для выполнения в конкретном изделии. Функциональное программное обеспечение (ФПО) изделия также состоит из нескольких компонентов, реализующих различные целевые функции системы и зачастую разрабатываемых различными предприятиями-соисполнителями.
В связи с этим при разработке ПО изделия авионики возникает задача проектирования, заключающаяся в создании конфигурации системы, которая обеспечивает выделение каждому компоненту системы необходимы ему ресурсов, позволяет организовать информационное взаимодействие между компонентами системы и гарантирует выполнение всех целевых функций системы в заданные интервалы времени.
Традиционно процесс создания конфигурации [10, 13] состоит в редактировании набора файлов или таблиц, на основе которых потом формируются данные, загружаемые в изделие. Ручное редактирование данных, расположенных в нескольких таблицах конфигурации, представляет собой трудоемкий процесс и требует высокой квалификации разработчика. Кроме того, вследствие необходимости учета большого объема взаимосвязанных данных, формируемых несколькими предприятиями-соисполнителями, процесс конфигурации, выполняемый в ручном режиме, сопровождается возникновением ошибок проектирования, которые могут проявиться как на этапе сборки системы, так и во время ее эксплуатации на объекте. автоматизация таблица конфигурация операционный
Предлагаемый доклад посвящён описанию способа автоматизации процесса создания конфигурации ПО для систем авионики, построенных на базе ОСРВ.
Среди производителей ОС РВ в настоящее время интерактивное инструментальное средство автоматизации конфигурирования, рассматриваемого уровня, существует только для ОС PikeOS фирмы SYSGO. Одна из самых используемых ОСРВ VxWorks вообще не имеет инструментальных средств конфигурирования, вынуждая пользователя вручную выполнять редактирование текстовых конфигурационных файлов.
Структура конфигурационной информации программного обеспечения систем реального времени
Программное обеспечение (ПО) системы реального времени можно разделить на системное и прикладное ПО.
Прикладное (функциональное) ПО обеспечивает выполнение целевой функции системы. Системное ПО обеспечивает инфраструктуру, в которой выполняется прикладное ПО, скрывая для разработчика прикладного ПО низкоуровневые особенности работы с аппаратурой и предоставляя функциональному ПО стандартизованный программный интерфейс. К системному ПО относятся ОС, драйверы, различные компоненты, реализующие специальные задачи (например, тест встроенного контроля). Если производительность вычислительного модуля позволяет, то на нем под управлением одной ОС могут выполняться несколько компонентов (приложений) прикладного ПО, реализующих различные целевые функции.
В процессе развития систем реального времени были выработаны требования к реализации ОСРВ, интерфейсам прикладного ПО и механизму распределения ресурсов системы. Впоследствии в авиационной промышленности эти требования явились основой стандарта ARINC 653, описывающего видимую для прикладного ПО часть архитектуры системы, в том числе интерфейс прикладного ПО, для изделий, выполненных в соответствии с принципами интегрированной модульной авионики [7, 11, 14].
Прикладное ПО, разработанное для операционных систем (ОС), поддерживающих стандарт ARINC 653, является переносимым между этими ОС. Таким образом, конфигурирование прикладного ПО так же становится в значительной степени независимым от конкретной ОС. С другой стороны, внутренняя архитектура каждой ОС уникальна, поэтому часть конфигурационной информации является специфичной для конкретной ОС. Кроме того, необходимо конфигурировать различные драйверы аппаратуры с учетом особенностей аппаратного обеспечения целевой системы.
Таким образом, можно выделить три составные части структуры конфигурационной информации программного обеспечения авиационных систем, построенных на основе ОСРВ, поддерживающих стандарт ARINC 653:
- зависимая от целевой функции системы,
- зависимая от ОС,
- зависимая от аппаратуры целевой системы.
Конфигурационная информация, зависимая от целевой функции системы, формируется совместно специалистами организации, разрабатывающей прикладное ПО, и специалистами организации, ответственной за интеграцию всех компонентов ПО -- системным интегратором проекта. Информация, зависимая от ОС, формируется системным интегратором на основе данных, предоставляемых разработчиком ОС. Информация, зависимая от аппаратуры, учитывается при установке ОС на конкретный вычислительный модуль, и формируется системным интегратором. Разработчики ОС предусматривают возможность дополнительного конфигурирования драйвера аппаратуры на этапе разработки прикладного ПО, т.е. уже после установки ОС на вычислительный модуль, в зависимости от операционного окружения и функционального назначения конкретного вычислительного модуля.
Автоматизированная среда конфигурирования программного обеспечения систем реального времени
При разработке системы авионики возникает потребность в автоматизации процесса ее конфигурирования. Автоматизация процесса конфигурирования выполняется на рабочем месте программиста (РМП), оснащенном инструментальной ЭВМ и программными средствами системы автоматизации проектирования (САПР) [8]. Программное обеспечение РМП представляет собой единую среду проектирования, охватывающую весь объем конфигурационной информации. Основным пользователем среды является системный интегратор, к которому поступает информация от разработчиков компонентов программного обеспечения целевой системы.
Подготовку конфигурационной информации, необходимой ОС для инициализации и выполнения приложений, а так же для организации связей между приложениями, системный интегратор выполняет на инструментальной ЭВМ с помощью специального программного компонента - «Конфигуратор», поставляемого разработчикам целевого ПО вместе с операционной системой. Конфигуратор позволяет создавать и редактировать конфигурационные данные в интерактивном режиме и использует для хранения информации файл в формате XML (eXtensible Markup Language).
Для того чтобы сделать конфигурационную информацию доступной ОС, необходимо сформировать и загрузить в память целевого вычислителя ее двоичное представление. САПР «Конфигуратор» позволяет автоматически генерировать файл с исходным текстом на языке С, содержащий конфигурационные данные, структурированные нужным образом. Результатом компиляции этого файла является загружаемый файл, содержащий двоичные данные. Формат загружаемого файла с двоичной конфигурационной информацией определяется возможностями компилятора и средств загрузки в целевую платформу. Наиболее часто применяется формат хранения данных motorola-32 (mot).
На рис.1 показаны информационные связи САПР «Конфигуратор» с другими элементами инструментального ПО в составе РМП и его место в общем процессе разработки программного обеспечения для изделий авионики.
Рис. 1. Информационные связи САПР «Конфигуратор» с другими элементами инструментального ПО в составе РМП
Большой объем разнородных конфигурационных данных требует создания специализированного пользовательского интерфейса оболочки САПР, который должен обеспечить информативность и удобство использования САПР. Для этого необходимо определенным образом структурировать конфигурационную информацию и разработать графические диаграммы для ее представления в интуитивно понятном виде.
Конфигурационная информация представляется в виде иерархического дерева [5, 6]с дополнительными горизонтальными связями между отдельными ветвями. Каждый последующий уровень подразумевает большую детализацию представления информации, а каждая отдельная ветвь представляет структурно независимый блок данных. Горизонтальные связи содержат информацию о взаимодействии структурно или функционально независимых элементов и представляются в дереве специальными узлами -- листьями дерева.
При этом пользователь САПР имеет возможность видеть на экране полное дерево конфигурационной информации на всю его глубину, «перемещаться» по нему, сворачивать и разворачивать отдельные ветви. Также для каждого узла дерева по желанию пользователя на экране может быть показана конфигурационная информация, представляемая этим узлом и в некоторых случаях его узлами - потомками.
Для удобства пользователя в САПР реализован альтернативный способ представления и редактирования конфигурационной информации в виде таблиц, диаграмм и их комбинаций, содержащих логически связанную конфигурационную информацию из различных ветвей дерева. Возможны различные виды такой логической группировки. Для каждого из них используется своя диаграмма, позволяющая выделить главный аспект группируемой информации.
Кроме того, представление в виде диаграммы позволяет органично сочетать конфигурационную информацию, относящуюся к различным уровням иерархического дерева. Например, одна из диаграмм, реализованных в САПР “Конфигуратор” позволяет не только конфигурировать каналы связи между приложениями функционального ПО, но также ввести информацию, необходимую драйверу или ОС для организации этих каналов на основе физических сетевых интерфейсов, доступных системе, и с учетом особенностей используемых протоколов (см. рис.2).
Рис. 2. Рабочее окно программы САПР для конфигурирования ПО систем авионики.
Среда проектирования позволяет генерировать файл, содержащий конфигурационную информацию для каждого вычислительного узла многомодульной мультипроцессорной вычислительной системы. Кроме того, для удобства разработчиков функционального ПО могут быть сгенерированы исходные заголовочные файлы с описанием ресурсов каждого приложения.
Вместе с тем среда позволяет выполнить исчерпывающую проверку всей введенной конфигурационной информации, которая подразумевает как контроль значений отдельных параметров конфигурации, так и соответствие различных свойств нескольких взаимосвязанных компонентов.
Среда проектирования не позволяет сгенерировать результирующий файл в случае, если при проверке будут обнаружены ошибки. Вместе с этим, существуют ситуации, когда определенная комбинация конфигурационных данных хотя и допустима, но не рекомендуема. В этих случаях среда проектирования формирует разработчику предупреждение, оставляя за пользователем право принятия конечного проектного решения об использовании такого варианта конфигурации.
Несомненно, что разработку проекта, т.е. создание и редактирование конфигурации, удобно вести в интерактивном режиме с использованием предложенного графического интерфейса САПР. Однако генерацию выходных файлов готового проекта можно выполнить и в режиме «командной строки», что позволяет использовать среду конфигурирования из командных (пакетных) файлов при автоматической сборке проекта.
Использование автоматизированной системы проектирования, которая представляет конфигурационную информацию на экране инструментальной ЭВМ в удобном (интуитивно понятном) для пользователя виде, отображает все взаимосвязи между компонентами программного обеспечения, выполняет автоматическую комплексную проверку введенной пользователем информации, дает возможность:
- исключить необходимость изучения форматов низкоуровневых таблиц конфигурации;