Научная статья на тему 'Организация практикума по компьютерному имитационному моделированию на базе среды ESimPL'

Организация практикума по компьютерному имитационному моделированию на базе среды ESimPL Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
231
81
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ / СРЕДА МОДЕЛИРОВАНИЯ / ТЕХНОЛОГИЯ МОДЕЛИРОВАНИЯ / СОБЫТИЙНЫЙ ГРАФ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бабкин Е. А., Разиньков В. В.

Рассматривается организация и технология моделирования среды имитационного событийного моделирования дискретных систем ESimPL, ориентированной на обучение имитационному моделированию. Описывается структура и содержание практикума по разделу «Имитационное моделирование» дисциплины «Компьютерное моделирование» на базе среды ESimPL.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Организация практикума по компьютерному имитационному моделированию на базе среды ESimPL»

УДК 519.711.3 519.682.6 004.514.2

ОРГАНИЗАЦИЯ ПРАКТИКУМА ПО КОМПЬЮТЕРНОМУ ИМИТАЦИОННОМУ МОДЕЛИРОВАНИЮ НА БАЗЕ СРЕДЫ ESimPL

© 2012 Е. А. Бабкин1, В. В. Разиньков2

1канд. техн. наук, доцент, профессор каф. программного обеспечения и администрирования информационных систем e-mail: eababkin@gmail.com 2аспирант каф. программного обеспечения и администрирования информационных

систем e-mail: razinkov86@gmail.com

Курский государственный университет

Рассматривается организация и технология моделирования среды имитационного событийного моделирования дискретных систем ESimPL, ориентированной на обучение имитационному моделированию. Описывается структура и содержание практикума по разделу «Имитационное моделирование» дисциплины «Компьютерное моделирование» на базе среды ESimPL.

Ключевые слова: имитационное моделирование, среда моделирования,

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

Создание имитационных моделей сложных систем и проведение исследований с этими моделями представляют собой достаточно трудоемкий процесс. Успех проведения имитационных экспериментов существенным образом зависит от инструментальных средств, используемых при моделировании. Используемые инструментальные средства также во многом определяют методику преподавания и содержание раздела «Имитационное моделирование» дисциплины «Компьютерное моделирование», набор основных концептов используемых при моделировании, и как следствие - способ мышления разработчика моделей. Для моделирования процесса функционирования систем в настоящее время используют библиотеки поддержки имитационного моделирования, языки имитационного моделирования и интегрированные среды [Кельтон 2004; Савина 2007].

Использование в учебном процессе языков имитационного моделирования, позволяющих описывать сложные системы, достаточно трудоемко. Интегрированные среды, предоставляющие возможность визуального проектирования моделей, предъявляют высокие требования к вычислительным ресурсам, имеют большую стоимость и ориентированы на промышленное применение, а не на учебный процесс. Последний фактор имеет большое значение, поскольку при изучении компьютерного моделирования ставятся различные задачи: от изучения внутренней организации систем моделирования до решения учебных задач с помощью систем моделирования. В связи с этим в практикуме в качестве инструментального средства используется разработанная нами среда имитационного моделирования дискретных систем ESimPL [Бабкин, Разиньков 2011; Бабкин, Разиньков 2011а]. Данная среда ориентирована на процесс обучения и обладает графическим вводом моделей, что значительно снижает трудоемкость разработки и проверки моделей, а также повышает наглядность процесса моделирования. ESimPL позволяет проводить различные эксперименты с моделью, по ходу которых изменять их условия и наблюдать за состоянием всех объектов модели и

самой системы моделирования. Все это повышает эффективность обучения компьютерному моделированию. Среда ESimPL базируется на использовании событийных графов для представления процесса функционирования исследуемой системы [Бабкин 2005] и метода синтеза событийных графов [Бабкин 2006].

В настоящее время существуют две основные разновидности систем и сред имитационного моделирования (СИМ): процессные (процессно-ориентированные) и событийные (событийно-ориентированные).

В процессных СИМ поведение системы представляется в виде взаимосвязанной последовательности действий. Основными концептами в этом случае являются действия.

В событийных СИМ поведение системы представляется в виде взаимосвязанной последовательности событий. Основными концептами в этом случае являются события.

Событийные модели представляют процесс функционирования исследуемой системы в терминах событий и определяют событийное мышление разработчика моделей, то есть мышление в терминах событий. Выделяются два уровня представления событийных моделей: уровень математической модели - событийный граф и уровень программной модели - в виде совокупности процедур макрособытий на языке программирования высокого уровня с использованием системы поддержки имитационного моделирования, представляющей собой библиотеку процедур и функций или классов на данном языке программирования. В связи с этим событийная система моделирования дискретных систем включает два языка: язык визуального моделирования и язык программирования модели [Бабкин, Разиньков 2011; Бабкин, Разиньков 2011 а].

Для визуального представления событийных моделей на уровне математической модели в соответствии с подходом, изложенным в работе [Бабкин 2006], используются графические и внутренние элементы модели.

Элементами модели, имеющими свои графические обозначения, являются событие, условие, начало и окончание распараллеливания процесса и дуги четырех типов: мгновенного следования, следования с задержкой, мгновенной отмены и отмены события с задержкой [Там же]. Основным графическим элементом модели является событие.

Внутренними элементами, не представляемыми графически, являются статические и динамические объекты и переменные модели. Статическими объектами являются средства (каналы), очереди и ресурсы; динамическими объектами - процессы и активности. Каждому объекту ставится в соответствие два события изменения состояния: занятие и освобождение - для статического объекта, начало и конец выполнения - для динамического. Переменные разделяются на две разновидности: глобальные переменные модели (переменные процесса моделирования) и переменные процесса. Переменная времени языка ESimPL является вещественной переменной двойной точности. Типы переменных включают типы языка С++ и специальные типы: Histogram - гистограмма, TUserProcess - указатель процесса. Переменная типа Histogram (<нижняя граница>, <верхняя граница>, <число интервалов>) используется для накопления статистических данных.

Языком программирования моделей среды ESimPL является язык высокого уровня С++, дополненный библиотекой поддержки имитационного моделирования. Язык моделирования ESimPL является развитием событийно-ориентированного языка SMPL [Автоматизация проектирования 1979] и разработан с использованием объектноориентированного подхода. Программная модель генерируется на языке С++, в тексте которой используются операторы языка ESimPL, реализованные в виде вызова методов граничного класса библиотеки поддержки имитационного моделирования. Язык

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

Основу библиотеки составляют 7 классов, разделенных на 3 группы:

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

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

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

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

- операторы определения в модели статических объектов (средств, очередей, ресурсов);

- операторы изменения и проверки состояний статических объектов;

- операторы создания и удаления в модели динамических объектов (процессов);

- операторы работы с событиями (планирование, отмена и выбор очередного события из списка запланированных);

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

- оператор генерирования отчёта по результатам моделирования.

Программные средства среды ESimPL включают CASE-средство разработки

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

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

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

2. Создание концептуальной модели: содержательное описание модели

(текстовое описание, временные диаграммы, блок-схемы); проверка полноты и адекватности модели.

3. Создание математической модели на графическом языке ESimPL: выделение статических и динамических объектов; определение возможных состояний объектов;

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

4. Создание программной модели: генерация исходного кода программной модели на языке С++; верификация программной модели путем детерминированного и стохастического тестирования.

5. Проведение эксперимента: планирование эксперимента; выполнение

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

В работе Е.А. Бабкина [2008] изложен подход к преподаванию дисциплины «Компьютерное моделирование», основанный на использовании событийных графов [Бабкин 2005] для представления моделей. При построении раздела практикума «Имитационное моделирование» используется принцип «от простого к сложному», то есть от изучения и исследования готовых моделей к самостоятельному созданию моделей. В практических работах варьируются прикладные области моделирования. Для уменьшения повторяемости и увеличения вариативности заданий имеется избыточное число практических работ и избыточное число заданий по ним. Практикум включает следующие разделы (практические работы):

1. Исследование системы массового обслуживания (СМО).

2. Событийные модели дискретных систем. Язык моделирования ЕБ1шРЬ.

3. Калибровка и проверка пригодности модели.

4. Планирование и выполнение имитационного эксперимента.

5. Сетевые модели планирования и управления.

6. Реализация генераторов псевдослучайных чисел.

В работе 1 используется готовая программная модель одноканальной и многоканальной СМО и СМО с циклическим обслуживанием. Задачей студента является проведение имитационного эксперимента, построение зависимостей среднего времени обслуживания заявки в системе от среднего времени поступления заявки и от среднего времени обслуживания заявки в канале, выполнение расчетов с использованием аналитической модели и сравнение результатов эксперимента с результатами расчетов. В работах 2-5 используется среда имитационного моделирования дискретных систем ЕБ1шРЬ. Причем в работе 2 студент знакомится с представлением модели СМО в виде событийного и макрособытийного графа и технологией работы в среде моделирования. В готовый событийный граф вносятся изменения в соответствии индивидуальным заданием, корректируются

макрособытийная и программная модели, выполняется прогон модели, по результатам прогона строится событийная временная диаграмма. В работах 3 и 4 на основании индивидуального задания студент разрабатывает событийную модель, выполняет детерминированную и стохастическую проверку программной модели, планирует и выполняет эксперимент, строит зависимости и выполняет их анализ. В работе 5 выполняется разработка и исследование сетевой модели планирования и управления с использованием событийных графов, в работе 6 - программирование генераторов псевдослучайных чисел на языке программирования высокого уровня.

Достоинством предлагаемого практикума на базе среды ЕБ1шРЬ является наглядное визуальное моделирование событийного алгоритма функционирования системы, развивающее событийное мышление студента и сокращающее трудоемкость разработки модели. Возможность внесения изменений в программную модель на уровне языка программирования делает данную среду моделирования достаточно

гибким инструментом решения различных студенческих заданий. Разработанный практикум по разделу «Имитационное моделирование» дисциплины «Компьютерное моделирование» внедрен в вузовский учебный процесс для различных специальностей направления «Информатика».

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

Автоматизация проектирования вычислительных систем. Языки, моделирование и базы данных / под ред. М. Брейера. М.: Мир, 1979. 836 с.

Бабкин Е. А. Событийные модели дискретных систем / Курск. гос. ун-т. Курск, 2005. 18 с. Деп. в ВИНИТИ 14.01.05, № 30-В2005

Бабкин Е. А. О синтезе событийных моделей дискретных систем [Электронный ресурс] // Ученые записки. Электронный научный журнал Курского государственного университета. 2006. № 1. URL: http://www.scientific-notes.ru/pdf/s15.pdf (дата

обращения: 24.04.2012). № 77-26463

Бабкин Е. А., Бабкина О. М. О преподавании компьютерного моделирования для студентов направления «Информатика» // Вестник Московского городского

педагогического университета. Серия «Информатика и информатизация образования». № 6 (16), 2008. М.-Курск: Курск. гос. ун-т, 2008. С. 11-14

Бабкин Е. А., Разиньков В. В. Учебная система имитационного событийного моделирования // Международный научный журнал Acta Universitatis Pontica Euxinus. Спец. вып.: сб. материалов VII междунар. конф. «Стратегия качества в

промышленности и образовании» - 3-10 июня 2011 г., Варна, Болгария, Т. 3, Днепропетровск, Варна, 2011. С. 562-564.

Бабкин Е. А., Разиньков В. В. Среда имитационного событийного моделирования // Пятая всеросс. науч.-практическая конф. по имитационному моделированию и его применению в науке и промышленности «Имитационное моделирование. Теория и практика» ИММОД-2011: сб. докл. Т. 1. СПб.: ОАО «ЦТСС», 2011. С. 336-340

Кельтон В., Лоу А. Имитационное моделирование. Классика CS. 3-е изд. СПб.: Питер; Киев: Издат. группа BHV, 2004. 847 с.

Савина О.А., Погорелов А.С. Разработка высокоуровневой среды имитационного моделирования JaSim // Третья всеросс. науч.-практическая конф. «Имитационное моделирование. Теория и практика» ИММОД-2007: сб. докл. Т. 1. СПб.: ФГУП ЦНИИТС, 2007. С. 302-305

i Надоели баннеры? Вы всегда можете отключить рекламу.