Применение унифицированных программных модулей при разработке тренажерных систем

с ростом ИТБ и постепенно подавляет положительное влияние наиболее подходящих связанных лексем. Поскольку ИТБ, с которыми работает ЛСК-методика, предметно-ориентированы и их объем, как правило, не превышает 5000 терминов, ограничимся тем, что В-алгоритм превосходит Н-алгоритм по качественным показателям на 5-10 %.

По времени исполнения заметна тенденция: при увеличении объема ИТБ в п раз время исполнения алгоритмов возрастает в геометрической прогрессии, причем для В-алгоритма это время возрастает в п раз быстрее (исключая помехи на больших объемах ИТБ).

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

Таким образом, В-алгоритм может успешно использоваться при формировании ИТБ как совокупности ЛС-компонентов. Единственным его серьезным недостатком является не время исполнения, а то, что заранее невозможно предугадать, сколько именно основных лексем будет в ИТБ. Когда же разработчик выставляет жесткие требования к количеству основных лексем (ЛС-компонентов) или когда важно время исполнения (очень большие объемы ИТБ), следует использовать Н-алгоритмы формирования ЛС-компонен-

тов, в противном случае предпочтение следует отдавать В-алгоритмам.

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

Литература

1. Ковалев И.В., Лесков В.О., Карасева М.В. Внутриязыковые ассоциативные поля в мультилингвистической адаптивно-обучающей технологии // Системы управления и информационные технологии. 2008. № 3.1 (33). С. 157-160.

2. Ковалев И.В. Системная архитектура мультилингви-стической адаптивно-обучающей технологии и современная структурная методология // Телекоммуникации и информатизация образования. 2002. № 3. С. 83-91.

3. Карасева М.В., Лесков В.О. Автоматизация формирования информационной базы мультилингвистической адаптивно-обучающей технологии // Вестник СибГАУ. 2007. N° 4 (17). С.117-124.

4. Ковалев И.В., Огнерубов С.С., Лохмаков П.М. Программно-алгоритмические средства персонификации информационно-терминологического базиса в области аэрокосмической техники // Авиакосмическое приборостроение. 2007. № 9. С. 67-72.

5. Лесков В.О. Комплекс программного моделирования КПМ V. 1.0 М.: ВНТИЦ, 2008. № 50200802242.

ПРИМЕНЕНИЕ УНИФИЦИРОВАННЫХ ПРОГРАММНЫХ МОДУЛЕЙ ПРИ РАЗРАБОТКЕ ТРЕНАЖЕРНЫХ СИСТЕМ

А.Н. Привалов, к.т.н.

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

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

Одной из задач при проектировании тренажерных систем (ТС) является разработка специального программного обеспечения (СПО). На основе анализа процессов, протекающих в подсистеме вычислительных средств (ВС) ТС при проведении тренировок, можно выделить следующие задачи СПО:

математическое моделирование функций управления специалистов, реакции управляемой системы, динамики, бортовых систем и условий функционирования управляемых объектов;

• организация управления параллельно проводимых тренировок на базе ТС.

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

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

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

Существуют два подхода к созданию СПО тренажеров. При разработке программ относительно небольшого объема преобладает индивидуальный подход. Основная цель разработчиков состоит в получении результатов при минимальных собственных затратах, однако при этом практически не решаются вопросы оптимизации программ по затратам технических ресурсов ЭВМ, зачастую созданная программа используется только самим разработчиком. Сопряжение такой программы с другими для решения новых комплексных задач и модернизация программы практически невозможны без личного участия ее разработчиков.

Другой подход к созданию СПО базируется на представлении программного обеспечения как совокупности унифицированных программных модулей (УПМ).

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

Следует учитывать, что при использовании модульного программирования в отдельных подпрограммах появляются элементы сопряжения и взаимодействия блоков, которые требуют определенных затрат оперативной памяти и времени. Дополнительные затраты памяти составляют 2-5 % от объема сопрягаемых подпрограмм, а длительность исполнения программ при этом возрастает на 10-15 %.

Анализ особенностей ТС позволяет сделать вывод о перспективности модульного принципа при построении СПО ТС [1].

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

поставить в соответствие отдельным системам, подсистемам, устройствам реального объекта их адекватные модели - программные модули (ПМ) СПО. Если в разных объектах используются одинаковые устройства или системы, для их моделирования могут использоваться одни и те же модули программ.

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

Для определения рациональной степени избыточности сформулируем задачи синтеза оптимальных типовых модулей.

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

Сравнение алгоритмов решения задач для ВС ТС и выделение в них совпадающих или эквивалентных частей без учета различия в константах и областях определения информационных элементов заключается в определении пересекающихся частей для всего множества задач обработки данных и его подмножеств.

Решение данной задачи можно разбить на четыре этапа [2].

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

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

На третьем этапе выделяются общие пути для всего множества задач и его подмножеств, на четвертом определяются общие части (подгра-

фы) для множества задач обработки данных и его подмножеств.

Исходные данные для постановки и решения

данного типа: 11= и,,/=1,Ь - множество процедур обработки данных интегрированного графа технологии; Б= (I, Д=1,Р - множество информационных элементов интегрированного графа технологии; 11,= и),/=1,Ь, - множество процедур обработки данных графа технологии 1-й задачи; Б,= = 1, К , ¡=1^Ч - множество информационных элементов графа технологии 1-й задачи; О, - последовательности выполнения

процедур при решении ¡-й задачи; \¥=||«,|;| - матрица взаимосвязей информационных элементов и процедур интегрированного графа технологии;

1=1^ - матрица взаимосвязей информационных элементов и процедур при решении 1-й задачи.

Задача 1. Оптимизация СПО ВС ТС по критерию минимума суммарного числа неиспользуемых процедур при обращениях к программным модулям при решении заданного множества задач:

XXх!

Задача 2. Оптимизация СПО ВС ТС по критерию минимума максимально возможного суммарного числа неработающих процедур в программных модулях для заданного множества задач обработки данных:

тт тахт

1 XXXх л.

ХХх/'кч Ч-1

,

где у = 1,У - множество синтезируемых модулей; хл« =1' если п0 порядку выполнения процедура решения 1-й задачи входит в у-й модуль и вызывается с частотой к-го диапазона и х^ =0 в противном случае; - значение к-го диапазона частоты использования процедур при решении 1-й задачи.

Ограничения для данной задачи такие же, что и для задачи распределения процедур по модулям.

Использование минимаксных критериев обеспечивает гарантированный уровень качества синтеза для каждой из задач обработки данных заданного множества за счет минимизации максимальных значений рассматриваемых критериев синтеза. Необходимость обеспечения гарантированного уровня качества проектных решений для всех задач обработки данных из заданного множества определяет целесообразность использования такого подхода.

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

Существенное отличие поставленных задач, определяющее их повышенную сложность и размерность, заключается в необходимости получить в определенном смысле оптимальное решение для множества требований различных ВС ТС.

При разработке СПО используются не только вновь разрабатываемые ПМ, но и уже имеющиеся, применявшиеся в более ранних разработках ТС. Таких ПМ, выполняющих определенные функции, большое количество. Причем многие из них выполняют сходные функции или часть функций, которые могут реализовывать другие ПМ. Возникает задача определения такого минимального унифицированного ряда ПМ, которые могли бы обеспечить функционирование любого нового ТС (возможно, с некоторой модификацией или избыточностью). Это направлено, в первую очередь, на сокращение времени на разработку и реализацию нового СПО и уменьшение финансовых затрат на всех стадиях жизненного цикла (ЖЦ) СПО.

Технология подготовки данных и решения задач унификации ПМ включает математические модели, методы и программы решения задач унификации.

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

Технологическая схема подготовки данных и решения одноуровневой задачи приведена на рисунке 1 .

Номенклатура ПО

00 О 0~3 — СП

В Ш ЕЭ - Ы -

_____»

Номенклатура ПМ

^ ^ - результаты унификации

Рис. 1

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

Ес^ + ЕЕс.Ху^тт,

I г; \

1=1 к=1

/'=1 к'=1

х

при ограничениях

1=1'т, .¡=1>п;

х„х„е ОД , ¡=1,т, ¿=1,п,

где и={1,2,...,ш} - множество типов ПМ;

{1, если ¡-й ПМ применяется в ПО ¡-го типа

0, если нет

1, если ¡-й ПМ входит в состав унифицированного ряда

X;

II. если нет

- вектор начальных затрат на разработку и отладку ПМ 1-го типа;

1С.

„вн матрица затрат на реализацию и сопровождение ПМ ¡-го типа при применении их в СПО ¡-го вида; С^=оо, если ПМ ¡-го типа не применяются в СПО ]-го вида.

Задача (3)-(6) относится к классу целочисленного линейного программирования с булевыми переменными и является статической задачей унификации с детерминированным спросом на изделия (ПМ) и однократным применением изделия (ПМ) в операционном цикле. Ограничения (4) устанавливают факт возможности применения только одного типа ПМ для решения некоторых видов задач из заданного множества и при условии, что оптимальный ряд типов ПМ обеспечит удовлетворение всех потребностей из множества и. Ограничения (5) следуют из физического смысла параметров оптимизации.

К наиболее эффективным методам получения точного решения задачи (3)-(6) относится метод ветвей и границ. Среди известных подходов к формализации алгоритма этого метода выделяется способ, основанный на сведении задачи (3)-(6) к задаче минимизации полинома от булевых переменных. Указанный способ более всего приспособлен для программной реализации алгоритма решения на ЭВМ.

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

Двухуровневая задача может быть сформулирована следующим образом. Пусть Х={1,2,...п} -множество версий ТС, использующих различное СПО; и={1, 2,., ш} - множество типов ПМ, входящих в состав СПО, применяемого для определенной версии ТС.

Будем считать, что комплект СПО, используемый для удовлетворения некоего спроса (обеспечения функционирования различных ТС), может включать в себя разное число ПМ различного типа. Предположим, что комплект рассматриваемого СПО характеризуется значением некоторых К показателей и что для всякого комплекта где число ПМ типа 1 в данном комплекте (значение показателя к, к=1,...,К, при фиксированном ¡. .¡еХ) определяется по значению некоторой функции Ъц^ь...^). Считаем, что комплект СПО удовлетворяет ТС номер ¡. если выполняется соотношение Ьц^х, ...,(||п)> >Ъцр Ц=1,...К, где Ъцр Ц=1,...,К - известные величины. Каждому комплекту ПО можно поставить в соответствие конкретную ТС. Причем количество типов комплектов СПО, отличающихся друг от друга значениями соответствующих показателей, равно количеству типов ТС, в которых они могут применяться. Предположим также, что для всякого ¡еТ1 известны величины g0i и сь означающие, соответственно, начальные затраты на проектирование ПМ типа 1 и затраты на реализацию одного такого ПМ. Через gj(q) обозначим затраты на сопровождение комплекта СПО ^ь...^), где

т

(| = { при обеспечении этим комплектом

1=1

.¡-ЙТС.

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

Введем переменные х.е 0Д,2,„., ¡е!1, ¡еХ .

Величина х^, принимая неотрицательные целые значения, указывает на то, сколько ПМ типа 1 входит в комплект СПО, удовлетворяющий ТС вида j. Понятно, что для переменных ху должны выполняться ограничения Ьц^х^.^Хпу^Ьщ, ¡еХ, к=1,...,К

Понятно также, что если (хц,...,х^) - удовлетворяющий ТС j-го вида комплект СПО, то величина затрат, связанных с обеспечением этим комплектом ТС ¡-го вида, вычисляется по формуле

Однако одних переменных x1j еще недостаточно для записи целевой функции, поскольку в ней должен быть отражен факт наличия начальных затрат на создание ПМ каждого типа. Поэтому введем переменные х.е0Д , ¡е!1. Величина х1 равна 1,

если ПМ 1-го типа участвует в формировании комплекта СПО, и равна 0 в противном случае.

1Е=и

Формально задача выбора оптимальной системы СПО представляет собой двухуровневую задачу унификации и имеет вид

Sg.x1 + S{Sc1x1J+gJ

isU ieX ifcl ifcl Cx, Xxy)

Xj^signXjjjieU, jeX;

b4

xiG{04},xijG{04A...,},ieU,jGX.

Рассмотрим частный случай сформулированной задачи, задаваясь функциями Ьч конкретного вида.

Будем считать, что комплект хц r..,xmJ удовлетворяет требованиям ТС j-ro вида, если

f \ / \

£аихи 5А

VieU VisU

>ь,

где ац ¡еи, ¡еХ - целые неотрицательные числа; Ь q - неотрицательная невозрастающая

функция, равная 1 при q=1.

Первое ограничение естественно рассматривать как ограничение на число модулей в комплекте СПО, а второе трактовать, например, как ограничение на эффективность комплекта. При этом вид левой части второго ограничения указывает на то, что эффективность комплекта складывается из эффективности входящих в него ПМ:

Egfr + ZtZC,! +g (Хх )}_>min ;

ieU ieX ieU ieU (xXV

Xj ^signXyjieU, jeX; Zx^QjJEX;

^jeX;

f \ f \

£auxü h IX

VieU \ieu У

х!е{0Д},хие{0Д,2,...,},1еи,.НХ.

Технологическая схема подготовки данных и решения двухуровневой задачи унификации приведена на рисунке 2.

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

ТС, ТС2 ТСз ... ТС„

Номенклатура ПМ

- результаты унификации

CJ-

результаты унификации

Рис. 2

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

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

Литература

1. Привалов А.Н., Милько И.В. Построение программного обеспечения комплексов автоматизации управления войсками и оружием на основе унифицированных программных модулей: науч.-технич. сб. ТАИИ. Тула: ТАИИ, 2003. Вып. 20. С. 54-68.

2. Кульба В.В., Миронов А.С., Товмасян А.В. Формализованные модели предпроектного анализа при разработке модульных СОД: в кн.: Методы анализа и синтеза автоматизированных систем управления. М.: ИПУ, 1981. Вып. 25. С. 30-38.

3. Привалов А.Н., Милько И.В. Основные направления унификации программного обеспечения комплексов автоматизации управления войсками и оружием: науч. -технич. сб. ТАИИ. Тула: ТАИИ, 2003. Вып. 20. С. 46-54.

ifcl

ifcl