Использование унифицированного языка моделирования UML для объектно-ориентированной разработки моделирующих программных компонентов

Святний В.А., Чепцов А.А., Беляев О.Н.

Кафедра ЭВМ ДонНТУ, шахта Южно-Донбасская №3

lex@cs.donntu.ru

Abstract

Svjatnyj V.A., Cheptsov A.A., Beljaev O.N. Using unified modeling language UML for object-oriented developing simulation software components. Simulation of complex dynamic systems is an interdisciplinary problem that requires complex approaches of developing and efficient using simulation means. To solve this problem the author suggests an object-oriented strategy of modeling software components development. The Unified Process of Simulation Service Providing based on Unified Modeling Language is proposed.

Введение

С появлением высокопроизводительной компьютерной техники средства компьютерного моделирования стали распространенным методом не только исследования, но и оперативного анализа и контроля протекающих в различных предметных областях технологических процессов. Совершенствование техники автоматизации стало неразделимым с созданием средств компьютерной модельной поддержки и сопровождения динамических систем, основными функциональными критериями использования которых на сегодняшний день является дружественность к пользователям предметной области и интеграция с функционирующими автоматизированными системами. Основы модельного сопровождения проектов сложных динамических систем различных предметных областей науки и техники были в значительной мере отработаны с использованием аналоговых и аналого-цифровых методов и средств моделирования 2-5 поколения, разработка которых велась Институтом проблем моделирования в энергетике НАН Украины (г.Киев), НИИ «Счетмаш» (г.Москва) совместно с отраслевой лабораторией ДонНТУ и заводом «Счетмаш» (г.Кишинёв), фирмами EAI (США), Dornier (Германия) и другими организациями.

На фоне возрастающих требований к системной организации и функционированию современных программных продуктов и моделирующих систем [1] активизировались разработки в области создания унифицированных стратегий и технологий разработки компонентов моделирующего программного обеспечения сложных динамических систем, проводимые в Штуттгартском университете (Германия) [2], Венском университете (Австрия) [3] и др. Рассмотрим аспекты их применения в контексте разработки распределённых моделирующих сред и предметно-ориентированных центров моделирования [4].

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

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

Предложенные в середине 1990-х годов основные методы объектно-ориентированного автоматизированного проектирования систем (Booch, OMT, OOSE) [8] сформировали следующие основные требования к языкам моделирования: моделирование не только программного обеспечения, но и более широких классов систем и процессов с использованием объектно-ориентированной терминологии; обеспечение явной взаимосвязи между базовыми понятиями для моделей концептуального и физического уровней; масштабируемость моделей, что является важной особенностью сложных многоцелевых динамических систем; дружественность как к разработчикам средств моделирования, так и к использующим их специалистам предметной области; мультиплатформенность и аппаратная независимость используемой нотации. Эти критерии обуславливают эффективность использования объектно-ориентированных стратегий при формальном описании сложных динамических систем, представляемом уравнениями процессов в элементах объектов исследований и топологическим описанием, отображающим структуру объектов исследований и взаимосвязи между их элементами.

В качестве наиболее динамично развивающегося языка моделирования следует выделить унифицированный язык UML [9,10]. Его основным принципом является представление процессов и объектов в качестве моделей сложных систем, унифицированный характер описания которых определяет конструктивность использования объектноориентированного подхода для решения задач модельной поддержки широкого круга объектов различных предметных областей.

Применение UML для решения задач моделирования сложных динамических систем

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

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

- Модель кооперации – с целью описания взаимодействия объектов системы для решения поставленных задач моделирования.

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

- Логическая или классовая модель – для описания программных компонентов, классов и их экземпляров, составляющих функциональность модели на логическом уровне проектирования симуляторов.

- Модель составляющих и эксплуатации – для представления структуры и организации аппаратных ресурсов моделирующей системы, а также топологии исследуемых объектов; осуществляется с помощью семантических сетей, посредством графа Gs=(Vs, Es), в котором множество вершин Vs и множество ребер Es разделены на отдельные типы, обладающие специальной семантикой, характерной для предметной области.

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

UML-базированная стратегия разработки моделирующих программных компонентов

Для разработки моделирующих программных компонентов предлагается использовать подход, основанный на комбинации RUP (Rational Unified Process) [11] с моделью водопада, который представляет собой объектно-ориентированную стратегию, интегрированную с унифицированным языком моделирования UML [12]. Использование данной стратегии в проектах моделирующих систем обуславливается следующими её характерными особенностями: ориентация на разработку и документирование моделей сложных систем самого различного целевого назначения; возможность расширения и специализации исходных понятий языка UML для более точного представления объектов классификации моделей конкретной предметной области; поддержка спецификации программных объектов, независимой от конкретных языков программирования и инструментальных средств проектирования программных систем; интеграция новейших достижений практики объектно-ориентированного анализа и проектирования. Суть предлагаемой стратегии заключается в последовательной декомпозиции процесса разработки компонентов моделирующего программного обеспечения на отдельные этапы, на каждом из которых осуществляется реализация соответствующих типов канонических и вспомогательных UML-диаграмм, что соответствующим образом формализует процесс разработки программного обеспечения моделирующей системы. При этом на начальных этапах строятся логические представления статической структуры программных объектов, затем – логические представления компонентно-базированной системы в целом, и лишь после этого - её физические представления (рис. 1).

Структура процесса разработки моделирующих программных компоненто
Рисунок 1 – Структура процесса разработки моделирующих программных компоненто

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

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

Формальное и UML-базированное представление объектов и задач модельной поддержк
Рисунок 2 – Формальное и UML-базированное представление объектов и задач модельной поддержк

Заключение

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

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

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

Литература

1. Sommerwille Ian. Software Engineering. 6.Auflage. Addison Wesley Verlag 2001. ISBN 3-827-37001-9.

2. Mohammad Ullah Khan, Kurt Geihs, Felix Gutbrodt, Peter Göhner, Roland Trauter. Model-Driven Development of Real-Time Systems with UML 2.0 and C. Joint Meeting of the 4th Workshop on Model-Based Development of Computer Based Systems (MBD) and 3rd International Workshop on Modelbased Methodologies for Pervasive and Embedded Software (MOMPES 2006) within the 13th IEEE Int. Conf. on Engineering.

3. Gyimesi, M., Breitenecker, F. Simulation Service Providing als Web Service. In: F.Hülsemann u.a. (Hrsg.), Tagungsband 18. ASIM-Symposium Simulationstechnik, Erlangen 2005, SCS 2005.

4. Святний В.А.: Паралельне моделювання складних динамічних систем / Сборник трудов конференции «Моделирование-2006», Институт проблем моделирования в энергетике им. Г.Е.Пухова НАН Украины, Киев 2006. – с.83-90.

5. Кутугина Е. С. Моделирование: Учеб. пособие. - Томск: Том. гос. ун-т систем управления и радиоэлектроники, 2004.

6. Колесов Ю.Б. Объектно-ориентированное моделирование сложных динамических систем. СПб.: Изд-во СПбГПУ, 2004.

7. Nagel W.E., Jäger W., Resch M. (Eds.): High Performance Computing in Science and Engineering’05. Springer-Verlag, 2005.

8. Schach S.R. Classical and Object-Oriented Software Engineering: With UML and C++. 4th ed. WCB/McGraw-Hill, 1998.

9. Unified Modeling Language Specification / An Adopted Formal Specification of the Object Management Group, Inc., 2003. – 733 p.

10. Stevens Predita, Pooley Rob. UML. Softwareentwicklung mit Objekten un.

Komponenten. PearsonEducation Deutschland GmbH. ISBN: 3-8273-70035, 2.Auflage, 305p.

11. Cheptsov O. Die UML-unterstützte Entwicklung von Modellierungssoftwarekomponenten für das Simulations- und Servicezentrum. / Наукові праці ДонНТУ, Серія «Проблеми моделювання та автоматизації проектування динамічних систем», вип. 5 (116), 2006, с. 21-27.

12. Kroll A. The Spirit of the RUP. www.106.ibm.com/developerworks/rational/library/content/RationalEdge/dec01/TheSpiritoftheRUPDec01.pdf.

13. Zur Entwicklungsorganisation des Simulations- und Servicezentrums für die Kohleindustrie / O. Cheptsov, V. Svjatnyj, O. Beljaev, V. Lapko, O.

Schkrebez/ Simulationstechnik 18. Symposium in Erlangen, September 2005. – s.554-559.

14. K. Bondareva, V. Svjatnyj. Verfahrenstechnisch orientierte parallele Simulationsumgebung / Наукові праці ДонНТУ, Серія «Проблеми моделювання та автоматизації проектування динамічних систем», вип. 5 (116), 2006, с. 28-37.

15. Cheptsov O., Svjatnyj V., Hohmann R. Die Entwicklung eines Simulations- und servicezentrums für gegebenes Gegenstandsgebiet. / Наукові праці ДонДТУ, Серія:”Інформатика, кібернетика та обчислювальна техніка”, вип. 93, 2005, с. 151-158.