Реинженерия наследуемого программного обеспечения авиационных тренажеров
Рассмотрен метод управляемой объектом реинженерии наследуемого программного обеспечения, ориентированный на использование в области разработки информационно-моделирующих комплексов. Применение метода показано на примере реинженерии наследуемого программного обеспечения авиационного тренажера. The ob...
Gespeichert in:
| Datum: | 2008 |
|---|---|
| Hauptverfasser: | , , , |
| Format: | Artikel |
| Sprache: | Russisch |
| Veröffentlicht: |
Інститут програмних систем НАН України
2008
|
| Schlagworte: | |
| Online Zugang: | https://nasplib.isofts.kiev.ua/handle/123456789/1488 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Zitieren: | Реинженерия наследуемого программного обеспечения авиационных тренажеров / Н.А. Сидоров, В.А. Хоменко, В.Т. Недоводеев, Е.Н. Сидоров // Пробл. програмув. — 2008. — N 2-3. — С. 288-298. — Бібліогр.: 17 назв. — рус. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1859615389352198144 |
|---|---|
| author | Сидоров, Н.А. Хоменко, В.А. Недоводеев, В.Т. Сидоров, Е.Н. |
| author_facet | Сидоров, Н.А. Хоменко, В.А. Недоводеев, В.Т. Сидоров, Е.Н. |
| citation_txt | Реинженерия наследуемого программного обеспечения авиационных тренажеров / Н.А. Сидоров, В.А. Хоменко, В.Т. Недоводеев, Е.Н. Сидоров // Пробл. програмув. — 2008. — N 2-3. — С. 288-298. — Бібліогр.: 17 назв. — рус. |
| collection | DSpace DC |
| description | Рассмотрен метод управляемой объектом реинженерии наследуемого программного обеспечения, ориентированный на использование в области разработки информационно-моделирующих комплексов. Применение метода показано на примере реинженерии наследуемого программного обеспечения авиационного тренажера.
The object-driven software reengineering method is presented. The method application is demonstrated on the legacy software of the aviation simulator.
|
| first_indexed | 2025-11-28T18:44:38Z |
| format | Article |
| fulltext |
Методи та засоби програмної інженерії
© Н.А. Сидоров, В.А. Хоменко, В.Т. Недоводеев, Е.Н. Сидоров, 2008
288 ISSN 1727-4907. Проблеми програмування. 2008. № 2-3. Спеціальний випуск
УДК 004.413:338.5
РЕИНЖЕНЕРИЯ НАСЛЕДУЕМОГО ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ АВИАЦИОННЫХ ТРЕНАЖЕРОВ
Н.А. Сидоров, В.А. Хоменко, В.Т. Недоводеев, Е.Н. Сидоров
Национальный авиационный університет,
03058, проспект Комарова, 1.
Тел.: 406 7396, факс 497 8106,
e-mail: sna@nau.edu.ua
Рассмотрен метод управляемой объектом реинженерии наследуемого программного обеспечения, ориентированный на использование
в области разработки информационно-моделирующих комплексов. Применение метода показано на примере реинженерии
наследуемого программного обеспечения авиационного тренажера.
The object-driven software reengineering method is presented. The method application is demonstrated on the legacy software of the aviation
simulator.
Существуют сложные наследуемые технические комплексы, состоящие из компонентов, часть которых
активно используется, а другая часть утратила работоспособность вследствие морального и физического
износа. Примером такого комплекса является авиационно-пилотажный комплекс «самолет-тренажер» [1].
Высокая стоимость компонентов, которые продолжают использоваться (самолет) делают актуальной задачу
восстановления и поддержки работоспособности компонентов, утративших работоспособность (тренажер).
Значительную часть таких комплексов, как правило, занимает программное обеспечение, которое вследствие
замены морально устаревшего и физически изношенного аппаратного обеспечения требует соответствующей
переработки. Методом переработки является реинженерия.
1. Реинженерия программного обеспечения
В общем виде реинженерия программного обеспечения требует выполнения процессов двух инженерий
(рис. 1) − обратной и прямой [2]. На вход первого процесса, поступает наследуемое программное обеспечение и
дополнительная информация о домене. В результате выполнения процесса строится модель − представление о
домене. Данная модель, затем используется в процессах прямой инженерии для создания нового программного
обеспечения.
Домен, в контексте инженерии программного обеспечения – это прикладная область, для которой
разрабатывается программное обеспечение [3]. Модель домена – это описание домена, которое строится путем
выполнения одного из методов обратной инженерии – восстановление проектной информации [4] или
доменный анализ [3]. Независимо от метода, для построения модели домена используется комбинация кода,
существующей документации, опыта персонала, общих знаний о проблеме и прикладной области [4].
Представление доменной модели, в зависимости от решаемых задач и зрелости домена может быть в форме
таксономии, функциональных моделей или доменного языка [4]. Если построение модели осуществляется
первым из указанных методов обратной инженерии, то важную роль играет наследуемое программное
обеспечение.
Реинженерия – это эффективный метод утилизации программного обеспечения – продления времени
полезного применения наследуемого программного обеспечения, который может применятся для реализации
утилизации в разных аспектах – восстановления, повторного использования и переработки программного
обеспечения [5].
Рис. 1. Процессы реинженерии
Методи та засоби програмної інженерії
289
Восстановление программного обеспечения обычно выполняется в процессе его сопровождения.
Реинженерия выступает как метод борьбы со старением программного обеспечения, которое характеризуется
рядом симптомов [6]: «загрязнение» кода, утрата знаний о программном обеспечении, плохой лексикон (стиль)
[7], ослабление сцепления компонентов, «расслоение» архитектуры. Причины возникновения симптомов
устраняются в действующем программном обеспечении [8].
Подготовка к повторному использованию может выполнятся как в действующем программном
обеспечении (на его репликации), так и на ликвидируемом. Обычно повторному использованию подвергаются
отдельные компоненты программного обеспечения, которые предварительно перерабатываются путем
применения реинженерии – вследствие изменения их функциональности или вследствие миграции (новые
ЭВМ, операционная система, язык программирования).
Переработка программного обеспечения при утилизации выполняется тогда, когда осуществляется
миграция программного обеспечения. Особенно «тяжелым» является тот случай, который связан с миграцией
наследуемого программного обеспечений на новую аппаратную платформу. Задача миграции возникает
вследствие морального старения и физического износа аппаратной платформы. Это ведет к тому, что
вычислительный комплекс не может больше использоваться, а наследуемое программное обеспечение или его
отдельные работающие части нельзя выполнить, так как отсутствует вычислитель. В этом случае, как правило,
меняются и операционная система и язык программирования.
Реализация процессов обратной инженерии связана с решением двух задач [9]: определение затрат,
необходимых для построения модели домена; оценка качества процессов реверсивной инженерии и в целом
реинженерии. Решение первой задачи зависит от зрелости домена и может основываться на моделях оценки
стоимости программного обеспечения [10]. При этом, чем более зрелый домен, тем меньше затраты на
осуществление процессов реверсивной инженерии. Качество процессов реверсивной инженерии обычно
оценивают, показывая адекватность разработанного программного обеспечения наследуемому программному
обеспечению или модели предметной области [9].
В работе предлагается метод, который разработан для применения на программном обеспечении,
работающем в предметной области [11] и рассматриваются результаты его использования для переработки
программного обеспечения авиационного тренажерного комплекса TL410М (самолет L 410), вызванной
изменением аппаратной платформы. Вычислительный комплекс тренажера, построенный на базе ЭВМ
Robotron, морально и физически устарел, поэтому требовал замены на современную технику. Более пятнадцати
лет комплекс не эксплуатировался – стали неработоспособными ЭВМ, элементы устройства связи с объектом,
значительная часть приборов в кабине пилота и на пульте инструктора. Вследствие этого стало невозможно
выполнение наследуемого программного обеспечения тренажерного комплекса.
Оставшаяся часть работы состоит из трех частей. Во второй части представлен метод управляемой
объектом реинженерии наследуемого программного обеспечения; в третьей − описано применение метода на
примере реинженерии программного обеспечения авиационного тренажера; в четвертой рассматривается
адекватность переработанного программного обеспечения.
2. Управляемая объектом реинженерия наследуемого программного обеспечения
В работе рассматривается метод реинженерии наследуемого программного обеспечения, которое
создавалось для работы в предметной области. Это, так называемые, Е – программы [11]. Их использование
направлено на автоматизацию деятельности человека или общества. При этом, программное обеспечение,
становится частью реальной обстановки. Как правило, программное обеспечение рассматриваемого типа
функционирует на гибридных (цифро-аналоговых) вычислительных комплексах, и значительная его часть
связана с обработкой информации, циркулирующей между реальным объектом или его имитационной моделью
и вычислительным комплексом [12]. В состав таких комплексов входят аналого-цифровые и цифро-аналоговые
преобразователи, датчики реального объекта или его модели.
Особенности предметной области и Е-программ определяют то, что реинженерия наследуемого
программного обеспечения рассматриваемого типа кроме решения традиционных задач, связанных с
восстановлением проектной информации, требует восстановления информации о реальном объекте или
имитационной модели и особого подхода к решению задачи, доказательства адекватности функционирования
построенного в результате реинженерии программного обеспечения поведению реального объекта или его
имитационной модели.
Информация о реальном объекте, восстанавливаемая в процессе реверсивной инженерии, – это наборы
входных параметров и их характеристик; характеристики датчиков, приборов и исполнительных устройств
реального объекта или модели. При этом, информация, кроме использования традиционного пути ее получения
– анализ наследуемого исходного кода и документации, должна получатся путем проведения
экспериментальных исследований поведения реального объекта или модели.
Доказательство адекватности функционирования построенного программного обеспечения не может
осуществляться традиционными способами – сравнением результатов выполнения наследуемого и вновь
построенного программного обеспечения или сравнением результатов реверсивной инженерии с поведением
Методи та засоби програмної інженерії
290
соответствующей модели предметной области [9]. Первый способ нельзя использовать, так как нет
вычислительного оборудования, на котором можно выполнить наследуемое программное обеспечение, а
второй, – так как модель предметной области, представленная в документации, как правило, содержит ошибки.
Кроме этого, особое положение Е – программ в реальном мире указывает на то, что основное внимание при
доказательстве адекватности должно уделяться подробному анализу поведения программы в реальных,
определенных условиях функционирования [11]. Все это свидетельствует о том, что решающую роль в
доказательстве адекватности функционирования разработанного в результате реинженерии программного
обеспечения, функционированию реального объекта или имитационной модели должны играть характеристики
и свойства реального объекта. Это составляет сущность предложенного метода реинженерии программного
обеспечения (рис. 2).
3. Реинженерия наследуемого программного обеспечения авиационного тренажера TL
410M
Применение разработанного метода было выполнено на комплексном авиационном тренажере TL 410М
(рис. 3).
Вычислительная система тренажера была построена на основе ЭВМ РОБОТРОН 4201 и аналого-
цифрового устройства связи программной модели самолета с кабиной пилотов. Программное обеспечение
написано на автокоде. Листинги наследуемого программного обеспечения представлены в документации, в
составе семи альбомов, общим объемом около 32000 LOC. В тренажере была использована аналоговая
имитация звукового окружения (белый шум и система фильтров), которая на момент восстановления не
работала. Для визуализации окружения был использован телевизионный имитатор на основе фронтальной
монохромной проекционной системы и стационарного планшета на рабочем месте инструктора (координаторы,
макет аэродрома). Динамический стенд не работал и восстановлению не подлежал. Пульт инструктора
содержал приборы, дублирующие те, что находились в кабине пилотов и телевизионный приемник, на вход
которого подавался такой же сигнал, какой отображал визуальное окружение в кабине. Кабина пилотов
имитировала кабину реального самолета L410.
На рис. 4 показана общая схема выполненной миграции аппаратного и программного обеспечения
тренажера. Основной вычислитель (ЭВМ Robotron) и устройство связи с объектом были заменены на
промышленный компьютер. Телевизионная система визуализации была заменена на компьютерную, на базе
персонального компьютера и проектора. Для организации вычислений на промышленном компьютере была
использована операционная система MS DОS, а на персональном компьютере − Windows. Миграция
наследуемого программного обеспечения выполнена из языка ассемблерного типа в язык высокого уровня С.
Кроме этого, были выполнены работы по восстановлению электротехнической схемы тренажера, которая
Рис. 3. Общая схема тренажера
Рис. 2. Схема метода реинженерии
Методи та засоби програмної інженерії
291
обеспечивала связь имитационной модели с кабиной самолета (кабельная система, электропитание, имитаторы
функциональных узлов и коммуникационной аппаратуры, электрооборудование).
Так как, построенное программное обеспечение нельзя было проверить на правильность
функционирования путем выполнения наследуемого программного обеспечения (отсутствовал вычислитель),
то реверсивная инженерия, кроме традиционных процессов, включала процесс дополнительной взаимной
проверки наследуемого кода и модели.
Рис. 4. Миграция аппаратного и программного обеспечения тренажера
Проверить математическую модель домена и наследуемый исходный код было необходимо, вследствие
таких причин:
- ограниченной информации о принципах моделирования динамики полета самолета и его систем, которые
были использованы разработчиком во время создания тренажера (1972);
- наличие ошибок случайно или умышленно внесенных в описания модели и исходный код,
представленные в технической документации.
Проверка была выполнена в следующих аспектах:
− масштабирования переменных – осуществлялся пересчет коэффициентов уравнений математических
моделей имитаторов (сравнение выражений приведенных в документации и их интерпретация в коде листингов
показало существенные различия);
− реализации коэффициентов − использованы разработчиками наследуемого программного обеспечения
в связи с ограниченными характеристиками компьютера моделирования;
− реализации методов решения математических задач.
Больше всего ошибок было в коэффициентах уравнений модели, описывающей динамику полета. Поэтому
для уточнения коэффициентов использовался наследуемый исходный код, в котором определялись части,
осуществляющие вычисление коэффициентов. Интерпретация этих частей «за столом» позволила определить
значения ошибочных коэффициентов. Чтобы показать характер ошибок, допущенных случайно или
умышленно в математической модели, рассмотрим пример.
В математической модели силовой установки аналоговый параметр nv – обороты воздушного винта
представлен модельным уравнением вида:
p
k
nv τ+
=
1
, (1)
где k – коэффициент усиления; τ – постоянная времени винта; р – оператор Лапласа.
После преобразования выражение (1) записывается в виде дифференциального уравнения:
)( v
vv nf
nk
dt
dn =−=
τ
. (2)
В соответствии с алгоритмом, принятым в процедуре моделирования, уравнение (2) должно
интегрироваться методом Эйлера:
)( )()1( ivviv nfhnn ⋅+=+ , (3)
где h – шаг интегрирования (при расчете параметра принято соглашение − шаг интегрирования равняется шагу
моделирования).
В исходной программе процедуру решения уравнения (2) представляет следующий текст:
Методи та засоби програмної інженерії
292
16334 01 02 0416 S27 LDA
16335 100400 UVR
16336 140040 LOA
16337 0405 76 KAR 2
16340 00 04 0101 SPA AA2
16341 0405 75 KAR 3
16342 140401 EKA
16343 00 06 0101 ADD AA2
16344 00 06 1757 ADD K12
16345 01 07 0512 SUB NVP”
16346 0405 75 KAR 3
16347 01 06 0512
ADD NVP”
…
16325 01 04 0512 SPA NVP”
где – DEV – значение, указывают положение рычага управления воздушным винтом; К12 = 0,595 – константа.
Сравнение (3) и результата интерпретации (4) показывает, что в тексте (4) отсутствует шаг интегрирования
h (при моделировании работы двигателей он равняется 0,12 с). Ошибка біла обнаружена путем проведения
расчетов „за столом” − полученный переходный процесс )(tnn vv = не соответствовал физическому смыслу.
Оказалось, что такая ошибка присутствует при вычислении и других параметров силовой установки, где
переходные процессы рассчитываются методом Эйлера.
Наследуемое программное обеспечение (рис. 5) характеризует дискретный процесс моделирования с
периодом дискретизации 60 мс. За это время вычислитель успевал рассчитать значения параметров всех
четырех имитаторов и завершить обменные операции. При этом необходимое быстродействие достигалось за
счет следующего:
− упрощения математических моделей динамики полета и систем самолета;
− заменой аналитического описания реальных (динамических) процессов зависимостями в виде таблиц
решений;
− использованием простых, но быстрых методов интерполяции функций;
− использованием простого метода интегрирования дифференциальных уравнений (метод Эйлера).
Рис. 5. Состав наследуемого программного обеспечения
Реинженерия наследуемого программного обеспечения после проверки моделей исходного кода
осуществлялась в два этапа: реверсивная инженерия − построение высокоуровневого алгоритмического
представления; прямая инженерия – по полученным алгоритмам строился код нового программного
(4)
Методи та засоби програмної інженерії
293
обеспечения в языке С. Для выполнения реверсивной инженерии был построен специальный инструмент –
абстрактор [13, 14].
Результат работы абстрактора и прямой инженерии на фрагменте кода показан на рис. 6. Рассматривается
модель параметра )1*1(1 fTNfNfTLSfJMOfN ⋅+= – признака пребывания двигателя в режиме раскрутки
ротора стартером:
Вследствие полной замены вычислительного комплекса часть программного обеспечения была создана
заново. Основу его составляет система информационного обмена с объектом.
3.1. Программное обеспечение системы информационного обмена с объектом. Состав и структура нового
технического обеспечения вычислительной системы тренажера определялась следующими факторами:
- объект управления – тренажер – система реального времени, для которой должно обеспечиваться
заданное допустимое время отзыва;
- вычислительная система тренажера должна обеспечивать ввод и вывод большого количества входных
и исходных параметров (около 120);
- визуализация полетного окружения тренажера должна быть реализована на высокоскоростном
вычислителе со специальными характеристиками видеоподсистемы.
Эти факторы определили распределенную архитектуру вычислительной системы тренажера с несколькими
специализированными вычислителями и периферийными устройствами (рис. 7), которая включает три
вычислителя: промышленный компьютер для вычисления моделей имитаторов и ввода-вывода данных;
компьютер для реализации имитаторов визуального окружения и шума; компьютер для пульта инструктора.
Рис. 7. Архитектура технического обеспечения моделирующей системы тренажеру
Обмен данными между вычислителями организован через локальную компьютерную сеть на основе
технологии Ethernet по протоколу TCP/IP. Техническое обеспечение вычислительной системы включает
устройства связи с объектом, компьютерный проектор и усилитель звука с громкоговорителями. Устройства
связи с объектом относятся к одному из следующих типов: аналого-цифровые преобразователи (АЦП); цифро-
аналоговые преобразователи (ЦАП); устройства ввода-вывода логических сигналов. Все устройства выполнены
в виде плат, которые устанавливаются в промышленный компьютер на шину обмена типа ISA.
Рис. 6. Результат реинженерии (фрагмент)
У с т р о й с т в о
с в я з и с
о б ъ е к т о м
К о м п ь ю т е р
и н с т р у к т о р а
С е т е в о й
к о м м у т а т о р
К о м п ь ю т е р и м и т а ц и и
в и з у а л ь н о г о о к р у ж е н и я и
ш у м а
П р о м ы ш л е н н ы й
к о м п ь ю т е р д л я
р а с ч е т о в м о д е л и
п о л е т а и в в о д а - в ы в о д а
К а б и н а т р е н а ж е р а
П р о е к т о р Д и н а м и к и
Исходный
код
15031 01 02 0365 LDA
15032 100400 UVR
15033 00 01 1041 SUN
15034 00 02 1721 LDA
15035 101400 UVS
15036 00 01 1045 SUN
15037 00 02 1654 LDA
15040 01 04 1734 SPA
15041 01 12 1734 ZUN
15042 101000 KOP
15043 01 02 1734 LDA
15044 00 03 0331 UND
15045 01 04 0365 SPA
15046 00 04 0352 SPA
Алгоритм
Выходной код
if (!fN [odd])
{
if (! fTLS [odd] );
fN1 [odd] = fTLS [odd] ;
else
{
TN1 [odd] = -166
++TN1 [odd] ;
fN1 [odd] = TN1 [odd]
$$fJMO [odd] ;
}
}
else
++TN1 [odd] :
fN1 [odd] = TN1 [odd] $$
fJMO [odd] :
}
Обратная
инженерия
Прямая
инженерия
Методи та засоби програмної інженерії
294
3.2. Программное обеспечение устройства связи с объектом. Программное обеспечение устройства связи с
объектом работает на промышленном компьютере, предназначено для обеспечения обмена имитаторов
(моделей) систем самолета входными и исходными параметрами с оборудованием кабины тренажера и
строится путем настройки специально разработанного шаблона [15]. В задачу программного обеспечения
входит следующее:
- конфигурирование устройств ввод-вывода промышленного компьютера;
- управление устройствами ввода-вывода;
- реализация обмена по протоколу TCP/IP;
- обеспечение стандартного интерфейса для обмена нормируемыми параметрами устройств ввода-
вывода с моделями самолета.
Для обеспечения гибкости и масштабируемости подсистемы ввода-вывода была разработана
двухуровневая модульная архитектура программного обеспечения (рис. 8), которая включает уровень
драйверов устройств ввода-вывода и драйверов параметров. Функции драйверов обеспечивают управление
операциями преобразования сигналов на входах устройств ввода-вывода и выдачу цифровых данных. Уровень
драйверов обеспечивает конфигурирование устройств ввода-вывода при старте и управление ими во время
обмена. Уровень драйверов параметров обеспечивает конфигурирование параметров, которые вводятся или
выводятся из моделей систем самолета к объекту, и преобразования − цифровые значения сигналов устройств
ввода-вывода − нормируемые аналоговые значения моделей.
Рис. 8. Архитектура подсистемы связи с объектом
Конфигуратор устройств ввода-вывода осуществляет считывание данных конфигурации (номера плат,
адреса, номера прерываний) для каждого из конфигурационных файлов, автоматическую настройку устройств
и разовый контроль их функционирования.
Методи та засоби програмної інженерії
295
Конфигуратор параметров осуществляет хранение конфигурации и считывание данных, необходимых для
нормирования каждого параметра. Для каждого аналогового параметра ввода-вывода устанавливаются
следующие конфигурационные настройки: номер параметра; минимальное и максимальное значение параметра
и соответствующие им минимальное и максимальное значение напряжения сигналов устройств ввода-вывода.
3.3. Программное обеспечение имитаторов звукового и визуального окружения. Имитация звукового
окружения пилотов в кабине тренажера обеспечивает слуховую информацию об имитируемых режимах
руления, взлета, посадки и полета самолета. Звук в кабине самолета имеет сложный характер и формируется
несколькими источниками шумов − двигателями и воздушными винтами, ветром снаружи кабины,
оборудованием внутри кабины, шасси и другим оборудованием.
Параметры шумов зависят от режимов работы их источников и режимов полета самолета. Имитаторы
шумов наследуемых тренажеров имеют аппаратную реализацию, основанную на смешении звуков,
создаваемых несколькими специальными генераторами. Каждый такой генератор создает звук одного из
источников шума самолета и меняет его характеристики по заданному закону в зависимости от параметров
работы этого источника, подающиеся на имитатор от вычислителя тренажера. Как разновидность этого подхода
(он был реализован в наследуемом тренажере) применяется получение шума различных источников с помощью
генератора белого шума и набора регулируемых электрических фильтров.
Рассматривалось три подхода к восстановлению имитатора шума при реинженерии тренажера (рис. 9).
Сущность первого заключается в использовании наследуемой реализации имитатора. Очевидно, что он может
быть применен, если можно восстановить работоспособность наследуемого имитатора. В этом случае решается
одна задача – стыковка имитатора с новой вычислительной системой тренажера. Сущность второго подхода
заключается в разработке нового имитатора шума на основе информации о структуре и характеристиках
старого. Такой подход требует наличия достаточной документации о наследуемом имитаторе или проведения
обратной инженерии. Сущность третьего подхода заключается в разработке нового имитатора на основе
информации, получаемой от объекта моделирования. Этот подход был реализован в процессе реинженерии. Он
требует разработки собственной структуры имитатора, а также съема, анализа и формализации характеристик
звуков самолета. Новый имитатор может быть реализован аппаратно – отдельным устройством или
программно как приложение, функционирующее на одном из вычислителей восстановленного тренажера.
2
Рис. 9. Подходы к восстановлению имитатора шума
Любой из указанных подходов требует проверки адекватности звука, получаемого с помощью
восстановленного имитатора, шуму самолета соответствующего типа. Для этого необходимо сравнивать его
характеристики с характеристиками, снятыми с объекта (самолета), или полученными обратной инженерией от
наследуемого имитатора (рис. 9 ).
Способ построения имитатора шума, который может применяться при реализации второго и третьего
подходов – это использование вместо специальных генераторов, записанных цифровых отсчетов звука
самолета, воспроизводимых проигрывателем с управляемыми параметрами (скорость проигрывания, громкость
эффект эха и т.п.). Такой способ сочетает высокую скорость разработки имитатора, проводимую на основе
базовых компонентов (проигрыватели, миксеры, эквалайзеры) и высокую реалистичность получаемого шума.
Имитатор визуальной обстановки при реинженерии подвергается практически полной замене [16]. Это
связано с прогрессом, который претерпели технологии визуализации за последние два десятилетия. Первые
имитаторы визуальной обстановки с цифровым синтезом изображений стандарта CGI появились в конце 70-х
годов. В 90-х годах достигнутые качества и скорость работы цифровых синтезаторов изображений позволили
полноценно использовать их в тренажерах. В восстановленном тренажере цифровой синтез изображений
осуществляется на отдельном вычислителе, получающем от модели динамики полета параметры полета,
необходимые для формирования изображения (координаты положения самолета, курс, крен, тангаж). Для
интеграции имитатора визуальной обстановки в систему используется шаблон программного обеспечения
устройств связи с объектом [15].
Методи та засоби програмної інженерії
296
4. Адекватность переработанного программного обеспечения
Для проверки адекватности функционирования переработанного программного обеспечения реальному
объекту использовались количественная и качественная оценки.
Количественная оценка осуществлялась такими путями:
- точечным – сравнение по методике разработчика тренажера значений вычисленных эксплуатационных
параметров, с реперными точками; которые приведены в техническом описании тренажера ТЛ-410;
- интервальным – сравнение рассчитанных характеристик с характеристиками, которые приведены в
документах реального самолета (руководство по летной эксплуатации, руководство по технической
эксплуатации, техническое описание двигателя и его систем, техническое описание авиационного и
радиоэлектронного оборудования самолета, данные бортовой системы регистрации полетной информации).
Качественная оценка поведения тренажера на разных режимах и этапах полета осуществляется путем
экспертного оценивания линейными пилотами-экспертами.
Результаты применения точечной оценки представлены в таблице, а результаты интервальной оценки - на
рис. 10, 11.
Таблица. Точечные оценивания адекватности тренажера TL 410M
Этап полета Контролируемый параметр
Контрольное
значение
Рассчитанное
значение
Разгон
Время с момента разблокирования
колодки до достижения скорости
V = 150 км/ ч
t = 14 ± 2 c 14.7 с
Скороподъемность
Вертикальная скорость подъема
самолета
Vy = 10 ± 1.5 м/с 10.72 м/с
Летные
характеристики
Путевая скорость, крутящий
момент, тангаж самолета
V = 250 ± 25 км/ч;
Мк = 49 ± 5 %;
υ = 4.50
258.7 км/ч
45.7%; 4.190
Разгон в полете
Время увеличения путевой
скорости самолета
V = 200 км/ч, V = 300 км/ч
t = 32 ± 4 c 31.44 c
Торможение в
полете
Время снижения путевой скорости
с
V = 300 км/ч до V = 200 км/ч
t = 29 ± 4 с 31.14 с
Рис. 10. Мощность двигателя (дроссельная Рис. 11. Скорость полета (переходная характеристика)
характеристика)
Существуют два подхода к количественной оценке адекватности – детерминированный и статистический
[17].
Результат проверки адекватности переработанного программного обеспечения на основе
детерминированного подхода показали эффективность разработанного метода реинженерии наследуемого
программного обеспечения.
Статистический подход к оценке адекватности планируется осуществить после проведения
статистического эксперимента.
Сущность статистического подхода определяется следующим [17]:
− каждому из сравниваемых объектов (самолет и тренажер) свойственна статистическая
неопределенность;
− объем регистрируемой в полете информации ограничен и поступает к исследователю нерегулярно;
0
100
200
300
400
500
600
700
60 65 70 75 80 85 90 95 100
NG,%
VKN, Н
расчетные стендовые
0
50
100
150
200
250
300
350
0 50 100 150 200 250 300 350
t, с
V, км/ч
модель ДП TL-410M Реальный полет L-410 УВП-Е
Методи та засоби програмної інженерії
297
− адекватность представляется как случайная величина, вероятное распределение которой
формируется последовательно (по мере поступления полетной информации) на основании теории испытания
статистических гипотез.
Для реализации статистического подхода разработана методика, которая на примере оценки адекватности
отдельно взятого параметра в выбранный момент времени при выполнении заданного этапа полета имеет
следующий вид:
1) на тренажере выполняется статистический эксперимент по моделированию заданной полетной
ситуации и для выбранного параметра вычисляется модельная оценка дисперсии Md ;
2) выполняется первый реальный полет и фиксируется ( )tx1 − траектория изменения выбранного
параметра во времени;
3) выдерживая условия реального полета, исследователь моделирует на тренажере аналогичную
траекторию ( )ty1 ;
4) для выбранного сечения времени ∗t вычисляется невязка 111 yxz −= , которая рассматривается как
первый элемент выборки случайной величины z ;
5) так как случайная величина z образована сочетанием большого числа различных случайных
составляющих (остатков, невязок, погрешностей), то согласно центральной предельной теореме теории
вероятностей, распределение случайной величины z подчиняется нормальному закону:
−
−
−
=
aad
z
aad
azg
MMz /)1(2
exp
/)1(π2
1
)/(
2
. (5)
Тогда апостериорное распределение адекватности с учетом полученной информации 1z представляется
формулой:
−
−
−
=⋅
a
a
a
a
Kazgafzag zAA 1
β
exp)
1
()/()(~)/( 1
11
1α , (6)
где 1K − постоянный коэффициент пропорциональности; Mdyx /)(5,0β;5,0 2
1111 −==α ;
1) выполняется второй реальный полет, фиксируется )(2 tx − очередная траектория изменения
выбранного параметра, а на тренажере воспроизводится )(2 ty − модельная траектория того же параметра и
вычисляется 222 yxz −= − следующий элемент выборки случайной величины z ;
2) в качестве априорного распределителя )(af A теперь используется апостериорное распределение (6),
полученное на предыдущем шаге. Можно показать, что новое апостериорное распределение (с учетом
информации 1z и 2z ) принимает вид
+
−
−
−
= + )ββ(
1
exp)
1
()/( 2122
21
a
a
a
a
Kzag A
αα , (7)
где MdyxK /)(5,0β;5,0;const 2
22222 −⋅=== α ;
8. После многократного повторения пунктов (2−7) апостериорное распределение адекватности
приближается к стабильной форме, а его мода определяет истинное значение адекватности объекта (самолета)
и программного обеспечения (тренажера) по исследуемому параметру.
Заключение
Применение реинженерии программного обеспечения позволяет не только продлить использование
устаревшего сложного научно-технического комплекса, но и осуществлять его совершенствующее
сопровождение. Например, для пилотажно-моделирующего комплекса реинженерия обеспечивает следующее:
возможность добавления новых функций; совершенствование моделей имитаторов; применение современных
методов интегрирования.
Методи та засоби програмної інженерії
298
1. Сидоров М.О., Іванова Л.М., Хоменко В.А. Методологічні принципи реінженерії програмного забезпечення успадкованих авіаційних
тренажерів // Матеріали VIII Міжн. наук-техн. конф. АВІА-2007 – К. − 2007. – Т.1. − С. 13.119 − 13.122.
2. Chikofsky E.J., Gross J.H. Reverse Engineering and Design Recovery: Taxonomy. − IEEE Software. − Jan. 1990. − Р. 13 −17.
3. Prietto-Diaz R.. Domain Analysis: An Introduction.-Software engineering Notes. − 1990. − V. 15, № 2. − Р. 47−54.
4. Biggerstaff T.J. Design Recovery for Maintenance and Reuse. − Computer. – July. −1989. − Р. 36 − 49.
5. Сидоров Н.А. Восстановление, переработка и повторное использование программного обеспечения. − УСиМ. − 1998. − N 4. –
С. 71 − 79.
6. Visaggio G. Ageing of a Data Intensive Legacy System: Symptoms and Remedies. − J. Software Maintenance and Evolution. – 2001. − V. 13.
− N 5. − Р. 281 − 308.
7. Сидоров Н.А. Стилистика программного обеспечения // Проблемы программирования. − 2006. − № 2−3. − C. 245 − 255.
8. Bianci A., Caivano D., Visaggio G. Iterative Reengineering of Legacy Systems // IEEE Transactions of Software Engineering. − 2003. − V.29. −
N.3. − P. 225 − 241.
9. Rugaber S., Stirewale R. Model-Driven Reverse Engineering // IEEE Software. − Jul/Ang. − 2004. − P. 45 −53.
10. Сидоров Н.А., Баценко Д.В., Василенко Ю.Н, Щебетин Ю.В. Модели, методы и средства оценки стоимости программного
обеспечения // Проблемы программирования. − 2006. − № 2−3. – К. – C. 290−299.
11. Леман М.М. Программы, жизненные циклы и законы эволюции программного обеспечения // ТИИЭР. – Proc.IEEE. − 1980. – T. 68. –
C. 26 − 46.
12. Советов Б.Я., Яковлев С.А. Моделирование систем: Учебн. для вузов – М.: − Высш. шк. − 2001. − 343 с.
13. Сидоров Е.Н. Метод реінженерії успадкованого програмного забезпечення авіаційного тренажеру // Тез. доп. Всеукраїнської конф.
аспірантів і студентів «Інженерія програмного забезпечення 2007». – 2007. – C. 26.
14. Маніцков М.К. Зворотна інженерія, як основа технології відновлення роботи авіаційного тренажера. // Тез. доп. Всеукраїнської конф.
аспірантів і студентів «Інженерія програмного забезпечення 2007». – К. – 2007. – C. 4.
15. Хоменко В.А, .Сидоров Е.Н, Мендзебровский И.Б. Шаблон программного обеспечения устройств связи с объектом авиационных
тренажеров // Проблемы программирования. − 2008. − C. 23 – 46.
16. Кузнецов С.В., Холод К.О. Формирование матриц проекции для компьютерных генераторов изображения при использовании
полупрофессиональных проекционных систем // Матеріали IV Міжнар. наук. конф. студентів та молодих учених. – 2004. – C. 35.
17. Недоводеев В.Т. Байсевская оценка адекватности модели полета: – Сб. науч. тр. – Киев: КИИГА, 1992. – C. 40–50.
|
| id | nasplib_isofts_kiev_ua-123456789-1488 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 1727-4907 |
| language | Russian |
| last_indexed | 2025-11-28T18:44:38Z |
| publishDate | 2008 |
| publisher | Інститут програмних систем НАН України |
| record_format | dspace |
| spelling | Сидоров, Н.А. Хоменко, В.А. Недоводеев, В.Т. Сидоров, Е.Н. 2008-07-31T14:27:18Z 2008-07-31T14:27:18Z 2008 Реинженерия наследуемого программного обеспечения авиационных тренажеров / Н.А. Сидоров, В.А. Хоменко, В.Т. Недоводеев, Е.Н. Сидоров // Пробл. програмув. — 2008. — N 2-3. — С. 288-298. — Бібліогр.: 17 назв. — рус. 1727-4907 https://nasplib.isofts.kiev.ua/handle/123456789/1488 004.413:338.5 Рассмотрен метод управляемой объектом реинженерии наследуемого программного обеспечения, ориентированный на использование в области разработки информационно-моделирующих комплексов. Применение метода показано на примере реинженерии наследуемого программного обеспечения авиационного тренажера. The object-driven software reengineering method is presented. The method application is demonstrated on the legacy software of the aviation simulator. ru Інститут програмних систем НАН України Методи та засоби програмної інженерії Реинженерия наследуемого программного обеспечения авиационных тренажеров Reengineering of the aviation simulator legacy software Article published earlier |
| spellingShingle | Реинженерия наследуемого программного обеспечения авиационных тренажеров Сидоров, Н.А. Хоменко, В.А. Недоводеев, В.Т. Сидоров, Е.Н. Методи та засоби програмної інженерії |
| title | Реинженерия наследуемого программного обеспечения авиационных тренажеров |
| title_alt | Reengineering of the aviation simulator legacy software |
| title_full | Реинженерия наследуемого программного обеспечения авиационных тренажеров |
| title_fullStr | Реинженерия наследуемого программного обеспечения авиационных тренажеров |
| title_full_unstemmed | Реинженерия наследуемого программного обеспечения авиационных тренажеров |
| title_short | Реинженерия наследуемого программного обеспечения авиационных тренажеров |
| title_sort | реинженерия наследуемого программного обеспечения авиационных тренажеров |
| topic | Методи та засоби програмної інженерії |
| topic_facet | Методи та засоби програмної інженерії |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/1488 |
| work_keys_str_mv | AT sidorovna reinženeriânasleduemogoprogrammnogoobespečeniâaviacionnyhtrenažerov AT homenkova reinženeriânasleduemogoprogrammnogoobespečeniâaviacionnyhtrenažerov AT nedovodeevvt reinženeriânasleduemogoprogrammnogoobespečeniâaviacionnyhtrenažerov AT sidoroven reinženeriânasleduemogoprogrammnogoobespečeniâaviacionnyhtrenažerov AT sidorovna reengineeringoftheaviationsimulatorlegacysoftware AT homenkova reengineeringoftheaviationsimulatorlegacysoftware AT nedovodeevvt reengineeringoftheaviationsimulatorlegacysoftware AT sidoroven reengineeringoftheaviationsimulatorlegacysoftware |