Объектно-ориентированная методология эволюционной разработки математического обеспечения тема диссертации и автореферата по ВАК РФ 05.13.11, доктор физико-математических наук Семенов, Виталий Адольфович

  • Семенов, Виталий Адольфович
  • доктор физико-математических наукдоктор физико-математических наук
  • 1998, Москва
  • Специальность ВАК РФ05.13.11
  • Количество страниц 246
Семенов, Виталий Адольфович. Объектно-ориентированная методология эволюционной разработки математического обеспечения: дис. доктор физико-математических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Москва. 1998. 246 с.

Оглавление диссертации доктор физико-математических наук Семенов, Виталий Адольфович

ВВЕДЕНИЕ.

1. ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ МЕТОДОЛОГИЯ РАЗРАБОТКИ ЧИСЛЕННОГО МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ.

1.1 Обзор объектно-ориентированного математического и прикладного программного обеспечения.

1.2 Объектно-ориентированные методологии программирования.

1.3 Объектный анализ вычислительной математики.

1.4 Формальная объектная модель вычислительной математики.

1.5 Принципы объектного программирования задач и методов вычислительной математики.

1.6 Систематизированный подход к эволюционной разработке математического обеспечения.

2. МАТЕМАТИЧЕСКАЯ ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ БИБЛИОТЕКА ОБЩЕГО НАЗНАЧЕНИЯ.

2.1 Общие принципы создания математической библиотеки.

2.2 Базовые системные классы математической библиотеки.

2.3 Линейная алгебра.

2.3.1 Объектные технологии реализации матричного обеспечения.

2.3.2 Оргапизаг^ия векторных классов.

2.3.3 Векторные итераторы.

2.3.4 Организаг^ия матричных классов.

2.3.4.1 Принципы объектной классификации матриц.

2.3.4.2 Матрицы общего вида.

2.3.4.3 Специальные матрицы.

2.3.4.4 Элементарные матрицы.

2.3.5 Векторно-оргапизованные матричные классы.

2.3.6 Методика программирования шаблонов BIAS.

2.3.7 Временное тестирование матричных реализаций.

2.3.8 Объектная реализация методов линейной алгебры.

2.4 Анализ функции.

2.4.1 Математические функции как объекты.

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

2.4.2.1 Принципы объектной классификации математических функций.

2.4.2.2 Классы математических функций общего вида.

2.4.2.3 Элементарные функции.

2.4.2.4 Специальные функции.

2.4.2.5 Многочлены.

2.4.2.5.1 Канонические полиномы.

2.4.2.5.2 Классические интерполяционные полиномы.

2.4.2.5.3 Системы ортогональных полиномов.

2.4.2.5.4 Специальные полиномы.

2.4.3 Классы интерпретации функций.

2.4.4 Временное тестирование функциональных реализаций.

2.4.5 Объектная реализация методов численного дифференцирования и интегрирования.

2.4.5.1 Классы методов численного дифференцирования.

2.4.5.2 Классы методов численного интегрирования.

2.4.5.3 Объектная классификация квадратурных формул.

2.5 Безусловная оптимизация и решение нелинейных систем алгебраических уравнений.

2.5.1 Назначение и принципы организации раздела оптимизации.

2.5.2 Объектная классификация и реализация методов одномерной оптимизации и решения нелинейных уравнений.

2.5.3 Объектная классификация и реализация методов безусловной оптимизации и решения нелинейных систем.

2.5.4 Библиотека классов тестовых функций.

2.6 Инструментальные возможности математической библиотеки.

3. ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ ИНСТРУМЕНТАЛЬНАЯ СРЕДА ДЛЯ РАЗРАБОТКИ СИСТЕМ АВТОМАТИЗИРОВАННОГО МОДЕЛИРОВАНИЯ И ПРОЕКТИРОВАНИЯ (CAD/CAM).

3.1 Системы классов вместо пакетов прикладных программ.

3.2 Обобщенная концепция численного моделирования.

3.3 Объектная модель физической системы и сис тема классов среды.

3.4 Разработка приложений на основе среды и ее инструментальные возможности.

3.5 Система параметрического геометрического проектирования.

3.5.1 Постановка задач параметрического моделирования.

3.5.2 Специализированная библиотека классов геометрических элементов и ограничении

3.5.3 Реализация системы моделирования.

3.6 Система моделирования течений в трубопроводных сетях.

3. б. 1 Постановка задач моделирования течений.

3.6.2 Специализированная библиотека классов элементов.

3.6.3 Реализация системы моделирования.

3.7 Направления далы шйших исследований.

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

Введение диссертации (часть автореферата) на тему «Объектно-ориентированная методология эволюционной разработки математического обеспечения»

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

С конца 1960-х - начала 1970-х годов ведутся достаточно интенсивные исследования в области создания объектно-ориентированных операционных систем, баз данных, графических интерфейсов. В значительно меньшей мере внимания уделяется вопросам применения объектных технологий к математическому и прикладному ПО, предназначенному для решения задач вычислительного характера.

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

Настоящая диссертационная работа посвящена научным и практическим аспектам создания численного математического и прикладного ПО на основе объектно-ориентированной технологии. Работа носит многоплановый характер и охватывает как теоретические методологические вопросы создания математического обеспечения (МО), так и практические результаты разработки конкретных программных систем: математической объектно-ориентированной библиотеки общего назначения и инструментальной объектно-ориентированной среды для построения систем автоматизированного проектирования и моделирования (CAD/CAM) в различных предметных областях науки и техники.

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

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

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

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

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

МО. Инструментальность рассматривается нами как важнейший принцип построения МО, претендующего на эффективное множественное применение.

Анализ возможностей применения ООП к МО и выработка общей объектно-ориентированной методологии программирования, охватывающей такую развитую фундаментальную научную область, какой является вычислительная математика, позволила бы придать проводимым в настоящее время многочисленным исследовательским и коммерческим проектам систематизированный характер и обеспечить их необходимой методологической основой.

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

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

• предложена и формализована общая объектно-ориентированная методология эволюционной разработки численного МО, которая основывается на оригинальной объектной модели рассматриваемой предметной области и связанной с ней выделенной системой методик программирования,

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

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

• на основе предложенной обобщенной объектной концепции численного моделирования, применимой к широкому спектру физических явлений и технических систем, спроектирована и разработана объектно-ориентированная инструментальная б среда для создания CAD/CAM приложений в различных предметных областях науки и техники,

• предложенная методология, разработанное МО апробированы при создании рабочих прототипов CAD/CAM систем с открытой объектной архитектурой для параметрического геометрического проектирования и моделирования течений в трубопропроводных сетях,

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

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

Апробация работы и публикации. Предложенная методология была успешно апробирована при реализации проектов Российского фонда фундаментальных исследований и федеральной целевой научно-технической программы "Информатизация России". Результаты диссертационной работы опубликованы в научной печати и докладывались на различных конференциях и семинарах: международной конференции "САПР" (г. Гурзуф, 1995), международной конференции "Новые информационные технологии в науке, образовании и бизнесе" (г. Гурзуф, 1996), семинарах Института системного программирования РАН, Института автоматизации проектирования РАН, Института прикладной математики РАН. Материалы диссертации использовались в учебных курсах, прочитанных автором в Московском государственном институте радиотехники, электроники и автоматики.

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

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

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

Заключение содержит краткую сводку основных результатов работы и указание лиц, внесших вклад в ее осуществление.

В приложении 1 приводятся рисунки, иллюстрирующие принципы функционирования математической интерактивной графической системы, разработанной на основе математической объектно-ориентированной библиотеки.

Иллюстрации приложения 2 дают общее представление о рабочих прототипах CAD/CAM систем для параметрического геометрического проектирования и моделирования течений в трубопроводных сетях, разработанных на основе инструментальной объектно-ориентированной среды моделирования.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Семенов, Виталий Адольфович

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

4. На основе предложенной обобщенной объектной концепции численного моделирования, применимой к широкому спектру физических явлений и технических систем, спроектирована и разработана объектно-ориентированная инструментальная среда для создания CAD/CAM приложений в различных предметных областях науки и техники.

5. В качестве примеров прикладных программ реализованы рабочие прототипы CAD/CAM систем с открытой объектной архитектурой для параметрического геометрического проектирования и моделирования течений в трубопропроводных сетях. Данные системы, являясь прямым результатом применения представленной методологии, наглядно иллюстрируют вычислительные и инструментальные возможности разработанного МО.

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

Автор выражает искреннюю благодарность чл.-корр. РАН, профессору Иванникову Виктору Петровичу, определившему научную судьбу настоящей работы и обеспечившему благоприятные условия для ее выполнения, а также своим коллегам: аспирантам Морозову Сергею Вячеславовичу, Тарлапану Олегу Анатольевичу и младшему научному сотруднику Ширяевой Екатерине Юрьевне, без энтузиазма и усердия которых многие идеи не смогли бы быть воплощены в реальность.

Автор признателен также жене и маме, без понимания и терпения которых настоящая работа вряд ли могла быть завершена.

Список литературы диссертационного исследования доктор физико-математических наук Семенов, Виталий Адольфович, 1998 год

1. Математическая энциклопедия: Гл. ред. И.М.Виноградов — М.: Советская Энциклопедия, 1982.

2. Бронштейн И.Н., Семендяев К. А. Справочник по математике для инженеров и учащихся ВТУЗов. — М.: Наука, 1986.

3. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. — М.: Наука, 1987.

4. Самарский A.A., Гулин A.B. Численные методы. — М.: Наука, 1989.

5. Марчук Г.И. Методы вычислительной математики. — М.: Наука, 1989.

6. Гантмахер Ф.Р. Теория матриц.— М.: Наука, 1988.

7. Воеводин В.В. Линейная алгебра. — М.: Наука, 1980.

8. Тыртышпиков Е Е. Блочные алгоритмы линейной алгебры. В кн. Вычислительные процессы и системы. — М.: Наука, 1993.

9. Хейгеман Л., Янг Д. Прикладные итерационные методы. — М.: Мир, 1986.

10. Хорн, Ч. Джонсон Матричный анализ: Пер. с англ.— М.: Мир, 1989.

11. Писсанецки С. Технология разреженных матриц: Пер. с англ. — М.: Мир, 1988.

12. ДжорджА., Лю Дж. Численное решение больших разреженных систем уравнений: Пер. с англ. — М.: Мир, 1983.

13. Ортега Дж. Введение в параллельные и векторные методы решения линейных систем: Пер. с англ. — М.: Мир, 1991.

14. Янке Е., Эмде Ф., Леш Ф. Специальные функции. Формулы, графики, таблицы: Пер. с нем. — М.: Наука, 1977.

15. Лаврентьев М.А., ШабатБ.В. Методы теории функций комплексного переменного. — М.: Наука, 1987.

16. Никольский С.М. Квадратурные формулы. — М.: Наука, 1988.

17. Васильев Ф.П. Численные методы решения экстремальных задач.— М.: Наука, 1988.

18. Евтушенко Ю Г. Численные методы решения экстремальных задач и их применение в системах оптимизации. —М.: Наука, 1982.

19. Евтушенко Ю.Г., Жадан В.Г. Об одном подходе к систематизации численных методов нелинейного программирования. Техническая кибернетика, 1, 1983, с.47-59.

20. Карманов В.Г. Математическое программирование. — М.: Наука, 1986.21.

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