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

Решетневские чтения

Библиографический список

1. Альтшулер, Г. С. Найти идею: введение в теорию решения изобретательских задач / Г. С. Альтшулер. 2-е изд. Новосибирск : Наука, 1991.

2. Науман, Э. Принять решение - но как? : пер. с нем. / Э. Науман. М. : Мир, 1987.

3. Мушкаев, В. И. Основы инженерного творчества / В. И. Мушкаев, В. Е. Токарев. М. : Дрофа, 2005.

N. V. Zakharova, A. A. Snezhko, N. D. Gajdenok Siberian State Aerospace University named after academician M. F. Reshetnev, Rossia, Krasnoyarsk

MORPHOLOGICAL ANALYSIS OF SOLUTION VARIANTS OF INVENTION PROBLEMS

The model of morphological analysis allows showing its connection with the operations planning and forecasting, as well as establishing a phenomenological equivalence between it and the theory of solution of invention problems.

© Захарова Н. В., Снежко А. А., Гайденок Н. Д., 2009

УДК 004.4'242

С. Н. Зинин

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск

ПРОГРАММНОЕ СРЕДСТВО ДЛЯ РЕАЛИЗАЦИИ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ

АВИАЦИОННЫХ ПРИБОРОВ

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

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

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

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

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

Математические методы моделирования, управления и анализа данных

S. N. Zinin

Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk

SOFTWARE TOOL FOR DEVELOPING OF MATHEMATIC MODELS OF AVIATION INSTRUMENTS

Here is covered a software tool for developing mathematic models describing a real aviation instruments behavior. The choice of architecture solution is carried out by an altimeter application example.

© Знннн Q K, 2009

УДК 004.432.42

Р. И. Идрисов

Институт систем информатики имени А. П. Ершова Сибирского отделения Российской академии наук, Россия, Новосибирск

МЕЖПРОЦЕДУРНЫЕ ОПТИМИЗАЦИИ «ОШИБОЧНОСТИ» ЗНАЧЕНИЙ ДЛЯ ФУНКЦИОНАЛЬНОГО ЯЗЫКА, ОРИЕНТИРОВАННОГО НА НАУЧНЫЕ ВЫЧИСЛЕНИЯ

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

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

В большинстве современных языков программирования в качестве механизма работы с ошибками вычислений используются исключения (try-catch), это нарушает структурность программы и приводит к более сложному распараллеливанию. Для получения частичных результатов в этом случае требуется дополнительное программирование и описание исключительных случаев. Хранение свойства «ошибочности» делает механизм получения частичных результатов более универсальным, но требует реализации дополнительной логики проверки этого свойства в компиляторе и среде поддержки времени исполнения (RTL).

Межпроцедурный анализ относится в первую очередь к анализу потока данных, который по-

ступает при вызове в процедуру и из нее. В рамках данной работы под межпроцедурным анализом будем понимать анализ влияния вызова процедуры на контекст вызова [1] и определение влияния контекста вызова на исполнение вызываемой процедуры [2]. Возникновение и развитие такого вида анализа непосредственно связано с развитием потокового анализа, началом которого можно считать создание системы автоматизации программирования АЛЬФА [3]. В трансляторе АЛЬФА процедурные вызовы анализировались отдельно, производилась подстановка висячих процедур, частично анализировались совмещения параметров и присутствовал анализ записываемых переменных. С момента создания системы АЛЬФА, анализ процедурных вызовов стал неотъемлемой частью оптимизирующего транслятора. Об этом свидетельствуют дальнейшие публикации по оптимизирующим трансляторам [4]. Приблизительно в начале 1980-х гг. межпроцедурный анализ был выделен в качестве отдельного вида анализа [5].

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