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

доктора технических наук
Опарин, Геннадий Анатольевич
город
Иркутск
год
1998
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Автоматизация разработки и применения пакетов программ для исследования динамики сложных управляемых систем»

Текст работы Опарин, Геннадий Анатольевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

РОССИЙСКАЯ АКАДЕМИЯ НАУК СИБИРСКОЕ ОТДЕЛЕНИЕ ИНСТИТУТ ДИНАМИКИ СИСТЕМ и ТЕОРИИ УПРАВЛЕНИЯ

На правах рукописи УДК 681.3.06

Опарин Геннадий Анатольевич

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

05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

ДИССЕРТАЦИЯ

на соискание ученой степени доктора технических .наук ...

44 иШ ЗВ

Научный консультант чл.-корр. РАН

МЯ^ии^и^^С- С.Н.Васильев

М

Иркутск - 1998

Содержание

Введение

Глава I. Методологические основы автоматизации процессов разработки и применения пакетов знаний в области исследования динамики и проектированиям сложных управляемых движущихся объектов 26

§1. Характеристики ПО и требования к организации расчетных работ.....26

§2. Принципы организации процессов разработки и применения пакетов знаний 32

§3. Язык 8АТЬ для представления и использования пакетных знаний.....46

§4. Концептуальная схема спецификаций ПО и выбор модели данных.....71

§5. Методы планирования схем решения задач...................87

§6. Методические и технологические аспекты проектирования пакетов знаний 102

Глава II. Инструментальная система САТУРН для разработки и эксплуатации пакетов знаний 109

§1. Архитектура инструментальной САТУРН-среды пакетов знаний......111

§2. Макросредства в инструментальной системе САТУРН............127

§3. Особенности архитектуры и реализации инструментальной системы СА-

ТУРН/М.....................................133

§4. Особенности архитектуры и реализации инструментальной системы САТУРН/Б .......................................140

§5. Технология использования инструментальной системы САТУРН......149

Глава III. Инструментальная среда моделирования динамики составных непрерывно-дискретных объектов 155

§1. Характеристики типовых объектов моделирования..............157

§2. Формальная модель составных непрерывно-дискретных объектов......161

§3. Каноническая форма уравнений динамики составных непрерывно-дискретных объектов и планирование вычислений..................166

§4. Языковые средства ................................169

§5. Архитектура инструментальной среды моделирования............177

§6. Моделирование динамики системы управления движением в пространстве

космического аппарата средствами системы БАЙКАЛ...........185

Глава IV. Пакеты программ для исследования динамики прецизионных электромеханических систем 188

§1. Пакет прикладных программ по динамическому анализу и параметрическому синтезу прецизионных электромеханических систем (ДИАНА) . . . 189 §2. Пакет прикладных программ для динамического анализа и параметрического синтеза непрерывно - дискретных прецизионных электромеханических систем (ДИСАН)..............................208

§3. Исследование динамики высокоточной системы стабилизации орбитального телескопа средствами пакета ДИАНА...................227

§4. Пакет программ С О С. 4M для моделирования динамики режимов работы

системы ориентации и стабилизации космического аппарата.......236

§5. Методический пакет знаний СПЕКТР для вычисления собственных значений и векторов с использованием библиотеки NAG............246

Глава V. Инструментальная поддержка процессов разработки и функционирования многопакетных систем 250

§1. Комплексирование пакетов программ......................250

§2. Имитационная система сложного оптикомеханического комплекса.....255

Заключение 268

Список литературы 271

Введение

В последние два с половиной десятилетия большую значимость приобрели вопросы автоматизации расчетных работ в отдельных приложениях динамики систем и теории управления, в частности, в области исследования динамики и проектирования систем управления сложными движущимися объектами (СУ СДО), к числу которых относятся внеатмосферные астрономические обсерватории, орбитальные телескопы, спутники связи и другие объекты ракетно-космической техники [1] - [3].

Термин "проектирование" здесь и далее понимается в классическом (см., например, [4]) для специалиста по управлению движением смысле и подразумевает решение задачи структурно-параметрического синтеза систем управления, когда цель проектирования определяется в виде совокупности требований к динамическим показателям функционирования СУ СДО (точность в различных режимах, быстродействие, запасы устойчивости и др. динамические показатели). По сути дела, речь идет о формировании динамического облика СУ СДО и связанного с этой задачей комплексе научно-исследовательских работ, выполняемых на уровне математических моделей, аналитических и численных методов их исследования. В этом контексте определяющим для специалиста по управлению является понимание математических моделей СУ СДО и способность выполнять операции их построения, идентификации, преобразования, упрощения, комплексирования, анализа и синтеза с целью достижения предъявляемых к СУ СДО требований.

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

смысле поведению моделируемой системы. В этом контексте совокупность понятий "модель+метод+методика" несет ярко выраженную алгоритмическую окраску и составляет базу алгоритмических знаний расчетных работ.

Традиционно процесс исследования динамики и проектирования СУ СДО представляет собой организованную в соответствии с технологией системного анализа [5] последовательность многовариантных расчетов - вычислительных экспериментов, на каждом шаге которой в соответствии со стратегией и тактикой исследования и поиска приемлемых решений варьируются структура и значения параметров модели, методов и методик, выполняются запланированные расчетные работы, производится оценка результатов и принимается решение о дальнейшем направлении исследований.

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

Основной целью диссертации является исследование, разработка и применение инфраструктуры, или системной инструментальной программной среды, компьютерного исследования динамики и проектирования СУ СДО с использованием средств и методов баз знаний [6] и доказательного программирования [7]. Автоматизированная технология, в которой фундаментальную роль играет алгоритмическое знание и сборочно-конкретизирующее программирование, именуется далее как САТУРН-технология.

Первичным понятием в этой технологии является понятие пакета прикладных программ, точнее - пакета знаний, представляющего разновидность прикладной интеллек-

туальной 1 системы.

1. Пакеты программ в автоматизированном проектировании управляемых систем (обзор).

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

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

Источником идей нового направления следует считать проблемы программной реализации на ЭВМ численных методов решения задач математической физики, сформулированные впервые А.А.Самарским и Н.Н.Яненко в начале 70-х годов. Очень скоро стало понятно, что ППП являются эффективным инструментом решения расчетных задач и что методология ППП применима и во многих других проблемных областях.

Большую роль для становления и развития пакетной проблематики сыграл семинар по комплексам программ математической физики под руководством академика Н.Н.Яненко. Координация работ по пакетной тематике осуществлялась в рамках Научного совета АН СССР по комплексной проблеме "Математическое моделирование"

хНа наш взгляд, терминологически правильнее говорить об интеллектных системах (т.е. использующих методы и средства искусственного интеллекта).

(председатель совета - академик А.А.Самарский). Инструментально-технологические вопросы обсуждались на заседаниях Комитета по технологии программирования и инструментальных средств вычислительного эксперимента (председатель комитета В.И.Легоньков, автор диссертации входил в состав этого комитета) Секции программного обеспечения математического моделирования упомянутого Научного совета. Хорошо известны таллинская школа Э.Х.Тыугу и ее направление исследований по пакетам с автоматическим синтезом программ. В Иркутском ВЦ (ныне Институт динамики систем и теории управления) СО РАН пакетная тематика была активно поддержана его первым директором В.М.Матросовым и с конца 70-х годов стала одним из научных направлений деятельности коллектива. В связи с Иркутским ВЦ следует отметить Сибирскую школу по пакетам прикладных программ под руководством В.М.Матросова и то влияние, которое она оказала на молодых ученых и специалистов, приезжавших на нее не только из Сибирского региона.

Большое значение для становления пакетной проблематики имели, выходящие в издательстве "Наука", серия "Алгоритмы и алгоритмические языки", сборники "Пакеты прикладных программ" (главный редактор - А.А.Самарский).

Наряду с уже упомянутыми именами, с историей формирования и развития пакетной проблематики связаны имена таких исследователей, как А.С.Алексеев, О.Б.Арушанян, М.М.Бежанова, С.Н.Васильев, В.М.Глушков, Н.Н.Говорун, М.М.Горбунов-Посадов, А.А.Дородницын, Ю.Г.Евтушенко, А.П.Ершов, В.Д.Ильин, В.П.Ильин, В.М.Ковеня, А.Н.Коновалов, Д.А.Корягин, С.С.Лавров, В.В.Липаев, Г.И.Марчук, О.Н.Перевозчикова, Г.С.Поспелов, И.В.Поттосин, И.В.Сергиенко, Л.Н.Столяров, Б.Г.Тамм, А.Н.Тихонов, Ю.И.Шокин, В.М.Фомин, Л.И.Эрлих и др. Из числа зарубежных следует отметить коллектив специалистов из Германии, известный под названием «Группа ПАКЕТЫ ПРОГРАММ» (П.Бахманн и др.), а также такие имена, как Ф.П.Брукс, Б.Дисков, Д.Л.Парнас и др.

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

решение задач из некоторого заранее определенного класса в содержательных терминах ПО [8] - [13]. В основе разработки функционального наполнения ППП лежит модульный принцип, сформулированный и развитый в первой половине 70-х годов [14, 15] и др. Согласно этому принципу функциональное наполнение есть набор базисных, сравнительно простых, вычислительных модулей, композицией которых можно получить решение всех задач рассматриваемого класса.

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

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

В последние 15 лет наблюдается устойчивая тенденция повышения уровня автоматизации решения задач за счет использования методов искусственного интеллекта [6, 7, 17, 18]. Применительно к ППП речь идет в первую очередь о внедрении методов баз знаний и доказательного программирования (в смысле А.П.Ершова). Именно в таком контексте построен этот краткий обзор.

Исторически сложилось четыре укрупненных типа ППП и, соответственно, четыре

типа инструментальных систем (ИС) для их построения. Это:

- ППП библиотечного типа;

- ППП с развитой системной частью;

- интеллектуальные ППП;

- гибридные экспертные системы.

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

И С создания ППП библиотечного типа развиваются в рамках штатных систем программирования ЭВМ. К числу первых отечественных ИС такого типа относится программа ИС-2 [19], разработанная под руководством М.Р.Шура-Бура. Решение задачи с помощью ППП данного типа сопряжено с ручным написанием программы на некотором языке программирования и требует высокой программистской квалификации.

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

К ИС построения ППП с развитой системной частью можно отнести систему автоматизации физических расчетов САФРА [13], систему СТАРТ [20] и комплекс ТРАП [21] для решения задач вычислительного эксперимента, систему модульного программирования МОПР [22] для решения задач электрооптики, систему организации программ СОП [23] на основе структурно-модульного подхода и систему организации комплексов СОК [24] в области больших задач математической физики, систему СОФИСТ [25], систему ИСТОК [26] для построения инженерно-физических пакетов в области га-

зодинамических расчетов, систему ВИКАР [27] для создания ППП по выводу теорем метода векторных функций Ляпунова и принятию решений, систему ВИЛЬНЮС [31] для конструирования ППП в области календарно-тематического планирования и управления, систему ДИСУ ППП [32] для проектирования управляющих программ для станков с числовым программным управлением, близкие по принципам построения систему автоматизации проектирования ядерных реакторов [33] и систему ИСП [34], системы RADIOS и PBS [218] для задач вычислительной математики и автоматизации проектирования.

Бесспорным лидером в этом классе пакетов и ИС для их построения является система САФРА, базирующаяся на каркасной методологии построения пакетов программ

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