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

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

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

МОСКОВСКИЙ ОРДЕНА ЛЕНИНА, ОРДЕНА ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ И ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ имени М.В.ЛОМОНОСОВА

Научно-исследовательский вычислительный центр

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

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

на правах рукописи

КОВАЛЕВ Александр Давидович

Автореферат диссертации на соискание ученой степени кандидата физико-математических наук

МОСКВа - 1990

Работа выполнена в Научно-исследовательском вычислительном центре Московского государственного университета.

Научный руководитель: доктор технических наук,

ст. научный сотрудник О.Б.Арушанян

Официальные оппоненты: доктор физико-математических наук, профессор Г.С.Росляков

кандидат физико-математических наук, ст. научный сотрудник В.Я.Карпов

Ведущая организация: Институт точной механики и вычислительной техники АН СССР им. С.А.Лебедева, г. Москва

Защита состоится "¿?/ " 199Л?г. в часов

на заседании специализированното совета К.053.05.84 в Московском государственном университете им. М.В.Ломоносова по адресу: И9899, Москва, Ленинские горы, МГУ, Научно-исследовательский вычислительный центр, конференц-зал.

С диссертацией можно ознакомиться в библиотеке Научно-иссле-дователького вычислительного центра МГУ.

Автореферат разослан

¿0*

/«-УкГ^./? 1990 Г,

Ученый секретарь специализированного совета кандидат физико-математических наук

А.Б.Борисов

-г. 41.

ОНЦАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность проблемы.

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

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

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

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

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

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

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

Целью работы является исследование проблем автоматизации

..л

■рТЕЦИЙ

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

Научная новизна. В диссертационной работе получены следующие новые научные результаты:

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

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

- разработан набор системных программных средств, обеспечивающих операционное окружение вдя широкого класса программ на языке ФОРТРАН;

- создан комплекс программ ПИОН 2.1 для расчета систем формирования плотных пучков заряженных частиц в двумерной постановке для областей произвольной формы с учетом неизвестной заранее конфигурации поверхности плазменного эмиттера.

Практическая ценность, сформулированный в диссертации подход к разработке программного обеспечения для решения ресурсоемких задач вычислительной математики практически применен при создании комплекса программ ПИОН 2.1 в версиях для ЭВМ БЭСМ-6, ВК "Эльбрус 1-КБ" и персональных ЭВМ типа хвм рс, предназначенного для расчета систем формирования плотных пучков заряженных частиц. С помощью комплекса программ ПИОН 2.1 были проведены расчеты ряда ионных источников для опытно-конструкторских установок в рамках выполнения хоздоговорной темы. Кроме того, он используется в учебно-методическом плане для обучения студентов физического факультета МГУ приемам и методам решения задач моделирования элект-ро-физических устройств. Комплекс ПИОН внедрен на Центральном вычислительном комплексе Московского университета и на кафедре математики физического факультета МГУ.

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

анализа НИВЦ МГУ и в ее составе внедрены в 47 организациях.

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

Аппробация работы. Основные положения и результаты работы докладывались на ш-м Всесоюзном семинаре по автоматизации научных исследований в ядерной физике и смежных областях (г. Тбилиси, 1984г.), на научных конференциях МГУ "Ломоносовские чтения" (1985-1989 г.г.), на Всесоюзном совещании по вычислительной физике плазмы (г. Сухуми, 1988 г.).

Публикации. Основные результаты, полученные в диссертации, опубликованы в 5 работах.

Структура и объем диссертации. Диссертационная работа состоит из введения, трех глав, заключения и спискам литературы из 112 наименований. Объем работы без библиографии составляет 133 страницы.

СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

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

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

Параграф 1.5 посвящен обоснованию выбора языка ФОРТРАН в качестве единого языка реализации как численных, так и системных программ. Предлагается подход к разработке на ФОРТРАНе системного обеспечения, основанный на расширении языка ФОРТРАН путем дополнения его набором стандартных программ.

Значительное внимание удалено в работе проблеме создания мобильного операционного окружения для пирокого класса программ, написанных на языке ФОРТРАН [3,4]. Реализации программ операционного окружения посвящена вторая глаза.

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

ти языка ФОРТРАН по реализации системного наполнения больших програюгаих комплексов.

В состав операционного окружения включен следующий набор средств:

- работа с типами данных, отсутствующими в языке ФОРТРАН (слово, адрес, поля битов);

- динамическое распределение оперативной памяти;

- организация эффективного распределения пространства внеинего носителя информации и обмена данными между олерапшой пзмятьв и внешними запоминающими устройствами;

- СазоЕые средства интерактивного взаимодействия;

- отсутствующие в ФОРТРАНе средства передачи управления для обработки исключительных ситуаций, возникающих в процессе работы численных программ;

- организация параллельной обработки данных на последовательных ЭР:.!.

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

Средства работы с типами данных, отсутствующими в языке ФОРТРАН, описаны в параграфе 2,2. Они позволяют оперировать на ФОРТРАНе с таким;! объектам!, как машинное слово, произвольная группа битов, адрес и т.д. Указанные средства являются основой для реализации на ФОРТРАНе структур данных, поддерживаемых лишь, языками системного программирования (упакованные записи произвольной структуры, списки, очереди и пр.). Кроме того, с помощью средств работы с такого рода структурами данных возможно реализовать недоступный средствами ФОРТРАНа интерфейс с операционной системой.

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

Средства распределения пространства внешнего носителя информации и обмена данными между оперативной памятью и внешними гапо-«кнакшмк устройствами описаны в параграфе 2.4. Оки предоставляют

для любых программ, написанных на ФОРТРАНе, удобный универсальный машинно-независимый интерфейс, достаточно легко отображаемый в файловую систему любой операционной системы. Указанные средства позволяют организовать обмен с внешней памятью одновременно по нескольким независимым каналам, обеспечивая буферизацию информации в оперативной памяти. Комплекс программ работы с внешней памятью поддерживает гибкую систему управления буферизацией, уменьшающую число реальных обменов. Имеющиеся средства структуризации пространства позволяют организовать любой файл конкретной операционной системы как иерархическую древовидную структуру областей произвольного размера независимо от его реальной физической структуры. Таким образом, совокупность средств работы с внешней памятью можно рассматривать как файловую систему операционного окружения.

Базовые средства интерактивного взаимодействия, состав которых обсуждается в параграфе 2.5, включают средства вывода информации в виде последовательности символов в текстовом режиме или последовательности элементов расторового изображения (пэлов) для всего многообразия устройств вывода: экран, принтер, графопостроитель, а также набор средств ввода данных, которые в совокупности обеспечивают организацию параллельных и независимых от конкретных устройств потоков данных ввода/выюда.

Средства передачи управления [2], отсутствующие в ФОРТРАНе, описание которых приведено в параграфе ,2.6, позволяют в случае возникновения в некотором программном модуле критической ситуации (например, переполнения арифметического устройства), фиксируемой аппаратным или программным путем, прервать работу данного модуля и вызвавших его модулей и перейти вверх по цепочке вложенных вызовов на заданную заранее глобальную метку для выполнения реакции на возникшую ситуацию. Для этого у программиста имеются возможности указать в программе метки, в которые должен осуществляться переход в случае возникновения тех или иных исключительных ситуаций, и средства передачи управления на заданные метки.

Для организациии задачи пользователя в виде совокупности псевдопараллельно работающих процессов, синхронизации их выполнения и осуществления мевду ними обмена информацией служит комплекс программ управления, описанию которого посвящен параграф 2.7. Хотя нереентерабельность программ, написанных на ФОРТРАНе, наклады-

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

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

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

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

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

- расчет потенциала электрического поля при заданных граничных условиях на потенциал и его производные;

- расчет пучков заряженных частиц без учета собственного пространственного заряда и магнитного поля;

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

- расчет сильноточных пучков положительных ионов с учетом собственного объемного заряда при наличии плазменного эмиттера.

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

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

уравнения движения частиц. Приводятся реализованные в комплексе ГОШ итерационные методы решения самосогласованных задач. Рассматриваются особенности итерационного процесса при наличии плазменного эмиттера.

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

Параграф з.5 посвящен практическому применению комплекса ПИОН.

В заключении формулируются основные результаты, полученные в диссертации.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

2. В соответствии со сформулированными принципами построения и системными требованиями к проблемно-ориентированным компонентам создан набор инструментальных программных средств, образующих в своей совокупности машинно-независимое операционное окружение для составления и работы программ на языке ФОРТРАН.

3. Разработана архитектура и предложен состав системного и функционального наполнения комплекса программ ПИОН 2.1 для расчета систем формирования плотных пучков заряжешшх частиц, в основу создания которого положены сформулированные принципы построения программного обеспечения для решения ресурсоемких задач и разработанные инструментальные средства.

4. Реализовано системное и функциональное наполнение комплекса программ ПИОН 2.1 для моделирования плотных пучков заряженных частиц в двумерной постановке для произвольных областей с уче-

том неопределенной заранее поверхности плазменного эмиттера.

Основные положения диссертации отражены в следующих публикациях:

1. Ковалев А.Д. Вывод графической формации на АЦПУ, совместимый с комплексом программ ГРАФОР // Организация, сопровождение и развитие математического обеспечения вычислительного комплекса МГ'У. М.: Изд-во Моск. ун-та, 1985. - С. 54-60.

2. Богомолов H.A., Ковалев А.Д. Нестандартные средства передачи управления для программ на языке Фортран // Конструирование библиотек программ. М.: Изд-во МГУ, 1986. - С. 76-82.

3. Богомолов H.A., Ковалев А.Д., Ламзина Г.В. Системное окружение сложных вычислительных программ, написанных на фортране // Вычислительные методы и системы обработки данных на ЭВМ. М.:

ИЗД-ВО МГУ, 1988. - С. 116-130.

4. Арушанян О.Б., Богомолов H.A., Ковалев А.Д., Ламзина Т.В. Комплекс инструментальных программ для автоматизации конструирования численных библиотек и пакетов программ // конструирование библиотек программ. М.: Изд-во Моск. ун-та, 1988. - С. 66-91.

5. Богомолов H.A., Ковалев А.Д., Ламзина Т.В., Якунин С.А. Пакет программ ПИОН для расчета пучков заряженных частиц. // Вопросы конструирования библиотек программ. М.: Изд-во МГУ, 1989. - С.

91-115.

Подписано в печать 14.11.90 г. Формат 60x84/16. Объём 0,75 п.л.

Тирах 100 экз. Заказ Л 78. Бесплатно.

Ротапринт НИВЦ МГУ