Автоматизация сборки программ расчета разветвленных объектов тема автореферата и диссертации по математике, 01.01.10 ВАК РФ

Кикоть, Павел Борисович АВТОР
УЧЕНАЯ СТЕПЕНЬ
Москва МЕСТО ЗАЩИТЫ
1984 ГОД ЗАЩИТЫ
   
01.01.10 КОД ВАК РФ
Диссертация по математике на тему «Автоматизация сборки программ расчета разветвленных объектов»
 
 
Содержание диссертации автор исследовательской работы: , Кикоть, Павел Борисович

ВВЕДЕНИЕ.

ГЛАВА I. ОБЗОР СИСТЕМ АВТОМАТИЗАЦИИ ПРОГРАММИРОВАНИЯ

§ I. Сравнительнэя характеристика системы САВРАС

§ 2. Архивная служба и проблемы надежности

ГЛАВА 2. ЯЗЫКОВЫЕ СРЕДСТВА СИСТЕШ САВРАС.

§ I. Основные понятия. Область приложения системы

§ 2. Модули, архивы, директивы

§ 3. Текстовая макрозаготовка

§ 4. Описание семантической модели предметной области

§ 5. Схема.

§ 6. Другие директивы

§ 7. Дисциплина работы и дополнительные возможности системы

ГЛАВА 3. НЕКОТОРЫЕ АСПЕКТЫ РЕАЛИЗАЦИИ СИСТЕШ.

§ I. Общие сведения.

§ 2. Реализация директивы ОПИС.

§ 3. Реализация директивы СХЕМА

§ 4. Реализация директивы СБОРКА

§ 5. Ограничения на размеры заданий

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

ПРОЦЕССОВ В РАЗВЕТВЛЕННЫХ ТРУБОПРОВОДАХ.

§ I. Постановка задачи

§ 2. Описание ПС-языка

§ 3. Организация работы ПС-системы в пакетном режиме.

§ 4. Организация диалога в ПС-системе

 
Введение диссертация по математике, на тему "Автоматизация сборки программ расчета разветвленных объектов"

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

В настоящее время в ВЦ АН СССР совместно с Институтом машиноведения им. А.А. Благонравова разработан комплекс программ для расчета нестационарных газодинамических процессов в разветвленных газопроводах с местными сопротивлениями и исполнительными элементами. Для того чтобы смоделировать процесс в конкретном трубопроводе, пользователь должен прежде всего построить прибликенную модель трубопровода, используя существующие функциональные элементы (ресиверы, трубы, сопротивления, разветвления, камеры и т.д.), а затем в соответствии с полученной моделью написать, отладить и просчитать управляющую программу, реализующую обращения к подпрограммам созданного комплекса в последовательности, соответствующей модели трубопровода. Ручное написание управляющей программы осложняется тем, что подпрограмма, моделирующая состояние газа в некотором функциональном элементе в очередной момент времени, использует параметры газа с предыдущего временного слоя не только в данном элементе, но и в соседних с ним. Как показала практика, полный цикл изготовления управляющей программы для модели трубопровода, состоящей из 20-25 функциональных элементов, занимает 2-3 недели рабочего времени квалифицированного программиста. Поэтому встала задача дополнить комплекс программ системными средствами, превратив его в ППП с входным языком, удобным для описания модели трубопровода и для задания начальных значений.

Была предпринята попытка погрузить комплекс программ в систему САФРА но в силу специфики построения управляющей программы попытка не удалась. Вотвл вопрос о создании новой системы сборки управляющих программ, в которой была бы возможна работа в рамках как модульного, так и немодульного программирования. Первый опыт такой системы [[бJ описан в главе 4 данной диссертации.

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

главах 2 и 3, будут иллюстрироваться на модельных задачах, связанных с конструированием логических устройств). Поэтому следующим шагом развития системы было создание ее открытого аналога, допускающего настройку на заданную предметную область и расширение существующей предметной области (добавление нового функционального элемента, изменение инструкций для сборки программ и т.д.) В то же время этот вариант сохраняет, с незначительными модификациями, все языковые средства и возможности своего предшественника. Языковые средства и аспекты реализации открытой Системы Автоматизации Вычислений на РАзветвленных Структурах (САВРАС) описаны в главах 2 и 3. Глава I посвящена обзору существующих пакетов прикладных программ и систем генерации программ, а также анализу места среди них обсуждаемой системы.

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

Программное обеспечение системы САВРАС ориентировано на ЭВМ БЭСМ-6 и написано на автокоде БЕМШ [7] . Помимо очевидной практической цели, реализация разработанных алгоритмов преследовала также цель экспериментальную - показать возможность реализации похожей системы на малых ЭВМ применительно к их ресурсам без существенной модификации алгоритмов. Поэтому система занимает не более 10 листов ОЗУ БЭСМ-б (менее 60 К байт) и обладает удовлетворительными временными характеристиками (см. Приложение I).

Работа выполнена на кафедре алгоритмических языков факультета вычислительной математики и кибернетики Московского государственного университета им М.В. Ломоносова под руководством доцента, к. ф.-м. н. С.А. Абрамова. Основные результаты диссертации опубликованы в Тезисах I Всесоюзного научно-технического Совещания "Проблемы создания и использования высокопроизводительных информационно-вычислительных машин" (Кишинев, 1979) в соавторстве с С.А. Абрамовым и А.В. Шипилиным, в тезисах Всесоюзной конференции "Синтез, тестирование, верификация и отладка программ" (Рига, 1981) и в журнале "Программирование", 1983, № Материалы работы были доложены на указанных Совещании и конференции, на Московском городском семинаре по автоматизации программирования, на научном семинаре в Институте кибернетики АН ЭССР, а также на ряде кафедральных и лабораторных семинаров.

 
Заключение диссертации по теме "Математическое обеспечение вычислительных машин и систем"

ЗАКЛЮЧЕНИЕ

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

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

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

Предполагается, однако, дальнейшее развитие системы САВРАС, в частности, перевод ее, в основном, на машинно-независимый язык. Предполагается создание средств диалогового общения системы САВРАС с пользователем на основе опыта диалогового варианта ПС-системы.

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

 
Список источников диссертации и автореферата по математике, , Кикоть, Павел Борисович, Москва

1. Воеводин В.В., Гайсарян С.С., Кабанов М.И. Автоматизированная генерация программ,- В кн.: Численный анализ на ФОРТРАНе -

2. М.: изд-во МГУ, 1973, вып. I, с. 3-13.

3. Корягин Д.А., Мартынюк В.В. Развитие проблематики системного обеспечения пакетов прикладных программ в СССР в сб.: Пакеты прикладных программ. Проблемы и перспективы. - М.: "Наука", 1982.

4. Ершов А.П., Ильин В.П. Пакеты программ как методология решения прикладных задач. В сб.: Паяеты прикладных программ. Проблемы и перспективы. - М.: "Наука", 1982.

5. Автоматизированное проектирование цифровых устройств. Под ред. Бадулина С.С. - М.: "Радио и связь", 1981.

6. Горбунов-Посадов М.М., Карпов В.Я., Корягин Д.А., Красотченко В.В., Мартынюк В.В. Пакет прикладных программ САФРА. Системное наполнение. М.: ИПМ АН СССР, 1977, № 85 (Препринт ИПМ85 за 1977 г.)

7. Штаркман B.C. Автокод БЕМШ (описание языка). М.: ИПМ АН СССР, 1969.

8. Стукало А.С. Некоторые требования к пакетам прикладных программ (обзор и анализ). В кн: Труды 1У Всесоюзного семинара по комплексам программ математической физики, Новосибирск, 1976, с. 138-154.

9. Кахро М.И., Калья А.П., Тыугу Э.Х. Инструментальная система программирования ЕС ЭВМ (ПРИЗ). М.: "Финансы и статистика", 1981.

10. Зизин М.Н., Загацкий Б. А., Темноева Т.А., Ярославцева JI.H. Автоматизация реакторных расчетов. М.: Атомиздат, 1974.

11. Гуляницкий Л.Ф., Каспшицкая М.Ф., Сергиенко И.В., Стиранка А.И., Хильченко В.И. Пакет программ BEKT0P-I. "Программирование", 1976, № 2, с. 42-53.

12. Сухомлин В.А. Метасистема для построения проблемно-ориентированных систем и пакетов прикладных программ. "Программирование", 1976, № 2, с. 63-70.

13. Загацкий Б.А. Прикладные программы для ЕС ЭВМ. В кн.: Системное программирование Новосибирск: СО АН СССР, 1973,ч, 2, с. I6I-I77.

14. Ильин В.П. Численные методы решения задач электрооптики. Новосибирск: "Наука", Сибирское отд., 1974.

15. Столяров JI.H. Краткий обзор принципов организации пакетов прикладных программ. В кн.: Труды 1У Всесоюзного семинара по комплексам программ математической физики, Новосибирск, 1976, с. II2-124.

16. Горбунов-Посадов М.М., Хиздер Л.А. Система ОХРА. Основные понятия. Базовые операции. М.: ИПМ АН СССР, 1979, № 67 (Препринт ИПМ Ш 67 за 1979 г.)

17. Майерс Г. Искусство тестирования программ. М.: "Финансы и статистика", 1982.

18. Мартин Д. Организация баз данных в вычислительных системах. М.: "Мир", 1978.

19. Н.Е. Балакирев, С.А. Зельдинова, М.А. Копытов, Ю.П. Рогов, В.Ф. Тюрин, В.Ф. Шебанов. Руководство пользователю по работе с операционной системой ДИСПАК. М.: ВЦ АН СССР, 1982.

20. Салтыков А.И., Макаренко Г.И. Программирование на языке ФОРТРАН. М.: "Наука", 1976.

21. Бухтияров A.M., Маликова Ю.П., Фролов Г.Д. Практикум по программированию на ФОРТРАНе. М.: "Наука", 1979.

22. Кочин Н.Е., Кибель И.А., Розе Н.В. Теоретическая гидродинамика. Часть П. М.: Физматгиз, 1963.

23. Численное решение многомерных задач газовой динамики. -Под ред. Годунова С.К. М.: "Наука", 1976.

24. Герц Е.В., Гогричиани Г.В., Шипилин А.В. Определение параметров нестационарного газового потока в трубопроводе с местным сопротивлением. В сб.: Пневматика и гидравлика.

25. М.: "Машиностроение", 1976, вып. 3.

26. Герц Е.В., Гогричиани Г.В., Шипилин А.В. Динамика пневматических систем машин с разветвленными линиями связи. В сб.: "Механика машин", 1978, вып. 54, с. 53-57.

27. Герц Е.В., Гогричиани Г.В., Шипилин А.В. Определение параметров нестационарного газового потока в трубопроводе с поршнем. В сб.: Химическое машиностроение, Киев; "Техника", 1978, вып. 28, с. 66-74.

28. Мазный Г.Л. Программирование на БЭСМ-6 в системе "Дубна". М.: "Наука", 1978.