Сценарный подход как основа построения ВИРУ
При разработке ВИРУ применен сценарный подходк планированию, подготовке и реализации процессов информационной поддержки экипажа.
Сценарное программирование состоит в создании для каждого моделируемого процесса индивидуальной управляемой временной шкалы. Процессы, визуальные и параметрические модели объектов вкладываются друг в друга, как в реальной среде. Таким образом, формируется программная конструкция, адекватно моделирующая иерархию элементов реального объекта или процесса, создается виртуальный прототип реального объекта.
В программном смысле сценарий - это распределенная по управляемой шкале времени совокупность команд, обработчиков событий, ссылок, условных и безусловных функций и операторов, обеспечивающих моделирование и воспроизведение визуальных, акустических, текстовых и иных информационных блоков. Такой аспект программирования идеально подходит для задач информационной поддержки действий космонавтов и наземного персонала. Содержательным центром информационного процесса является сценарий, программной основой – так называемое «сценарное ядро». Сценарное ядро контролируется внешними xml-описаниями, на основе которых специальными программными синтезаторами формируются:
- визуальные оболочки и художественные элементы МИП;
- виртуальные органы навигации;
- множество переменных, определяющих свойства системы;
- входные и выходные информационные потоки;
- локальные настройки и регулировки.
Сценарное ядро генерирует векторную графическую информацию, подключает текстовые и звуковые фрагменты, управляет средствами виртуальной (2D-3D) реальности и терминальными подсистемами, взаимодействует со средствами отображения и сетевым окружением.
В качестве программной платформы для реализации сценариев ВИРУ выбран специальный сценарный язык ActionScript. Языки семейства ActionScript относятся к стандарту ECMA-262. Их прародителем является JavaScript. ActionScript ориентирован на исполнение мультимедиа-сценариев. В его арсенале имеются специальные функции обработки временных последовательностей, покадровое представление временной шкалы, эффективные средства взаимодействия с мультимедиа-приложениями. Имеется мощный аппарат создания и внедрения анимированной векторной графики. Программы ActionScript исполняются особой виртуальной машиной (AVM). Код ActionScript компилируется в SWF-файлы, которые исполняются проигрывателями Flash Player или аналогичными приложениями для различных стационарных или мобильных платформ. Использование проигрывателей дает возможность работы с итоговым продуктом без каких-либо инсталляций, при полной совместимости с веб-системами, и, - что очень важно, - в авторских визуальных оболочках, без использования экранных браузеров. Итоговый продукт практически неуязвим для вирусов. ActionScript предлагает удобную технологию программирования, вполне доступную разработчикам, имеющим базовые понятия об объектно-ориентированном программировании.
Программный комплекс ВИРУ состоит из процессорных и серверных модулей, разветвленной файловой структуры и хранилища мультимедиа ресурсов.
Ниже представлены информационная (Рис.1.) и функциональная (Рис.2.) схемы комплекса ВИРУ.
Информационное обеспечение ВИРУ на уровне управления осуществляется внешним редактором, формирующим XML-структуры на основе «бумажной» бортовой документации. Редактор связывает подготовленные в студийных условиях массивы мультимедиа и классической текстовой информации в сложную адресную сеть, обеспечивая возможность быстрого доступа к содержимому хранилищ мультимедиа и файловым структурам БД.
Рис.1. Структура информационного обеспечения ВИРУ
Мультимедиа иллюстрации и дикторские комментарии могут сопровождать любой из выбранных пунктов на любом иерархическом уровне – от всплывающего заголовка и предупреждения – до одиночного воздействия на активный элемент сцены.
Потоки данных
Для реализации функций МИП ВИРУ создана программная структура, представленная на Рис.2.
После автономного или внешнего запуска приложения активируются сохраненные ранее (вводятся новые) настройки, осуществляется выбор темы, генерируются органы виртуального управления и навигации. Запускается сценарная циклограмма, под управлением которой загружаются и анализируются актуальные управляющие XML-описания и организуется воспроизведение элементов мультимедиа, извлекаемых из хранилища. Визуальные элементы выводятся в окнах МИП, которые управляются отдельными программными модулями по специальным ситуационным планам.
В информационном обмене участвуют следующие узлы и информационные блоки:
- структура проекта **_XML/ MAIN.xml(4 или 6) - считывается ядром (1);
- ядро control.swf (1) - считывает управляющую XML-структуру (4), файлы Библиотеки (5), исходное (6) или сохраненное ранее авторизованное описание состояний виртуальных объектов (ВО) (3); формирует протокол хода эксперимента и параметры текущих состояний ВО и передает их сокет-серверу (2) для локальной записи;
- сокет-сервер server.exe (2) - принимает от ядра (1) и записывает на жесткий диск log-файл (3) fscommand/**_LOG/<name>_<#>.xml по адресу,вводимому оператором при авторизации в начале сессии. Внутри этого файла также сохраняется авторизованное описание текущего состояния виртуальных элементов.
Рис.2. Функциональная структура ВИРУ
Сервер server_3.exe – односокетный. Скрипт сервера написан на языке Delphi 7. Единственный сокет (порт 2972) служит для приема сервером посылок данных, первые 8 символов которых представляют собой идентификаторы:
‘iden_adr’ – сообщает серверу, что остальные символы этой посылки являются адресом для последующей записи файла на диск;
‘iden_dat’ – сообщает серверу, что остальные символы посылки являются нормированной порцией (сегментом) длинного массива данных;
‘iden_rea’ – сообщает серверу об успешности всех этапов обмена;
‘iden_exi’ – команда на выключение сервера.
Обратно, по этому же соединению, сервер передает клиенту квитанции:
'adr' – «адрес целевого файла получен»;
'daton' – «сегмент массива получен»;
'ready' – «массив подготовлен к записи и записан».
В скрипте сервера производится разбор входной строки на идентификатор и значащую часть, отдельно сохраняется адрес, сегменты данных последовательно суммируются (восстанавливается исходный массив), затем этот массив записывается на диск.
Окна серверов Form1 всплывают при старте поверх основного интерфейса, поэтому для их визуального маскирования в свойствах формы Form1 выставлено свойство AlphaBlend = true, и значение прозрачности AlphaBlendValue = 1.
Процессорные утилиты
Программный комплексне требует инсталляции и устанавливается на ПК простым копированием. Продукт работает под управлением ОС WINDOWS 2000/XP/Vista/7/8, нечувствителен к смене сервис-пакетов и их обновлениям.
Программный комплекс размещается в папке Media и запускается внешней стартовой программой VIRU.exe, располагаемой обязательно в одной директории с папкой Media.
Программный комплекс состоит из общего пакета программ и набора специфических приложений для каждого эксперимента. Папки и файлы конкретных экспериментов индексируются префиксами (**):
RE – Релаксация;
UR –Альбедо (Ураган).