OS/2 в моделирующих системах.


Георгий Безруков

Вместо аннотации

Организация с длинным официальным названием "Центр научных исследований и информационных технологий в тренажеростроении и системах подготовки персонала", или с коротким неофициальным - "Центр тренажеростроения", много лет занимается созданием тренажеров для обучения персонала управлению сложными объектами. Не единственный, но основной заказчик и потребитель наших изделий - Центр подготовки космонавтов. Более шести лет мы применяем в своих разработках операционную систему OS/2. На сегодняшний день она используется как основная инструментальная платформа для создания систем моделирования объектов, а также (в некоторых изделиях) - как конечная платформа пользователя для задач моделирования и графического интерфейса инструктора (преподавателя).

Автор данной статьи является разработчиком программной среды мягкого реального времени, под управлением которой работают прикладные части математического обеспечения тренажеров. Цель статьи - познакомить пользователей OS/2 с опытом ее применения в моделирующих системах.

Введение и терминология

Под тренажерами в узком смысле слова мы понимаем системы подготовки персонала, построенные вокруг физического макета моделируемого объекта. Часто в качестве такого макета используется экземпляр реального объекта, доработанный в тренажных целях. (Для примера на рисунке 1 представлено фото зала тренажеров для орбитального комплекса "Мир". Эти тренажеры принадлежат к предыдущему поколению средств подготовки. Они создавались нами в восьмидесятых годах с использованием вычислительной техники серий ЕС и СМ, но служат до сих пор. Аналогичные макеты реальных объектов используются в новых, как уже созданных, так и еще создаваемых тренажерах для программы международной космической станции.)

Интерьер макета оснащается полным комплектом оборудования, с которым приходится работать космонавту. Часть этого оборудования - штатные блоки объекта, а часть - тренажные имитаторы, полностью повторяющие габариты, внешний вид, набор органов управления, а иногда и массовые характеристики штатного блока.

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

Совокупность моделей образует систему математического моделирования объекта. Это сердце всякого тренажера, работающее в реальном времени и обеспечивающее расчетными параметрами его системы. (Для полноты картины следует сказать, что связь между оборудованием макета и системой математического моделирования осуществляется с помощью комплекса устройств сопряжения, разговор о котором выходит за рамки рассматриваемой темы. Укажем лишь, что в большинстве наших современных продуктов этот комплекс реализован на базе модульных компьютеров с шиной VME и процессорами Motorola и работает под управлением операционной системы реального времени OS9.)

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

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

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

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

Другие системы тренажеров, такие как имитация визуальной обстановки или имитация связи "Борт - Земля", мы здесь рассматривать не будем.

Помимо тренажеров мы создаем облегченные версии средств подготовки персонала, используемые в учебных классах или в целях самоподготовки. Обычно они включают в себя те же модели бортовых систем, что и тренажер, одно рабочее место преподавателя, и несколько компьютерных рабочих мест обучаемых. Главное отличие такого класса от тренажера - отсутствие макета реального объекта. Вместо него создается трехмерный виртуальный интерьер, с которым и работает обучаемый. Графические объекты виртуального интерьера также взаимодействуют с математическими моделями систем, как и реальные блоки макета в тренажере (но уже без комплекса устройств сопряжения). Виртуальный интерьер в таких классах функционирует либо на компьютерах SGI, либо на рабочих станциях с Windows NT, а вот система моделирования работает под управлением OS/2.

Тренажная распределенная исполнительная оболочка - ТРИО

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

ТРИО - это созданная нами среда разработки и эксплуатации моделирующих систем. Ее главные составные части:

- инструментарий поддержки разработки системы моделирования;
- собственно исполнительная оболочка мягкого реального времени.

ТРИО является самостоятельным продуктом и не привязана к конкретному тренажеру. Исполнительная оболочка, копия которой размещается на каждом узле вычислительной системы тренажера, настраивается на структуру системы моделирования в процессе своей загрузки. Модели (и форматы) могут быть размещены как на одной машине, так и на разных узлах локальной вычислительной сети. При этом ТРИО обеспечивает доставку данных между прикладными модулями прозрачным для них способом. Иначе говоря, модели не требуется знать, где именно в сети находятся потребители ее расчетных параметров. Конфигурация вычислительной системы и размещение моделей по узлам могут быть изменены уже в процессе эксплуатации.

ТРИО поддерживает два способа обмена данными между прикладными модулями - переменные и команды. Переменные несут информацию о текущем состоянии модели системы. Команды являются результатом происходящих в системе событий. Для команд поддерживается буферизация, что позволяет исключить потерю информации о событиях и гарантировать доставку всей истории событий до потребителя. Команды могут нести информацию о времени их выполнения, что позволяет организовывать циклограммы и временные задержки. Модели могут работать в реальном или ускоренном масштабах времени.

Состояние моделирующей системы может быть сохранено в произвольный момент времени и восстановлено впоследствии. ТРИО имеет собственный программный интерфейс (API), который используется прикладными модулями для обращения за сервисами вычислительной системы. Минимальный такт вычислений определяется операционной системой. Для OS/2 минимальный такт составляет чуть меньше 8 мс.

Основу инструментария составляют средства ведения базы данных системы моделирования. База данных - это, по сути, электронная версия структурно-функциональной схемы системы моделирования: описание состава моделей и форматов, их структурных отношений, а так же данных, которыми обмениваются между собой модели и форматы. Кроме функции ведения базы данных, инструментарий ТРИО на основании информации, содержащейся в базе данных, строит каркасы исходных текстов моделей и форматов.

Каркасы - это программы, полностью готовые к компиляции и выполнению под управлением исполнительной оболочки. Они содержат описание всех протокольных точек входа, а так же входных и выходных данных. Каркас представляет собой точку отсчета, от которой начинается разработка модели или формата: наполнение "черного ящика" с заданными входами и выходами конкретными вычислениями, обеспечивающими требуемую реакцию на события и требуемые значения выходных данных. При этом от самой точки отсчета прикладной модуль может отлаживаться во взаимодействии с другими моделями и форматами, независимо от того, какова степень готовности каждого из них. После внесения изменений в базу данных каркасы перестраиваются, но операторы, вставленные в исходный текст программистом, сохраняются.

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

Исполнительная оболочка реализована для трех операционных систем: OS/2, Windows NT и Irix (вариант UNIX от SGI). Благодаря этому в одной вычислительной системе тренажера могут совместно работать вычислительные средства разных платформ. Инструментарий реализован только на платформе OS/2. Кроме того, интерфейс исполнительной оболочки для OS/2 поддерживает некоторые возможности по отладке компонентов системы моделирования, в частности просмотр и изменение значений переменных в сети. Модели создаются и отлаживаются в операционной системе OS/2. Отлаженные модели в случае необходимости могут быть перенесены на UNIX в исходных текстах. При отлаженной технологии процесс переноса занимает не более нескольких часов.

Примеры применения OS/2 в моделирующих системах.

Как уже отмечалось выше, OS/2 в настоящее время является для нас основной инструментальной платформой, применяемой при создании и отладке моделирующих систем. Кроме того, в настоящее время нами создано шесть видов функционирующих тренажеров и учебных классов, в вычислительных системах которых OS/2 используется на этапе эксплуатации. Причем сюда входят как космические тренажеры, так и, например, тренажер легкового автомобиля. Ниже приводятся краткие характеристики трех моделирующих систем, в которых OS/2 используется не только разработчиками, но и эксплуатирующим персоналом. Цифры приведены для того, чтобы дать какое-то представление об объеме моделирования.

Пример 1. Комплексный тренажер Российского сегмента международной космической станции.

Характеристики:
количество компьютеров в вычислительной системе: 16 (в текущей конфигурации)
количество моделей в системе моделирования: 97
количество форматов: 433
объем общей области данных (байты): 51680
количество команд (событий) системы моделирования: 6758
такт моделирования: 100 мс.

Пояснения.
Это самый большой тренажер из существующих в Центре подготовки космонавтов. В настоящее время он поддерживает два первых орбитальных модуля Российского сегмента международной космической станции. Предполагается, что объем моделирования будет наращиваться по мере сборки станции в космосе. Поэтому в качестве моделирующего компьютера в него заложен мощный многопроцессорный сервер серии Challenge от SGI. Моделирующая система разрабатывается и модифицируется в OS/2, но затем переносится в исходных текстах под операционную систему Irix. В процессе эксплуатации OS/2 используется наряду с Windows NT на рабочих местах системы управления тренировкой.

Общий вид экрана рабочего места инженера тренажера под OS/2 показан на рисунке 2. Скриншот включает в себя главное окно, с которого осуществляется управление тренажером, и примеры открытых в нем форматов, предоставляющих пользовательский интерфейс к моделям систем. На рисунке 3 показан формат, исполняющий роль виртуального прибора-повторителя для реального пульта в макете. Формат выполнен на основе оцифрованной фотографии реального пульта с отрисовкой активных элементов: тумблеров, галетника, светодиодов, предохранителей, крышки предохранителей. В обычном режиме состояние формата повторяет состояние пульта в макете. При работе без макета формат позволяет оператору управлять этими активными элементами с помощью мыши.

Вариант полностью рисованного виртуального прибора повторителя показан на рисунке 4. Формат изображает консоль одного из бортовых компьютеров, с органами управления и собственным текстовым дисплеем.

Пример 2. Учебный класс по программе международной космической станции (был одним из экспонатов авиасалона МАКС'99).

Характеристики:
количество компьютеров в вычислительной системе: 6
такт моделирования: 102 мс.
остальные характеристики такие же, как в примере 1

Пояснения.
Учебный класс применяется для первоначальной подготовки космонавтов. Физические макеты объектов заменены здесь трехмерными виртуальными мирами, реализованными для Irix и Windows NT. Система моделирования класса полностью повторяет систему моделирования тренажера, описанного в первом примере, но моделирующий компьютер класса работает под управлением OS/2. Следует отметить, что OS/2 полностью справляется с объемом моделирования, для которого в тренажере предусмотрен UNIX-сервер.

Еще один интересный пример применения OS/2 в учебном классе - имитация Laptop космонавта. Штатный бортовой Laptop космонавта работает под управлением операционной системы Solaris. В состав компьютерного класса входит коммерческий Laptop, на котором установлена OS/2. Разработанный специально для этого Laptop пользовательский интерфейс (см. рисунок 5) имитирует оконный интерфейс Solaris, включая скользящий фокус, а также внешний вид и функционирование управляющих элементов окон.

Пример 3. Автомобильный тренажер

Характеристики:
количество компьютеров в вычислительной системе: 3
количество моделей в системе моделирования: 13
количество форматов: 37
объем общей области данных (байты): 6300
количество команд (событий) системы моделирования: 20
такт моделирования: ~ 32 мс.

Пояснения.
Этот пример имеет целью разрушить, возможно, сложившееся у читателя впечатление, что наш опыт применения OS/2 и ТРИО ограничен задачами космических тренажеров. Кроме того, автомобильный тренажер, очевидно, предъявляет более высокие требования ко времени реакции системы, чем тренажеры сравнительно медленных в динамике космических объектов. Тренажер создан на базе доработанного кузова автомобиля. Из трех компьютеров роли распределены следующим образом:
  1. моделирующий компьютер (он же - рабочее место инженера тренажера) - OS/2
  2. синтез визуальной обстановки в лобовом стекле и зеркале заднего вида - Windows NT (изображение передается на экран перед лобовым стеклом через проекционную систему)
  3. Устройство сопряжения системы моделирования с автомобилем на базе MicroPC
Объем моделирования в этом тренажере не так велик, как в предыдущих примерах, но требования к времени реакции обусловили необходимость сократить такт моделирования до 32 мс. OS/2 с таким тактом моделирования справляется (Windows NT на той же машине (Pentium 166, ОЗУ 32М) - нет).

Вместо заключения.

Вычислительные системы многих созданных нами тренажеров смешанные, то есть различные вычислительные средства тренажера используют разные операционные системы. В одних случаях это обусловлено спецификой задачи, возложенной на конкретный узел сети, в других - просто предпочтениями эксплуатирующего персонала на конкретном рабочем месте. Так, в системах управления тренировкой для организации графического интерфейса пользователя с равным успехом используются OS/2 и Windows NT. Автор предпочитает воздержаться в статье от выяснения вопроса, какая операционная система лучше, поскольку ответы на подобные вопросы обычно субъективны. Единственный вывод, к которому хотелось подвести читателя, состоит в том, что OS/2 хорошо справляется как со сложными задачами моделирования в реальном времени, так и с построением удобных и презентабельных рабочих мест для эксплуатирующего персонала.

Нельзя не отметить, что в описанных в статье разработках участвовали более ста сотрудников Центра Тренажеростроения. Кроме того, работы не могли бы быть выполнены без финансовой и интелектуальной поддержки организаций-заказчиков.


Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ