УДК 623.418 Куатов Б.Ж.
Военный институт Сил воздушной обороны Республики Казахстан им. Т .Я.Бегельдинова, Казахстан, г. Актобе
СТРУКТУРА МОДЕЛИРУЮЩЕЙ СРЕДЫ И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ТЕХНИЧЕСКИХ СРЕДСТВ ПОДГОТОВКИ
И ОБУЧЕНИЯ АВИАЦИОННЫХ СПЕЦИАЛИСТОВ
Совокупность моделирующей среды и программного обеспечения технических средств подготовки и обучения авиационных специалистов ( ТСПО АС )
есть определённый аппаратно-программный продукт, выполняющий заданные функции по имитации летательного аппарата, его бортовых систем и окружающей среды в реальном масштабе времени.
Рациональное построение этого продукта влечёт за собой повышение эффективности использования вычислительных средств, надёжности, адекватности реализованных характеристик заданным, преемственности, скорости разработки, гибкости конфигурирования ТСПО АС разной степени сложности и применения .
Поэтому структура моделирующей среды и программного обеспечения ТСПО АС с полным основанием может рассматриваться как объект самостоятельного исследования с целью её дальнейшего совершенствования
Исследования должны проводиться в следующих направлениях:
- анализ дерева узлов вычислительной системы по их функциональному назначению;
-анализ информационных потоков между узлами и функциональными группами узлов в вычислительной системе ;
- анализ соответствия выбранных средств вычислительной техники, реализующих узлы вычислитель -ной системы их функциональному соответствию;
- анализ выбора аппаратных средств сопряжения узлов в вычислительную систему;
- анализ соответствия характеристик работы отдельных узлов и всей вычислительной системы в целом заданным;
- анализ степени автономности узлов и функциональных групп узлов друг от друга;
- анализ надёжности вычислительной системы;
- анализ структуры баз данных и средств поиска информации в них;
- анализ степени стандартизации и унификации, возможности преемственности;
- анализ гибкости и возможности реконфигурации;
- экономико-эргономический анализ.
Анализ дерева узлов моделирующей среды и информационных потоков в ней, рассматривая ТСПО АС как объединение программно-аппаратных модулей, несущих чётко определённые, унифицированные функции (модуль динамики полёта, модули отдельных самолётных систем, модули навигации и т. п.) с регламентированным интерфейсом между ними.
В связи с частой сменой средств вычислительной техники, моделирующая среда должна представлять собой реализацию логико-информационной схемы среды, которая определяется логико-функциональным
подходом к ТСПО АС.
Анализ соответствия выбранных вычислительных средств и средств сопряжения их функциональному назначению необходимо вести с точки зрения их производительности, надёжности и стоимости.
Анализ степени автономности узлов и их функциональных групп необходимо вести с точки зрения на функциональный модуль моделирующей среды как элемент специализированного или функционального тренажёра. При автономной работе модуль должен генерировать (упрощённо) ту информацию, которую в комплексном режиме получает от смежных модулей. Кроме того, рассматривается возможность функционирования тренажёра при отказе одного или нескольких модулей.
Анализ баз данных ведётся с целью определения рациональности их организации для простоты и быстроты поиска информации в них.
Анализ степени стандартизации и унификации, возможности преемственности проводится с точки зрения обеспечения разработки и модернизации ряда ТСПО АС в сжатые сроки. Это должно проявляться при моделировании реальных систем летательного аппарата в выделении функционально-устойчивых ядер этих систем и тщательного моделирования этих ядер и конструктивного, часто меняющегося, оформления .
Анализ гибкости и возможности реконфигурации должен проводиться с целью определения требуемых изменений в моделирующей среде и программном обеспечении при замене моделируемых систем или заданных характеристик. Во всяком случае, изменения внутри одного программно-аппаратнрго модуля не должно вести к изменениям других модулей. Кроме того, должна обеспечиваться возможность набора требуемой вычислительной системы из программно-аппаратных модулей разной степени сложности.
Концепция модульности подразумевает свойство систем, в соответствии с которым отдельные элементы её (модули) могут быть объединены, разделены и модифицированы без влияния на систему в целом и на другие модули.
Модульный тренажер отличается от тренажёров с "монолитной" структурой тем, что его функции разделены между несколькими чётко определёнными модулями, связанными друг с другом по унифицированной схеме. Эти модули должны выдавать и получать информацию, необходимую для работы тренажёра. Каждый модуль может быть выполнен в различных вариантах, но интерфейсы между модулями должны быть стандартными.
При переходе на модульную концепцию, прежде всего, учитывается фактор "товарности" модуля, т. е. свойство модулей, согласно которому они могут создаваться и продаваться независимо друг от друга. В этом смысле "товарностью" уже обладают такие модули, как кабина, система подвижности, система визуализации, пульт инструктора. "Товарные" модули покупаются головной фирмой, производя-
щей тренажёры, и объединяются на ней в законченное изделие (тренажёр). Очевидно, что головная фирма заказывает и получает "товарные" модули для создания тренажёра под конкретный вид летательный аппарат.
Так как все без исключения модули обладают стандартным интерфейсом, головная фирма имеет возможность выбора и выбирает тот модуль (из предлагаемых изделий одного функционального назначения), который обладает лучшим соотношением "затраты/прибыль". Итак, одно из преимуществ модульности - независимость его создания, производства, т. е. "товарность". К преимуществам модульности
относится также гибкость модуля, т. е. модуль может быть реорганизован для удовлетворения различ-
ным требованиям, например, введение дополнительных требований по реализации автономной тренировки, имитации дополнительных отказов.
Следующим преимуществом модульности является модифицируемость, т.е. модуль может быть изменён с целью отражения в нём изменений, связанных с реальным моделируемым объектом. При модификации модуля воздействие его на другие модули и систему в целом должно быть минимальным.
В настоящее время сложно дать ответ на то, какой тренажёр будет дешевле - модульный или с "монолитной" структурой. Потребуются дополнительные затраты для того, чтобы каждый создаваемый модуль отвечал поставленным требованиям. С другой стороны, объединение таких модулей, возможно, повлечёт за собой быстроту исполнения и уменьшение стоимости.
При создании первого модульного тренажёра невозможно добиться всех тех преимуществ, которые присущи модульному подходу. Эти преимущества заключаются в разработке тренажеров на базе существующих модулей. В этом случае экономия по времени создания и стоимости может быть большой.
При модульном подходе система, составленная из взаимосвязанных элементов, не может достигнуть полной модульности. Однако всегда можно получить некоторую степень модульности.
Модульный тренажёр должен иметь модульную моделирующую среду и модульное программное обеспечение. Реально модуль вычислительной системы - это один или несколько функционально связанных её узлов со стандартным логико-информационным интерфейсом со смежными модулями этой системы.
Чтобы определить модуль, т.е. определить его функции, необходимо определить входные связи, т. е. информацию, подлежащую обработке, выходные связи, частоту обмена информацией и т. п., другими словами, модуль должен быть определён функционально. Типы используемых ЭВМ, программное обеспечение не должны входить в определение модуля, это его конкретная реализация.
Должны быть полностью определены связи между модулями моделирующей среды, должны быть определены требования, определяющие разработку и внедрение модулей и элементов интерфейса.
Эти понятия: определение, взаимосвязь и требования являются главными в модульном подходе, и
только полное их решение даёт возможность успеха.
Переход к модульной структуре должен охватывать всю вычислительную систему.
Незавершённый, несогласованный модульный подход не даёт никакого выигрыша хотя и требует больших затрат на разработку по сравнению с "монолитным" подходом.
Наибольшая потенциальная опасность заключается в желании выбрать узкоспециальный подход, который жестко определяет архитектуру ЭВМ, жестко устанавливает структуру интерфейсов, диктует применение специального языка программирования.
Удачный модульный подход должен рассматривать все эти аспекты единым всеобщим образом. Он должен быть наиболее гибким и способным на некоторые исключения или отклонения без ущерба подхода в целом.
Поэтому модульный подход необходимо рассматривать на двух уровнях: логическом, на котором модули и интерфейс рассматриваются с функциональной стороны и физическом, на котором моделирующая среда рассматривается как набор аппаратных и программных модулей. Основная цель данного рассмотрения - разделить эти уровни до такой степени, что изменение на физическом уровне не влечёт за собой изменения на логическом уровне.
Классическими примерами логического уровня являются математическая модель системы решения навигационных параметров и математическая модель аэродинамики летательного аппарата. На этом уровне рассматриваются вопросы точности, объекты моделирования, входная и выходная информация модуля.
Языки программирования, характеристики ЭВМ, среда передачи информации не обсуждаются на логическом уровне.
Физический уровень - это среда, в которой функционируют логические модули и посредством которой они взаимодействуют. На этом уровне рассматриваются вопросы производительности аппаратных средств, их архитектура, системы программирования и собственно программы.
Такое распределение позволяет достаточно гибко модернизировать модули на физическом уровне не затрагивая логического. Можно использовать различные элементы физического уровня для создания конкретного тренажёра.
Программы, лежащие в модуле вычислительной системы сами представляют собой программный модуль. Этот модуль должен разрабатываться на логическом уровне и реализовываться на физическом. Программный модуль представляет собой некоторую иерархическую структуру более мелких программных модулей с той или иной степенью вложенности. Модульная программа - это логически структурированная программа, в которой любую часть логической структуры можно изменить, не вызывая изменений в остальных частях программы. Конечно, абсолютная независимость модулей недостижима. Они как-то связаны друг с другом. Нужно лишь стремиться, чтобы эти связи были минимальными или хотя бы чётко оговорёнными. Взаимосвязь или так называемое сцепление модулей классифицировано в таблице 1.
Таблица 1. Сцепление модулей ПО ТСПО АС
Системная характеристика модуля Вид сцепления Мера сцепления
1.Модуль не содержит о другом модуле никакой информации. (слабое сцепление) Независимое 0
2.Вызывающий модуль имеет имя вызываемого модуля, а также типы и значения некоторых его переменных. Данные 1
3.Параметры модуля содержат сведения о внутренней структуре данных . Образец 3
4.Модули разделяют одну и ту же глобальную структуру данных. Общая область 4
5.Один модуль имеет данные о внутренних функциях другого и управляет решениями внутри другого с помощью передач флагов, переключателей или кодов, предназначенных для выполнения функций управления. Управление 5
б.Модуль имеет доступ к данным в другом модуле через внешнюю точку входа Внешние ссылки 5
7.Модули коды команд, которых перемежаются друг с другом. (сильное сцепление). Коды 7
Когда говорится о независимости программного модуля, имеется в виду что один или несколько оп-
ределённых программных факторов тоже будут независимыми, например: - логическая структура программы;
- аргументы или параметры модуля;
- внутренние переменные, таблицы и константы;
- структура и формат базы данных;
- модульная структура управления программой.
Предполагая эти факторы неизменными, можно требовать независимость отдельных модулей программы. Если интерфейсы между модулями определены, то в этом случае можно заменять модуль функционально ему эквивалентным, не вызывая при этом никаких последствий ни в каком другом модуле программы.
Нет единых законов разделения программы на модули. Их можно делать более мелкими, например, требуя, чтобы объём модуля был не более 50 операторов языка высокого уровня, или более крупными, объединять несколько функций в один модуль, из модуля обращаться к другим модулям и т.д. Характеристикой модуля по его внутреннему содержанию является связность. По связности модули ПО ТСПО АС классифицированы в таблице 2.
Таблица 2. Связность модулей ПО ТСПО АС
Системная характеристика модуля Вид связности Мера связности
1. Выполняет единственную функцию. Модуль типа вход - преобразователь - выход. Не может быть разбит на несколько других модулей, имеющих связность такого же уровня. Функциональная (сильная связь) 10
2. Модуль может быть разбит на части, выполняющие независимые функции, которые совместно реализуют единственную функцию. (Оценка и обработка данных.) Информационная (последовательная) 9
3 Модуль, состоящий из независимых модулей, разделяющих структуру данных. Общая структура данных является основой его организации. Запоминание и поиск данных. Коммуникативная 7
4. Модуль последовательно выполняет набор функций, непосредственно относящихся к процедуре решения задачи. Процедурная 5
5. Модуль содержит части, функционально не связанные в один и тот же момент обработки. Временная (по классу) 3
6. Модуль объединяет операторы по принципу их функционального подобия, а для его настройки используется алгоритм переключения . Логическая 1
7. Объединение в модуль абсолютно не связанных частей ПО. По совпадению 0
Достоинствами модульности в программировании являются:
- модульные программы легко составлять и отлаживать, функциональные компоненты такой программы могут быть написаны и отлажены порознь;
- модульную программу легче сопровождать и модифицировать, функциональные компоненты могут быть изменены, переписаны или заменены без изменений в остальных частях;
- разработкой модульной программы легче управлять.
К недостаткам модульного подхода в программировании можно отнести:
- модульность часто требует большой дополнительной работы;
- модульный подход часто требует дополнительных затрат времени центрального процессора;
- модульный подход часто требует дополнительные ресурсы оперативной памяти.
Но эти недостатки часто переходят в достоинства из-за преемственности модулей, возможности их тщательной разработки, применения библиотечных программ, минимизированных по времени выполнения или памяти стандартных процедур и функций.
Концепция модульности моделирующих сред ТСПО АС требует разработки формальных методов выделения отдельных модулей, как правило, основанных на теории графов и теории цепей.
Распределение программных модулей по узлам моделирующей среды. Требуется распределить N взаимодействующих программных модулей по M узлам моделирующей среды с минимальным количеством параметров обмена между ними. При этом суммарное время выполнения программных модулей в каждом узле не должно превышать некоторое Ti.
Количество параметров обмена между отдельными программными модулями задаётся матрицей смежности А размерностью (n X n) , время выполнения программных модулей вектором B(n) .
Для построения формальной математической модели распределения удобно использовать теорию графов. При этом пакет программных модулей интерпретируется как ненаправленный мультиграф (т.е. граф у которого существует хотя бы одна пара вершин, соединённых m рёбрами), в котором каждому программному модулю соответствует вершина мультиграфа, а параметрам обмена - его рёбра.
Тогда задача распределения программных модулей по узлам вычислительной сети формулируется следующим образом.
Задан мультиграф G(X,U). Требуется "разрезать" его на отдельные подграфы так, чтобы число рёбер, соединяющих эти подграфы, было минимальным, т. е. минимизировать к к
X ZA для "Gi(XUi) с G(X,U) .
i=1(i* j) j = 1
Из Gt(Xt,Uі) ^ Gj(X j ,Uj) следует, что няющих подграфы Gt(Xt,Ui) и Gj(Xj,Uj) .
XПXj = 0 , UlUj = 0 , где Uj
Ограничением в рассматриваемой
- множество рёбер, соедизадаче является суммарное
время выполнения программных модулей для каждого узла.
Известные алгоритмы распределения можно условно разбить на пять групп:
- алгоритмы, использующие методы целочисленного программирования;
- последовательные алгоритмы;
- итерационные алгоритмы;
- смешанные алгоритмы;
- алгоритмы, основанные на методе ветвей и границ.
Алгоритмы первой группы хотя и позволяют получить точное решение задачи, однако для мультиграфа реальной сложности практически не реализуемы на ЭВМ.
В тренажёростроении наибольшее распространение получили приближённые алгоритмы распределения (последовательные, итерационные, смешанные).
При использовании последовательных алгоритмов, сначала по определённым правилам выбирают первую вершину графа, затем осуществляют последовательный выбор вершин (из числа нераспределённых) и присоединение их к формируемому узлу графа. После образования первого узла переходят ко второму и т. д. до получения желаемого разрезания исходного графа.
В итерационных алгоритмах начальное разрезание графа на куски выполняется произвольным образом: оптимизация компоновки достигается парными или групповыми перестановками вершин графа из различных кусков. Процесс перераспределения вершин заканчивают при получении локального экстремума целевой функции, удовлетворяющего требованиям разработчика.
В смешанных алгоритмах распределения для получения начального варианта "разрезания" используется алгоритм последовательного формирования кусков; дальнейшая оптимизация решения осуществляется перераспределением вершин между отдельными кусками графа.
В последовательных алгоритмах распределения "разрезание" исходного графа G(X,U) на модули ОД ,Ui), (1 + 1,...,k) сводится к следующему.
В графе G(X,U) находят вершину Xt Є X i принадлежащую X с минимальной локальной степенью p(Xi)=min p(Xf), для всех Xf принадлежащих X, где p(Xf) равен сумме Afp (p=1,...,N).
Если таких вершин несколько, то предпочтение отдаётся вершине с максимальным числом кратных рёбер. Из подмножества вершин, смежных с вершинами формируемого куска графа G1(X1,U1), выбирают ту, которая обеспечивает минимальное приращение связей куска с ещё нераспределёнными вершинами d(Xj)=min d(Xr) (для всех Xr принадлежащих Xs), где d(Xr)=p(Xr)-2(сумма Are, e принадлежит E).
Данную вершину Xj принадлежащую X/X1 включают в G1(X1,U1), если не происходит нарушение ограничения по сумме времени выполнения программных модулей узла, т. е. если Xj принадлежит TX1 & d(Xj)=p(Xj)-2(сумма Aje, e принадлежит E) = min d(Xr)(Xr принадлежит TX1) & сумма TIME(Xg) (g
принадлежит объединению j и E) не больше m], тогда Xj включается в X1, где Aje - элемент матрицы
смежности исходного графа G(X,U); d(Xg) - относительный вес вершины Xg, равный приращению числа внешних рёбер куска G1(X1.U1) при включении вершины Xg во множество X1; E - множество индексов
вершин, включенных в формируемый кусок графа на предыдущих шагах алгоритма; m - максимально до-
пустимое суммарное время выполнения программ для отдельно взятого узла.
Указанный процесс продолжается до тех пор, пока присоединение очередной нераспределённой вершины Xj к узлу G1(X1,U1) не приведёт к нарушению ограничения по времени выполнения программных модулей для данного узла.
После образования первого узла процесс повторяется для формирования второго, третьего и т. д. с той лишь разницей, что рассмотрению подлежат только вершины, не вошедшие в предыдущие узлы.
Достоинством последовательных алгоритмов является простота их реализации на ЭВМ и высокое быстродействие .
Недостатком этих алгоритмов является получение результатов, которые в общем случае могут быть далекими от оптимальных, что сужает область их использования.
Изложенный подход использован в Военном институте Сил воздушной обороны Республики Казахстан им. Т.Я.Бегельдинова при модернизации технических средств подготовки и обучения авиационных специалистов .
ЛИТЕРАТУРА
1. Кочубиевский И. Д. и др. Динамическое моделирование и испытания технических систем. -
М.: Энергия, 1978, 304.
2. Годунов А. И., Логанина В. И., Мандриков В. И. Заметки по вопросу использования положений теории информации к вопросам теории авиационного тренажеростроения. В сб. «Теория и практика имитационного моделирования и создания тренажеров». Сборник Юбилейной международной научнопрактической конференции. Пенза, 2007. - С. 10-20.
3. Юсупов Р. М., Розенвассер Е. Н. Чувствительность систем управления. - М.: Наука, 1981, 464 с.
4. Цыпкин Я. З. Адаптация и обучение в автоматических системах. М., «Наука», 1968.
5. Дикарев В. А. Автоматизация тренажерной подготовки операторов радиоэлектронных объектов /Под общей научной редакцией В.В.Сысоева. - М.: ИПРЖРБ 2002Ю - 168 с.
6. Брахман Т. Р. Многокритериальность и выбор альтернативы в технике. - М.; Радио и связь,
1984. - 288 с.
7. Новецкий П. В. Основы информационной теории измерительных устройств. Л.: «Энергия». 1968.
8. Юрков Н. К. Когерентный контроль координат основных модулей нежесткой фазированной антенной решетки беспилотного летательного аппарата / Н. К. Юрков, А. В. Полтавский, В. В. Маклаков, В. М. Бородуля // Труды международного симпозиума Надежность и качество. 2013. Т. 2. С. 100-102