МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ
(государственный университет)
ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД
В ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКЕ
И ИМИТАЦИОННОМ МОДЕЛИРОВАНИИ
Магистерская диссертация студента 436 группы ФАКИ
Евдокимова Алексея Витальевича
Научный руководитель: член-корреспондент РАН,
доктор физико-математических наук, профессор
Холодов Александр Сергеевич
Рецензент: доктор физико-математических наук, профессор Петров Игорь Борисович
Москва 2000
Оглавление
1. Введение........................................................................................................................... 3
1.1. Цель работы и её актуальность............................................................................... 3
1.2. Решаемые задачи и научная новизна работы........................................................ 4
2. Объектно-ориентированная структура моделей.......................................................... 6
2.1. Постановка задачи и предпосылки для её решения.............................................. 6
2.2. Объектно-ориентированная методология моделирования................................ 12
2.3. Пример использования: моделирование организма человека........................... 15
2.4. Резюме...................................................................................................................... 20
3. Объектно-ориентированные численные методы....................................................... 21
3.1. Постановка задачи и обзор существующих работ.............................................. 21
3.2. Объектная интерпретация понятий вычислительной математики................... 22
3.3. Объектное представление конкретных численных методов............................. 33
3.4. Пример использования: объектно-ориентированная библиотека численных методов для задач гидромеханики и массопереноса (теплопереноса).................................................... 43
3.5. Резюме...................................................................................................................... 46
4. Многокомпонентные базы данных как средство поддержки методологии вычислительного эксперимента 47
4.1. Постановка задачи и предпосылки для её решения............................................ 47
4.2. Содержание многокомпонентного подхода к БД............................................... 54
4.3. Пример использования: архитектура базы данных обобщённой модели........ 61
4.4. Резюме...................................................................................................................... 66
5. Заключение..................................................................................................................... 67
При численном моделировании сложных систем возникает ряд проблем, которые требуют сочетания подходов, сложившихся в совершенно разных областях науки. Прежде всего, это касается огромного потенциала вычислительной математики, который для своей реализации сейчас всё сильнее требует привлечения компьютерных наук. В настоящее время появилась неприятная тенденция превращения вычислительной математики из прикладной дисциплины в чисто теоретическую, – точно так же, как это произошло с аналитической математикой, когда сложность решаемых задач превысила возможности расчётов на бумаге. Чем более эффективными и сложными становятся численные методы, тем больше вероятность, каждый из них будет применён ровно один раз – при подготовке соответствующей диссертации.
Интеллектуальные затраты на программную реализацию методов во многих случаях настолько превосходят затраты на их теоретическую разработку, что становится неочевидным, какую из этих двух частей одной работы считать научной, а какую – чисто практической. В связи с этим понятно, почему даже высокотехнологичные программные разработки сейчас всё реже основываются на современных численных методах, – выгоднее довести до уровня технологии простой и менее эффективный подход (например, подход, принятый в имитационном моделировании), чем сложный и более эффективный. Если специалисты по вычислительной математике не позаботятся о совместимости численных методов с компьютерными науками, то специалисты по компьютерным наукам (а тем более разработчики программ) позаботиться об этом будут не в состоянии.
Совместимость методов вычислительной математики и компьютерных наук имеет три основных аспекта. Во-первых, сложные численные методы оправданно использовать на практике, если они существуют не только в виде текстов научных статей и даже не только в виде кода программ (который по степени формализации не слишком отличается статей). Как показывает опыт создания вычислительных библиотек [1,2], методы должны быть представлены в виде строго формализованного кода, который можно напрямую использовать в прикладной программе. Во-вторых, применение достижений компьютерных наук имеет самостоятельное значение в вычислительной математике, где имеется очевидная тенденция к созданию гибридных методов на основе некоторого набора «элементарных» методов, а также к совместному решению задач всех известных (изученных по отдельности) типов. Имеются ввиду хорошо исследованные в компьютерных науках способы многократного использования одних и тех же методов при решении близких задач и при создании новых методов. Кроме того, так как численные методы обычно тесно связаны с реализующими их алгоритмами, совершенствование алгоритмов (являющееся предметом компьютерных наук) с неизбежностью способствует развитию вычислительной математики. Наконец, третий аспект совместимости вычислительной науки с информатикой касается развития самих компьютерных технологий для обеспечения потребностей численного моделирования. В частности, для хранения данных вычислительных моделей имеет смысл использовать более развитые подходы, чем приняты в современных системах управления базами данных, работающих с данными более простых предметных областей.
Таким образом, данная работа направлена преодоление разрыва, образовавшегося между традиционной вычислительной математикой и феноменально быстро развивающимися компьютерными науками. С одной стороны, этот разрыв препятствует применению достижений вычислительной математики к решению современных задач, которое немыслимо без компьютерных технологий. С другой стороны, использование некоторых идей компьютерных наук в области численных методов может стимулировать развитие вычислительной математики как таковой (а потребности численного моделирования могут стимулировать развитие компьютерных наук).
Конечно, данная работа не претендует не описание всех областей взаимодействия вычислительной математики с компьютерными науками и, тем более, на окончательное решение всех возникающих при этом взаимодействии проблем. Со стороны компьютерных наук акцент сделан на объектно-ориентированный анализ, хотя в главе 4 затрагиваются также проблемы теории баз данных. С точки зрения вычислительной математики в главе 3 анализируются, прежде всего, общие характеристики численных методов, а конкретные алгоритмы, в их объектно-ориентированной формулировке, приводятся лишь в качестве иллюстрации эффективности общего подхода. Кроме этих двух дисциплин, в работе рассматривается область знания, которая обычно идентифицируется термином «имитационное моделирование в узком смысле» (в широком смысле имитационным моделированием можно называть любое моделирование на компьютере, включающее, в том числе, и численные методы). При этом конкретная имитационная модель (модель организма человека) в главе 2 также рассматривается только в качестве примера, а основное внимание уделено анализу возможностей сочетания имитационного моделирования и вычислительной математики на основе объектно-ориентированного подхода.
При достижении поставленной цели – сблизить некоторые подходы, принятые в вычислительной математике и информатике, – в работе решаются следующие задачи:
1) оптимизируется объектное представление элемента вычислительной модели и предлагаются расчётные алгоритмы, решающие проблемы такого представления;
2) анализируются свойства численных методов для объектных моделей;
3) разрабатывается подход к созданию объектно-ориентированной библиотеки численных методов, пригодной к быстрому изменению и расширению (а также к наглядному представлению);
4) создаётся принципиально новый подход к базам данных, предназначенный для хранения данных моделей и соответствующий методологии вычислительного эксперимента;
5) на основе этого подхода предлагается схема базы данных обобщённой модели, допускающая хранение не только числовых значений, но также структуры модели и численных методов.
Таким образом, основной задачей данной работы является не исследование какой-либо конкретной математической модели или численного метода расчёта этой модели, а создание теоретической основы для среды разработки широкого класса моделей. Под средой разработки понимается относительно универсальное инструментальное средство, позволяющее автоматизировать процесс создания и использования сложных моделей. Настоящая работа исследует возможности соединения в нем достоинств имитационного и математического моделирования на основе объектно-ориентированного подхода.
На защиту магистерской диссертации автором выносятся следующие положения:
1. Объектно-ориентированный подход (ООП) может служить основой для сочетания достоинств математического и имитационного моделирования.
2. На основе ООП можно создавать библиотеки численных методов, которые легче использовать в моделях и проще развивать, чем процедурные библиотеки.
3. ООП даёт возможность визуального редактирования моделей и библиотек.
4. Основанные на объектах численные методы инвариантны относительно типа задачи; эффективно рассчитывают неоднородные и распределённые системы.
5. Объектные алгоритмы могут быть более быстрыми, чем процедурные.