Имитационное моделирование экономических процессов на основе объектно-ориентированного подхода

С.М. Щербаков

ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ НА ОСНОВЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА Аннотация

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

Annotation

Application of object-oriented methods to the tasks of simulation in economics and management is discussed in the article. Features of the object-oriented approach to economic processes simulation and its advantages are described. This advantages are: decrease of the semantic gap between a subject domain and its representation in model, flexibility, re-use of developed solutions, possibility of the computer-aided simulation model building. The direc-

2009 № 3

Вестник Ростовского государственного экономического университета

tion of the object-oriented approach on the basis of UML language within the integration of visual modeling and simulation is offered.

Ключевые слова

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

Key words

Simulation, object-oriented methods, polymorphism, UML, model, management, computer-aided building

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

I

II

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

Процесс создания имитационной модели можно представить в виде схемы, показанной на рис. 1.

Программный код имитационной модели

GENERATE 10,2 QUEUE BARQ SEIZE BARBER

Рис. 1. Обобщенная схема построения имитационной модели

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

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

Рассмотрим особенности и возможности интеграции визуального и

имитационного моделирования в экономике и управлении на основе объектно-ориентированного подхода.

Обзор существующих подходов. Использование объектно-

ориентированных методов для решения задач имитационного моделирования обсуждается в работах отечественных и зарубежных исследователей [3, 8, 9] и реализовано в некоторых инструментах имитационного моделирования [5, 12]. При этом делается акцент на разработку имитационной программы, как правило, в рамках технологии дискретно-

событийного имитационного моделирования.

В описываемых решениях предла-

гаются наборы программных классов, соответствующих основным терминам имитационной модели, таким, как тран-закт, очередь, генератор транзактов, обслуживающий прибор, закон распределения, эксперимент и т.д. [3, 8, 12]. К этому набору присоединяются служебные классы для управления модельным временем, цепями текущих и будущих событий, сбора статистики. Обычно для описания структуры и взаимодействия программных компонентов используются диаграммы универсального языка моделирования UML.

Применение объектно-

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

С другой стороны, имеются работы, посвященные вопросам анализа и визуального моделирования бизнес-процессов, в которых используется язык UML и разработанные на его основе методы, включающие элементы объектноориентированного подхода к моделированию бизнес-систем [2]. Например, метод Eriksson-Penker предполагает использование определенного набора расширений языка UML (модифицированных диаграмм и стереотипов) для представления различных сторон деятельности организации. Модель отражает цели деятельности организации, бизнес-сущности, бизнес-правила, структуру бизнес-процессов, ресурсы и т.д. Использование объектно-

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

шений и возможность зафиксировать типовые решения в виде «бизнес-паттернов» [10].

Визуальное моделирование часто предшествует построению имитационной модели. При этом UML-модель может рассматриваться как основа для формирования структуры имитационной модели [6]. Подобные идеи нашли некоторое отражение в зарубежной литературе. Например, в [7] исследуются вопросы имитационного моделирования производительности программной системы на основе ее UML-спецификаций. В работе [11] предлагается UML-профиль для имитационного моделирования бизнес-процессов на основе RUP (Rational Unified Process), включающий стереотипы для основных компонентов дискретно-событийной модели.

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

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

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

Возможности и принципы пред-

лагаемого подхода. Перечислим принципы, обеспечивающие реализацию объектно-ориентированного подхода к имитационному моделированию:

- применение объектно-

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

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

- автоматизация формирования имитационной модели и ее программного кода.

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

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

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

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

- существует множество СЛБЕ-средств для построения UML-моделей;

- UML включает средства расширения (стереотипы, помеченные значения, профили), позволяющие, во-

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

Использование объектно-

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

Рассмотрим особенности применения объектно-ориентированных методов при построении имитационной модели, которое позволяет снизить «семантический разрыв» между изучаемой системой и средствами ее представления в модели.

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

:Хубаев Г.Н., Щербаков С.М., Рванцов Ю.А. Система автоматизированного синтеза имитационных моделей на основе языка ЦМЬ «СИМ-иМЪ» // Свидетельство об официальной регистрации программы для ЭВМ. - №2008615423. -М.: РОСПАТЕНТ, 2009.

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

С использованием объектно-

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

Например, объект «Станок» является частным случаем обрабатывающего прибора. Используя принцип подстановки «1Б Л», можно использовать станок везде, где требуется обрабатывающее устройство. Вместе с тем станок может иметь особенности, которые будут учтены при проведении моделирования. В модели конкретного производственного процесса используются станки определенных типов, которые, в свою очередь, могут обладать собственным специфическим поведением и атрибутами [4].

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

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

- уровень представления предмет-

ной области, включающий классы («Станок», «Деталь», «Узел», «Доку-

мент», «Счет», «Заказ» и т.д.), которые могут использоваться для построения имитационных моделей в этой области. Средства расширения языка UML позволяют разработать для таких классов собственные графические элементы (стереотипы);

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

Кроме того, имитационное моделирование требует наличия классов системного назначения [5]. Эти классы обеспечивают: управление процессом моделирования в целом, генерацию случайных чисел, сбор статистики, управление модельным временем, ведение списков намеченных событий и т.д.

Пример архитектуры имитационной модели представлен на рис. 2.

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

Использование объектно-

ориентированного подхода и языка UML на всех стадиях построения имитационной модели делает возможной

интеграцию визуального и имитационного моделирования, автоматизированный синтез имитационных моделей экономических процессов [6].

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

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

Рис. 2. Пример структуры объектно-ориентированной имитационной модели

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

Предложенный подход может ис-

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

Заключение. Перечислим преимущества использования предлагаемо-

го подхода к имитационному моделированию экономических процессов:

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

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

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

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

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

Библиографический список

1.Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. 2-е изд. - М.: Бином, 1999. - 560 с.

2.Вендров А.М. Методы и средства моделирования бизнес-процессов // Информационный бюллетень «Jet Info». -2004. - №10 (137).

3.Змеев О. А., Лезарев А.В. Шаблон объектного проектирования для реализации функциональности процесса моделирования в имитационных моделях систем массового обслуживания // Вестник Томского гос. ун-та. - № 275. - 2002. -С. 108-111.

4.Лозина Е.Н., Щербаков С.М. Имитационное моделирование деятельности предприятия с использованием языка UML // Проблемы федеральной и региональной экономики: ученые записки. Выпуск 11. - Ростов-на-Дону: РГЭУ «РИНХ», 2008. - С. 166-171.

5.Лоу А., Кельтон В. Имитационное моделирование. - СПб: Питер, 2004. - 847 с.

6.Хубаев Г.Н., Щербаков С.М. Интеграция визуального и имитационного моделирования деловых процессов предприятия: принципы и инструментарий // Проблемы современной экономики. - №

3. - 2008. - С. 252-258.

7.Balsamo S., Marzolla M. Simulation Modeling of UML Software Architectures, Proceedings of the European Simulation Multiconference, Nottingham - UK, Jun 911 2003, Edited by David Al-Dabass, SCS-European Publishing House, pp. 562-567.

8.Bourouis A., Belattar B. JAPROSIM: A Java Framework for Discrete Event Simulation. In Journal of Object Technology, Vol. 7, No. 1, January-February 2008, pp. 103-119.

9.Copstein B., Pereira C.E., Wagner F.R. The Object-Oriented Approach and the Event Discrete Simulation Paradigms. In: 10th European Simulation Multiconference. Budapest, Hungary, June 1996. Proceedings, Society for Computer Simulation, 1996, pp. 57-61.

10. Eriksson Hans-Erik, Penker M. Business Modeling with UML: Business Patterns at Work. John Wiley & Sons, 2000, 459 p.

11.Pan-Wei Ng Business Process Modeling and Simulation with UML // Rational Edge, 2002 Apr, May.

12.SIMFONE: an object-oriented simulation framework by Rossetti M.D., Aylor B., Jacoby R., Prorock A., White A. Proceedings of the Winter Simulation Conference 2000, Joines J.A., Barton R.R., Kang K., and Fishwick P.A., eds. Institute of Electrical and Electronics Engineers, Pis-cataway, New Jersey, pp. 1855-1864.

Bibliographic list

1.Booch G., Object-Oriented Analysis and Design with Applications in C++. 2-nd edition. - М.: Binom, 1999. - 560 p.

2.Vendrov A.M. Methods and tools of business processes modeling // Jetinfo. -2004.-№10(137).

3.Zmeyev O.A., Lezarev A.V. Object Oriented Pattern for Modeling Process Functionality Realization in Simulating Models of Queue Theory System // Herald of Tomsk state University - № 275. - 2002. -pp. 108-111.

4.Lozina E.N., Shcherbakov S.M. Enterprise activity simulation with UML // Problems of federal and regional economy. Scientific notes. Issue 11. - Rostov-Don: RSEU «RINH», 2008. - pp. 166-171.

5.Law A., Kelton W. Simulation modeling.

- SPb: Piter, 2004. - 847 p.

6.Khubaev G.N., Shcherbakov S.M. Integration of visual and simulation modeling of business-processes of the enterprise: principles and toolkit // Problems of modem economics, № 3(27). - 2008. - pp. 252-258.

7.Balsamo S., Marzolla M. Simulation Modeling of UML Software Architectures, Proceedings of the European Simulation

Multiconference, Nottingham - UK, Jun 9-

11 2003, Edited by David Al-Dabass, SCS-European Publishing House, pp. 562-567.

8.Bourouis A., Belattar B. JAPROSIM: A Java Framework for Discrete Event Simulation. In Journal of Object Technology, Vol. 7, No. 1, January-February 2008, pp. 103-119.

9Copstein B., Pereira C.E., Wagner F.R. The Object-Oriented Approach and the Event Discrete Simulation Paradigms. In: 10th European Simulation Multiconference. Budapest, Hungary, June 1996. Proceedings, Society for Computer Simulation, 1996, pp. 57-61.

10.Eriksson Hans-Erik, Penker M. Business Modeling with UML: Business Patterns at Work, John Wiley & Sons, 2000, 459 p.

11. Pan-Wei Ng Business Process Modeling and Simulation with UML // Rational Edge, 2002 Apr, May.

12.SIMFONE: an object-oriented simulation framework by Rossetti M.D., Aylor B., Jacoby R., Prorock A., White A. Proceedings of the Winter Simulation Conference 2000, Joines J.A., Barton R.R., Kang K, and Fishwick P.A., eds. Institute of Electrical and Electronics Engineers, Pis-cataway, New Jersey, pp. 1855-1864.