Смекни!
smekni.com

Объектно-ориентированный подход (стр. 17 из 22)

5. Заключение

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

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

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

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

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

Список литературы

1. R. F. Boisvert, S. Browne, J. Dongarra, E. Grosse. Digital software and data repositories for support of scientific computing. In N. Adam et al., editors, Advances in Digital Libraries, number 1082 in Lecture Notes in Computer Science, pages 61-72. Springer-Verlag, New York, 1996.

2. R. F. Boisvert, J. J. Dongarra, R. Pozo, K. A. Remington, and G. W. Stewart. Developing numerical libraries in Java. Concurrency: Practice and Experience, 10(11): 1117–1129, Sept. 1998. (http://www.cs.ucsb.edu/conferences/java98/papers/jnt.pdf)

3. E.Anderson, Z.Bai et al. LAPACK User’s Guide. SIAM, Philadelphia, second edition, 1995.

4. B. Blount, S. Chatterjee, An Evaluation of Java for Numerical Computing. The University of North Carolina. Jan. 1999. (ftp://ftp.cs.unc.edu/pub/users/cs/papers/sp-java.pdf)

5. R. Pozo. Template Numerical Toolkit for linear algebra: High performance programming with C++ and the Standard Template Library. International Journal of High Performance Computing Applications, 11(3), 1997. (http://math.nist.gov/tnt/).

6. Тормасов А.Г., Пашутин Р.А., Иванов В.Д., Петров И.Б. Объектно-ориентированный подход в создании сред поддержки сложных вычислений. Тезисы докладов XL научной конференции МФТИ, Долгопрудный, 1997.

7. Roberts, C.A., Dessouky, Y. M. An Overview of Object-Oriented Simulation. Simulation, vol. 70, no. 6, pp. 359-368. (http://www.scs.org/pubs/s98indaut.html)

8. Cubert, R.M., Fishwick, P.A. OOPM: An Object-Oriented Multimodeling and Simulation. Application Framework. Simulation, vol. 70, no. 6, pp. 379-395.

9. A. M. Uhrmacher. Concepts of Object-Oriented Simulation. Transactions of the Society for Computer Simulation, vol. 14, no. 2, pp. 59-68, 1997. (http://www.scs.org/pubs/t97toc.html)

10. Simulink Concepts. In: MATLAB User`s guide. MathWorks, inc. (www.mathworks.com).

11. Евдокимов А.В. Численное моделирование осреднённого по времени кровообращения человека. Выпускная квалификационная работа бакалавра. МФТИ, 1998.

12. Бурыкин А.А. Разработка методов компьютерного моделирования функциональных систем организма человека (на примере сердечно-сосудистой системы). Магистерская диссертация. Долгопрудный, МФТИ, 2000.

Публикации автора по теме диссертации

13. Евдокимов А.В., Объектно-ориентированный подход в математическом и имитационном моделировании. Тезисы докладов XLII научной конференции МФТИ, 1999.

14. Евдокимов А.В., Бурыкин А.А. О хранении и представлении данных в системах моделирования. Тезисы докладов XLII научной конференции МФТИ, Долгопрудный, 1999.

15. Бурыкин А.А., Евдокимов А.В. О применении объектно-ориентированного анализа при создании сложных компьютерных моделей в физиологии. Тезисы докладов XLII научной конференции МФТИ, Долгопрудный, 1999.

Приложение

Описание объектно-ориентированной библиотеки численных методов для задач гидромеханики и массопереноса с точки зрения её использования

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

Течение жидкости (газа)

1. Резервуар предназначен для хранения некоторого объёма жидкости (газа). Его связи (которых может быть сколько угодно) с Проточными элементами и с Узлами соединения позволяют ему обмениваться жидкостью (газом) с другими резервуарами и системами проводников соответственно.

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

3. Пластичный резервуар содержит те же параметры и использует те же модели расчёта объема и давления, что и Эластичный резервуар. Отличие между ними состоит в том, что упругая модель расчёта давления дополнена пластичной, что позволяет моделировать часто встречающееся явление релаксации напряжения в стенке резервуара. С этой целью в Пластичный резервуар добавлен ещё два параметра – характерное время релаксации и равновесный ненапряжённый объём. Если мгновенно увеличить (уменьшить) объём резервуара, то давление в нём сначала резко повысится (понизится), но за время релаксации за счёт постепенного роста (уменьшения) ненапряжённого объёма оно приблизится к своему первоначальному значению. Следовательно, ненапряжённый объём в случае пластичного резервуара рассчитывается им самим, и регулировать его извне не имеет смысла; зато равновесный ненапряжённый объём подлежит обязательной регуляции в зависимости от разности внешнего и внутреннего давлений (именно к нему со временем стремится значение ненапряжённого объёма, поэтому без регуляции не будет релаксации).

4. Точка соединения необходима для формализованного описания системы ветвящихся проводников (см. ниже). Данный элемент содержит всего один параметр – давление в точке, и сам никаких специфических действий над ним не производит. Точку соединения можно связывать с любым количеством элементов типа Проводник и одного из его подтипов (причём направление связи не имеет значения), однако самый обычный способ её использования – постановка на выходе элемента типа Насос, который в таком случае будет рассчитывать давление в точке.

5. Узел соединения расширяет возможности Точки соединения и отличается от неё тем, что самостоятельно рассчитывает своё давление на основе информации о сопротивлениях проводников, с которыми он связан, и о давлениях на их противоположных концах. При этом имеется возможность притока или оттока из узла некоторого количества жидкости (газа), для чего узел соединения содержит второй параметр – втекающий поток.

6. Проточный элемент является простейшим типом, характеризуясь только одним параметром – потоком, то есть объёмом жидкости (газа), протекающей через него в единицу времени. Связывается данный элемент каждым концом с не более чем одним элементом типа Резервуар или одного из его подтипов. Если связь направлена к резервуару, то его объём будет увеличиваться, если от резервуара – уменьшаться (естественно, при условии положительности потока).

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

8. Градиент обеспечивает заданную разность давлений между Узлом соединения (который должен быть связан со входом данного элемента) и Точкой соединения (с выходом). Он имеет все свойства Проводника (поток и сопротивление), однако расчёт ведёт по той же формуле в обратном направлении, определяя из неё не поток, а давление на выходе (в Точке соединения). Градиент полезен не только в качестве источника (насоса), снабжённого внутренним сопротивлением, но и для постановки краевых условий с заданным потоком на границе.