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

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

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

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

На правах рукописи УДК 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], как наиболее адекватной потребностям решения задач математической физики. В концентрированном виде эта потребность может быть определена термином " исследовательское программирование" - который означает не создание новых, а развитие существующих программ за счет включения в программный фонд все новых и новых вариантов модулей. Исследовательское прог