автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Автоматическая генерация программ для моделирования непрерывных процессов
Автореферат диссертации по теме "Автоматическая генерация программ для моделирования непрерывных процессов"
6 о
3 МАР '¡33'!
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
На правах рукописи
ШАЛЕНШОВ Алексей Александрович
АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ ПРОГРАММ ДЛЯ МОДЕЛИРОВАНИЯ НЕПРЕРЫВНЫХ ПРОЦЕССОВ
Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук
САНКТ-ПЕТЕРБУРГ 1993
Работа выполнена в Научно-исследовательском Технологическом институте (г. Сосновый Бор Ленинградской обл.)
Научный руководитель: доктор физико-математических наук Баранов С.Н.
Официальные оппоненты: доктор физико-математических наук Сафэнов В.О. кандидат физико-математических наук Васильев H.H.
Ведущая организация: Московский государственный университет им. М.В. Ломоносова
Защита состоится CnfjfS 199^г. в ^"часов на заседании специализированного совета К 063.57.54 по присуждению ученой степени кандидата физико-математических наук в Санкт-Петербургском государственного университете по адресу:
198904, Санкт-Петербург, Старый Петергоф, Библиотечная пл., д. 2.
С диссертацией можно ознакомиться в Научной библиотеке им. М. Горького Санкт-Петербургского государственного университета.
Автореферат разослан Hj* Jc£{>fii4
Ученый секретарь специализированного физико-математических наук, доцент
совета, кандидат Кубенский A.A.
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Диссертация посвящена разработке принципов автоматической генерации программ для решения задач определенного класса - моделирования непрерывных процессов. Основу непроцедурных формулировок задач составляют системы эволюционных дифференциальных уравнений, в общем случав, не представленные в форте Ноши. Базу для такой генерации составляют разработанные и исследованные автором формализованные теоретико-графовые модели исходных задач и эффективные алгоритмы планирования вычислений, а такке метода сийтева вычислительных операторов и генерации результирующей программа, обеспечивающие высокую степень надежности,эффективности и мобют-госта генерируемых программ. Практическим приложением диссертации является создание на основе проведенных исследований системы автоматической генерации программ для моделирования непрерывных процессов с входным языком, приближенным к традиционной математической записи, использование созданной системы для разработки большое программных комплексов, моделирующих динамические процессы з ядерных энергетических установках а других сложных инженерных объектах, а также использование ев каи основы для создания прикладных пакетов автоматизации моделирования различного назначения, о ориентацией на конечного пользователя,
Актуальность проблемы.- Наблюдаемая в настоящее время интенсивная компьютеризация, обусловленная доступность» и значительным ¡дачшением параметров современной вычислительной техники, сопро-вовдается резким увеличением числа конечных пользователей, непрофессионалов в области программирования, а также количественным к качественным усложнением решаемых задач. Это ставит перед системным программированием слокные проблемы разработки соответствующих программных средств и технологий, максимально облегчающих процесс общения человека о ЭВМ и в то же время позволяющих эффективно решать актуальные практические задачи, рационально использовать вычислите льнув технику. Особенно остро эти проблемы стоят в сфере применения ЭВМ для научных и инженерных расчетов, где наиболее вакнуи область образует математическое моделирование динамических процессов, протекающих в различных сложных технических и природ-:шх системах и объектах. Достаточно указать на некоторые из обла-огей, гдэ необходимы комплексные математические модели динамики:
- автоматизация проектирования сложных объектов и их систем управления;
- расчеты нормальных и аварийных переходаых процессов для обоснования безопасности натурных испытаний объектов на стендах;
- создание тренажеров Потенциально опасных технических объектов.
Разработка и реализация комплексных математических моделей динамики сложных объектов непрерывного типа является длительным и дорогостоящим процзссом. Применение рпя этой цели пакетов прикладных программ снимает проблему лишь частично, поскольку пакетам свойственна довольно узкая специализация и «есткая заденность принятых в них физических допущений. Традиционные языки непрерывного моделирования для разработки моделирующих программ также мило эффективны из-за весьма жестких ограничений на форму представления исходной формулировки задачи, приведение к которой може* быть сравнимо да трудоемкости с ручным составлением программ. Не решает проблемы и использование систем модульного программирове-ния и инструментальных систем построения пакетов типа ПРИЗ, если отсутствуют средства автоматической генерации самих модулей. Поэтому актуальной является задача создания системы машинного построения программ, с входным языком математического моделированиес обладающим существенно более высоким уровнем и степенью непропс-дурности, чем имеющиеся языки аналогичного назначения-
Целью диссертационной работы является разработка и исследование формальных моделей автоматической генерации программ, 8ф;ч-ктивных алгоритмов и методов генерации программ моделирования не -прерывных процессов, а также практическая реализация на ЭВМ системы автоматической генерации, основывающейся на разработанных, алгоритмах и методах.
Методика исследования. В раосте примеклются методы построения и исследования математических моделей, основанные на отдельных разделах теории графов, компьютерной алгебры, методов вычислений, теории языков и трансляторов. Теоретические разработке проверялись практически путем программной реализации их в систем^ машинного построения программ.
Научная новизна. Построены и исследованы новые формализованные теоретико-графовые модели, отражающие топологическую структуру исходных задач, представляющих собою еволюционные раврваиеннь
оиотеми йлгеСро-даЗфэренциальншс уравнений, включая топологически вырожденные. Разработаны эффективные беспереборные алгоритмы планирования вычислений, позволяющие проверять исходные модели и задачи на структурную корректность и разрешимость по входным и начальным данным, устранять топологические выроздения в системе уравнений, раскладывать исходную задачу в последовательность неразложимых подзадач, формировать план вычисления производных, промежуточных и неинтегрируемнх переменных. Введен в рассмотрение класс формализованных моделей систем уравнений регулярного вида, содержащих многомерные массивы. Доказан ряд утверждений относительно корректности и разрешимости задач на таких моделях. Алгоритмы планирования обобщены на этот класс моделей. Разработвны ч исследованы принципы синтеза вычислительных операторов решения конечных уравнений и их систем, базирующиеся на рациональном сочетании алгоритмов компьютерной алгебры, численных методов и техника теории графов. Предложены принципы генерации результирующей программы, обеспечивающие высокую степень надежности, эффективности и мобильности генерируемых программ. Разработан новый язык математического моделирования МИФ, превосходящий известные языки непрерывного моделирования по степени непроцедурности, уровню и широте круга описываемых задач. Разработана и реализована на персональной ЭВМ система автоматизации моделирования непрерывных процессов САМСОН с входным языком МИФ.
Практическая ценность. Предложенный подход к планированию решения задач на моделях эволюционных уравнений, содержащих производные по времени, может быть использован при разработке новых языков и систем непрерывного моделирования с более широким спектром возможностей, воспринимающих, например, уравнения в частных производных. Разработанные принципы синтеза вычислительных операторов и генерации результирующей программы могут быть полезны разработчикам проблемно-ориентированных систем и прикладных пакетов генерирующего типа. Разработанная система автоматизации моделирования САМСОН может быть использована в качестве инструмента для разработки и отладки крупных комплексов программ для моделирования сложных объектов непрерывного типа, а также как база для построения прикладных пакетов автоматизации моделирования генерирующего типа.
Апробация работы. Основные результаты диссертации докладывались на:
1. Всесоюзной конференции "Высокопроизводительные вычислительные системы для комплексных центров математического моделирования", Новосибирск, 1989 г.;
2. 17-м Всесоюзном совещании "Метода и программы решения оптимизационных задач на графах и сетях", Новосибирск, 1989 г.;
3. Зональном семинаре "Тренажеры и имитаторы", Пенза,1990 г;
4. Отраслевом семинаре "Тренажеры и моделирующие комплексы", Гатчина, 1990 г.;
5. Советско-американском семинаре "АСУ ТП советских АЭС", Москва, 1990 г.
Публикации. Основное содержание диссертации опубликовано в 5 печатных работах.
Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, списка литературы из 65 наименований и двух приложений. Основной текст (без приложений) изложен на 145 машинописных страницах, содержит 28 рисунков.
СОДЕРЖАНИЕ РАБОТЕ
Во введении обосновывается актуальность тематики диссертационной работы, дается краткий обзор современного состояния проблемы, определяется цель .диссертационной работы, приводится краткое изложение работы по главам.
Первая глава посвящена анализу проблемы автоматической генерации программ для моделирования непрерывных процессов, изЗюжениь концепции автоматизации.моделирования сложных объектов непрерывного типа и постановке основных задач диссертационной работы.
Рассматривается процесс математического моделирования. Этот процесс состоит из трех основных этапов:
1. Построение математического описания объекта моделирования.
2. Реализация математической модели на ¿.Ы. * •
3. Использование и сопровождение модели.
Анализируются наиболее узкие места 2-го и 3-го этапов, связанные с построением схемы счет'а, проведением аналитических выкладок, модернизацией реализованной модели.
Излагается концепция автоматизации моделирования сложные объектов непрерывного типа, состоящая в следующем. Разрабатывается и создается программная система, воспринимавшая задачи, сформулированные на языке эволюционных обыкновенных дифференциальна
- г -
•и алгебраических или трансцендентных уравнений. Система должна автоматически генерировать моделирующие программы, а также автоматизировать все действия по их использованию,. Применение системы в качестве инструмента для автоматизации моделирования возможно как непосредственно, так 5? путем построения на ее базе пакетов и систем автоматизации моделирования генерирущего типа, с входам интерфейсом, ориентированным на конечного пользователя. Система должна при этом удовлетворять ряду требований. Среди них выделяется требование, чтобы входной язык был, по возможности, максимально непроцедурным и имел весьма высокий уровень. Непръцедур-ность означает, в частности, что от пользователя не должно требоваться какое-либо препарирование исходных уравнений - приведение к некоторому каноническому виду. Уровень здесь означает, в частности, возможность компактно записывать массивы уравнений над массивами - переменными. Другом является требование'к результату работы системы автоматизации - сгенерированным программам, которые должны иметь достаточно высокую степень надежности и быть эффективными. Согласно излагаемой концепции,процесс автоматической генерации в системе долкен происходить поэтапно, на разных уровнях абстракции - структурно-топологическом, алгебро-функциональном и на уровне генерации результирующей программы. Отмечаются особенности рассматриваемого класса задач, осложняющие решение проблемы автоматической генерации программ. Глава заканчивается перечислением основных задач диссертационной работы, связанных с реализацией изложенной концепции.
Во второй главе вводятся в рассмотрение и исследуются формализованные теоретико-графовые модели, отражающие топологическую структуру мате каппе сип описаний слотах объектов непрерывного тала я задач моделирования этих объектов.
В практике моделирования непрерывных процессов на ЭВМ исходная система уравнений, описывающая мода.таруешй объект, обычно не бывает представлена в нормальной форме Кошя:
г # - Р(у,г,г)
{ г » а(у,г) <т;
Часто она имеет вид, нэ разрешенный относительно производных:
- О (2)
Здесь /, х - векторы-столбцы, составлетшз из компонент /п
•1 хх , хш) - й-я производная вэктерз х по времена г ,
(к - I,...,р) . Одним из препятствий, мешающих разрешить (2) относительно старших производных переменных ,хп и свести ее к система 1-го порядка (1), является возможная топологическая вырожденность системы (2). Этот термин означает отсутствие взаимнооднозначного соответствия между старшими производными переменных х1.....хп и уравнениями системы (2), в которых имеются их вхождения. Рассматривается задача об устранении топологических вырождений в системах вида (2) путем дифференцирования уравнений по 1 ,
т.е. задача определения набора чисел а = (а).....ап),. такого, что
для устранения топологической вырок;знности системы (2) достаточно продифференцировать С-е уравнение а{ раз (I = 1,...,п). Набор а называется нормальным сдвигом. Данная задача формулируется в терминах теории графов. Показывается, что она сводится к задаче о нахождении совершенного паросочетания Р наибольшего веса и потенциалов % вершин в терм-графе системы (2) - двудольном графе, отражением структуру вхождения производных переменных в уравнения. Для нахождения пары (Р,%) может быть применен венгерский метод. Доказывается, что нормальный сдвиг всегда существует, иными словами, топологические вырождения всегда можно устранить. Рассматривается задача о нахождении минимального нормального сдвига,т.е. такого нормального сдвига а, что для любого другого нормального сдвига {3 справедливо а{ ^ , £ = 1,...,п. Доказывается, что минимальный нормальный сдвиг существует и единственен. Задача нахождения минимального нормального сдвига формулируется в виде задачи линейного программирования специального вида. Показывается,что ее мокно свести к подобной задаче, но меньшей размерности. Предлагается алгоритм нахождения минимального нормального сдвига с оценкой сложности 0(p^m•log т), где р - число ребер, щ - число вершин терм-графа системы (2).
Вводятся в рассмотрение так называемые эволюционные модели, являющиеся теоретико-графовыми образами сисгам эволюционных алге-бро-дафференциальных уравнений. В них отражена лишь топологическая структура уравнений, т.е. информация о том, какие переменные и с какими порядками производных входят в те или иные уравнения. Рассматриваются задачи планирования вычислений на этих моделях, как то: проверка корректности модели, проверка корректности и формальной разрешимости задачи на модели по входным и начальным данным, формирование плана вычислений производных и неинтегрируе-мих переменных. Под корректностью вволюциошой модели понимается
отсутствие переопределенных подсистем уравнений во всех ее диффе ренциальных следствиях, рассматриваемых как системы конечных уравнений относительно старших производных. Показывается, что для корректности эволюционнй модели необходимо и достаточно существование полного паросочетания в ее терм-графе.
Рассматриваются теоретико-графовые аналоги бесконечных множеств уравнений - бесконечные локально конечные двудольные грэфн. Пусть О » (Р,Х) - такой граф, не имеющий дефицита относительно Г. Множество с Г называется критическим, если его можно представить в виде объединения конечных критических множеств. Множество I с х называется независимым, если при удалении всех вершин множества г вместе с инцидентными им ребрами полученный граф О' не имеет дефицита. Максимальное по включению независимое множество называется базой. Доказывается, что любые две базы равномощны.
Для эволюционных моделей вводится понятие задачи Коши. Показывается, что корректная модель имеет корректный и полный набор начальных данных в том и только в том случае, если модель замкнута, и что число элементов в любом таком наборе для данной-модели одинаково. Это число называется числом степеней свободы. Доказывается, что число степеней свобода системы (2) равно весу совершенного паросочетания наибольшего веса в ее терм-графе.
Формулируется алгоритм планирования решения задач на эволюционных моделях, Алгоритм включает в себя проверку модели на корректность, проверку задачи на корректность и разрешимость по входным данным, выделение минимальной разрешающей система (МРС), нахождение минимального нормального сдвига я выделение множества уравнений связей, проверку задачи Кояи на корректность и полноту, построение графа зависимости для нормализованной ЫРС и для уравнений связей, используя пвросочвтанив наибольшего веса, далее разбиение графа на сильно связные компоненты с их топологическим упорядочением, сортировку уравнений и, наконец, формирование плана вычислений "правых частей" в виде последовательности совместно замкнутых систем уравнений. Приводится схема организации счета в генерируемой программе на одном временном шаге.
Многие моделируемые.сложные объекты и системы имеют регулярную структуру, в том смысле, что в них•наличествуют многократно говторяютеся, идентичные друг другу элементы или подсистемы. Если объект устроен иерархически, такая повторяемость мокет иметься на разных уровнях иерархии. Стремление к компактности записи по-
бувдаэт применять для формулирования математических описаний таких объектов обозначения, так или иначе связанные с понятием многомерного массива. Рассматривается класс формализованных моделей вида
К;....' I* «*...«*=0
» О, I оА « ' Рй
«* С,' .* .4 )=0
'У 0ъ'.:1 г:. '.V;;.
/Рл Т Та
______ ... „ . . .. . „ . ' •
1 < (* < Кг , I » 1...& , а - П..а, СР1,7г,С1; . Подразумевается выполненным правило суммирования: если для некоторой позиции I рг > а1 , то по этой позиции берется аг) - кратная сумма для соответствующей переменной. Семейство моделей указанного вида, зависящее от натуральных параметров называется многоме-
рной моделью и обозначается {Ы(Ы1,...,}{к)) . Устанавливаются элементарные свойства многомерных моделей. Общее количество уравнений в конечной модели И(Н).... выражается в виде многочлена
Р<П,..ЛГЬ)- Е V...а С '
а,...аА 1 А
а общее количество переменных - в виде многочлена
эти многочлены называются производящими многочленами для уравнений и переменных , соответственно. Модель ^....И^) называется замкнутой, если для всех Лг),...М(Я - замкнуты. Модель а1(1! 1.....Нк)) называется полной, если некоторые переменные можно зафиксировать как входные так, что в результате получится замкнутая модель. Показывается, что для того, чтобы модель (ИОИ^....^^)) была замкнутой, необходимо и достаточно, чтобы для всякого (а,...а.) выполнялось А = В , а чтобы она
I М а/.. а) • • ,а4
была полной, необходимо и достаточно, чтобы для всякого (а^-.а^ выполнялось А„ „ < В„ „ . Здесь А , В - коэф
1'' А * *" А ? * * * А аГ"С1А
фициенты производящих многочленов Р и С) . Вводится понятие иервр-хического многочлена Р(х,..как многочлена, которому можно сопоставить корневое дерево, вершшы которого и0, и(,...,ьк, кроив корня по"ечены переменными .....хь, а все одночлены сслз-
- 1t -
падпют с произведениями пометок от корня к висящим вершинам, помноженными на коэффициенты. Полная модель (U(N1,...,Nk)) называется иерархической, воли еэ производящий многочлен - иерархический.
Пусть Т(Ь- дерево модели и = iiffff,.....F(v)'
X(v) - множества всех вершин-уравнений и вершин-переменных (соответственно) терм-графа модели И, размеры которых равны произведению пометок на вершинах пути, ведущего из корня поддерева Т(и) в какую-нибудь его вершину. Доказывается критерий корректности иерархической модели U = (U(Nt,...,Nk)} : ,,.1Я того, чтобы U былв корректной, необходимо и достаточно, чтобы для всякой вершины v дерева модели M существовало полное паросочеташге P(v) из F(u) в X(v) в терм-графэ 11. Из этого утверздения вытекает алгоритм проверю! корректности иерархической модели с оценкой 0(к • р • уй>. где р - число ребер, m - число вершин ее терм-графа.
Вводятся понятия'задачи на многомерной.модели, разрешимости
задачи, разрешающей системы и минимальной разрешающей системы
(MPC). Пусть размер переменной х есть • Я, ••• II. , где
1 г а
lf< Хг< ... < 1д , О ? а < k . Пусть Oj ,...,t)j - вершины дерева
1 3
модели с пометками Кг , fi, ,..., Нг , a i>0 - корень дерева (поме-
12 ai.
чен "1"). Будэм говорить, что х полностью покрыт паросочетанием,
если для J = О.....а х покрыт паросочетанием P(v. ). Формулируе-
J
тся и доказывав, гея критерий разрешимости задачи на иерархической модели: пусть M - корректная иерархическая модель, P(vQ), P(v,).-..P(vk) - полные паросочетания, соответствующие вершинам 1>0...ик; для того, чтобы задача на if с выходным множеством Хвих была разрешима, необходимо и достаточно, чтобы всякое х е было полностью покрыто паросочетанием. При атом будет мшш-мальной разрешающей системой. Множества достижимости Ох и Ср , а также граф зависимости для MPC строятся с использованием паросо-четаний P(v0J, P(v1),..,P(vk). Приводится алгоритм проверки свойства иерархичности модели. Рассматривается вопрос об устранении топологических вырождений в замкнутых иерархических многомерных эволюционных моделях. Он сводится к построению нормалышх паросо-четаний, соответствующих поддеревьям T(v0),...,T(vh), и решению системы линейных неравенств, выражающих условие существования нормального сдвига. Найденное решение может быть взято в к ¡яства начального приближения для алгоритма нахождения минимального пор-
мального сдрнгэ.
В третьей главе исследуются принципы синтеза операторов и Вопросы генерации результирующей программы. Считается, что имеется план решения задачи, представляющий собой последовательность подзадач нескольких известных типов. Основной тип подзадач: решить систему уравнений
(/,'*,.....Vе0
..................................(3;
. .....хк) = о
относительно неизвестных х1,...,хк (к } 1). неизвестные в системе могут быть много мерными массивам!., не обязательно одинакового размера. Предлагаются и исследуются методы сштеза операторов решения систем вида (3), основанные на применении как аналитических вычислений, так и численных методов. Излагаются особенности реализации аналитических вычислений, ориентированных на генерацию программ моделирования. Описываются представления обрабатываемых объектов- - выражений (формул), многочленов и рациональных функций от нескольких переменных с целыми коэффициентами, а такке базовые процедуры работы с этими объектами. Рассматриваются особенности реализации аналитического дифференцирования, решения уравнений и их систем в символьном виде, упрощения выражений.
Исследуется воггоос о синтезе вычислительных операторов, реализующих решение уравнений и систем уравнений. Рассматриваются следующие способы организации решения: счет по формулам, представляющим собой аналитическое решение; счет путем вызова библиотечной подпрограммы, численно решающей задачу; счет по программному .фрагменту, непосредственно реализующему какой-нибудь итерационный метод решения; комбинация перечисленных способов.
Предлагается способ аналитического исключения неизвестных в случае, когда неизвестные являются многомерными массивами разных размеров. В-союзу принципа - исключения кладется свойство иерархичности системы. Строится дерево системы, а уравнения соответству-пЯим образом переупорядочиваются. В первую очередь исключаются неизвестный, которым соответствуют терминальные вершины дерева. При этом либо становится меньше на одно уравнение и одну неизвестную, либо из дерева удаляется терминальная вершина и ребро. Схема вычислений получается соответствующей дереву системы. Сначала идут скалярные вычисления (соответствуют корня дереве). За-
тем, друг за другом - циклы на 11г,...,Нд повторений, в которых решаются подсистемы, соответствующие 1-му, 2-му,...,з-му поддеревьям.
Рассматривается способ численного решения линейных систем с многомерными неизвестными. В основу его кладется метод Ш-разло-жения. При этом используется свойство иерархичности. Рассматривается методика решения блочно-диагональных систем с окаймлением. Показывается, как свести получение Я/-разложения матрицы системы к получению ¿{/-разложений ее диагональное блоков. Предлагается принцип организации данных для эффективного решения системы соответствуем рекурсивным алгоритмом. Описанный способ решения может быть Црименен также и для решения нелинейных систем ньютоновыми и квазиныотоновыми методами. Роль матрицы в этом случае играет якобиан системы.
Описывается способ синтеза программных фрагментов решения систем уравнений, основанного на методе последовательных приближений. Выбран подход, обеспечивающий полный контроль со стороны пользователя за генерируемой при этом итерационной схемой вычислений и, в то же время, сохраняющий значительную степень непроце-дурности. Исходной информацией для синтеза являются итерационные предписания, задающие имена итерируемых переменных в порядке увеличения глубины вложенности итерационных циклов и метки уравнений, из которых требуется вычислять эти переменные. Сначала строится терм-граф ^стемы уравнений. Из него удаляются вершины, соответствующие первой переменной в итерационных предписаниях, уравнению, из которого надлежит ее вычислять, и все инцидентные зтш вершинам ребра. В оставшемся терм-графе строится максимальное па-росг>четание. Если паросочетаниб полное, т.е. предписания заданы корректно, то строится граф зависимости и разбивается на сильно связные компоненты В(,...,Вг с топологическим упорядочением. Далее процедура применяется рекурсивно к блокам В В . В результате получается итерационная схема с вложенными циклами. Вышеописанный прием применяется также для решения систем уравнений с помощью методов, предназначенных для решения одного уравнения. Дли реализации такого способа синтеза необходимо иметь рекурсивные версии библиотечных программ решения одного уравнения.
Предлагаются и исследуются принципы генерации результирующей программы. Рассматриваются вопросы выбора схемы генерации, определения структуры генерируемой программа, вопроси 18нэр'ацич моду-
- И -
лей, обеспечения их реентерабельности,•отчуждаемости и- сопрягае-мости с существующими программными комплексами, вопросы обеспечения рекима отладки моделей в терминах исходной задачи и проведения вычислительного эксперимента в режиме on-line.
Предлагается двухступенчатая охема генерации. В качестве промежуточной Формы принимается некоторое подмножество языка Паскаль, модифицированное и расширенное. Определяется структура генерируемой программы, с учетом требований модульности построения, минимизации накладных расходов по памяти и времени,- удобства и простоты алгоритмов генерации программ. Описываются функции компонент генерируююй программы - секции инициализации'и секции динамики.
Рассматриваются принципы генерации модулей. Предлагается структура паспорта модуля,а также метод обеспечения' реентерабельности модуля. Определяется минимум информации, подлежащей хранению в памяти вызывающей программы. Рассматривается способ обеспечения отчуадаемости программы и сопрягаемрсти с другими программами на уровне формальных параметров и СОШОИ-блоков.
Решается задача обеспечения отладочного режима и интерактивного рекима проведения вычислительного эксперимента on-line для генерируемой программы. Определяется состав библиотеки поддвраки выполнения, приводится решение проблемы регистрации расчетной га-формации, основанное на генерации реентерабельной программы.
Описываются принципы перевода результирующей программы из промежуточной формы на Фортран. Предлагается двухэтапная схема перевода. На первом этапе выполняется (синтаксически управляемый) перевод из текстового представления во внутреннее "инвариантное" представление. На втором этапе - перевод из внутреннего представления на.Фортран. Описываются принципы перевода операторов, статического распределения памяти, механизм интерпретации передачи параметров процедуры другим процедурам, локализованным в данной ("глобальных параметров).
В четверто!; главе рассматриваются вопросы реализации системы автоматизации моделирования.САМСОН, созданной на основе проведенных в диссертационной, работе исследований.
Дается краткий обзор входного языка системы МИФ, предназначенного для записи математических описаний моделируемых объектов и формулирований заданий системе САМСОН на построение алгоритмов и генерацию расчетных программ. .
Описывается архитектура, принципы организации и функционирования системы САМСОН. Кратко рассматривается работа 4-х основных блоков подсистемы автоматической генерации программ - "Анализатора", "Планировщика", "Синтезатора" я "Генератора".
Рассматривается применение системы САМСОН для построения на ее база прикладных пакетов автоматизации моделирования генерирующего типа с входным интерфейсом, ориентированным на конечного пользователя. Описывается структура и функционирование трех реализованных пакетов автоматизации моделирот ний: систем автоматического регулирования, гидравлических сетей, плоских шврнирно-ры-чакных механизмов. Каждый пакет состоит из двух основных программных блоков: редактора схем и генератора математических описаний. Редактор схем обеспечивает экранный ввод и редактирование принципиальной схема объекта, ввод исходных данных и формирует внутреннее представление задачи. Генератор по внутреннему представлению схемы, на основании физических законов поровдает текстовый файл с математическим описанием на языке МИФ. На основании вылолгэнных разработок делается вывод о том, что на базе системы САМСОН возможно создавать прикладные пакеты автоматизации моделирования генерирующего типа. При этом, использование пакетов повышает производительность труда на 1-2 порядка, затраты же на разработку пакетов существенно ниже, чем при традиционном способе.
В заключении сформулированы основные результаты диссертационной работы.
3 приложении 1 дано полное описание грамматики языка ВДФ в расширенной форме Бэкуса-Наура,
В приложения 2 приведен пример описания задачи моделирования на языке МИФ, протокол генерации программы, текст сгенерированной программы на Фортране-77 и результаты вычислений по программа.
В 1.-кЗоте получены следующие основные результате;
1. Предложены и исследованы формализованные теоретико-графовые модели эволюционных систем алгебро-дифференциальных уравнений иерархической структуры с переменными-многомерными массивами.
2. Разработаны эффективные беспереборные алгоритмы плакирования вычислений на таких моделях, осуществляющие проверку структурной корректности модели, корректности и разрешимости задачи по входным и начальным данным, устраняющие топологические вырождения я формирующие оптимальную схему вычислений.
3. Разработаны принципы синтеза вычислительных операторов г?
генерации результирующей программы, основанные на применении методов компьютерной алгебр», теоретико-графовой техники и методов вычислений, обеспечивающие высокую степень надежности, эффективности и переносимости генерируемых программ.
4. разработан непроцедурный язык непрерывного моделирования МИФ, превосходящий известные языки аналогичного назначения по уровню и степеш непроцедурности.
5. Разработана и реализована на персональной ЭВМ IBM PC система автоматизации моделирования САМСОН о входным языком ММ.
6. Показана возможность эффективного применения системы САМСОН для создания прикладных пакетов автоматизации моделирования генерирующего типа, ориентированных на конечного пользователя.
ПУБЛИКАЦИИ ПО TIME ДИССЕРТАЦИИ
1. Шаленинов A.A. Применение теории графов для приведения систем эволюционных уравнений к нормальной форме Коши // "Методы и программы решения оптимизационных задач нв графах и сетях".
. Тезисы докладов IV Всесоюзного совещания. Ч. 1. - Новосибирск, 1989. - С. 206-207.
2. Шаленинов A.A., Кузнецова Т.А., Наумов С.А. Автоматическая генерация программ моделирования непрерывных процессов // Актуальные вопросы технологии программирования, ЛИИАН, 1989. - С. 123-131.
3. Кузнецова Т.А., Наумов С.А., Шаленинов A.A. Об автоматизации программирования задач моделирования непрерывных процессов // "Тренажеры и имитаторы". Тезисы докладов к зональному семинару. - Пензз, 1990. - С. 74-75.
4. Шаленинов A.A. Об устранении топологических вырождений в системах эволюционных дифференциальных уравнений // Автоматика и телемеханика, 1990, J6 11. - С. 163-170.
б. Шаленинов A.A., Кузнецова Т.А., Наумов С.А. Автоматическая генерация программ моделирования непрерывных процессов для параллельных ЭВМ // Высокопроизводительные вычислительные системы для комплексных центров математического моделирования. Сборник научных трудов. - Новосибирск, 1991. - С. 59-70.
-
Похожие работы
- Интеллектуальная САПР схем автоматизации с развивающейся базой знаний
- Программная система генерации молекулярных графов с использованием метрик на графах
- Математическое моделирование нелинейных режимов генерации волоконных ВКР-лазеров
- Автоматическая генерация и исполнение программ по спецификациям на языке SDL
- Контроль устойчивости режимов электрических сетей с распределенной генерацией
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность