Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







СРЕДСТВА ANYLOGIC ДЛЯ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ СИСТЕМ





Основные концепции

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

Для реализации специальных вычислений и описания логики поведения объектов AnyLogic позволяет использовать мощный современный язык Java.

Активные объекты, классы и экземпляры активных объектов. Основ- ными строительными блоками модели AnyLogic являются активные объекты, которые позволяют моделировать любые объекты реального мира.

Класс в программировании является мощным средством, позволяющим структурировать сложную систему. Класс определяет шаблон, в соответствии с которым строятся отдельные экземпляры класса. Эти экземпляры могут быть определены как объекты других активных объектов.

Активный объект является экземпляром класса активного объекта. Чтобы создать модель AnyLogic, вы должны создать классы активных объектов (или использовать объекты библиотек AnyLogic) и задать их взаимосвязи. AnyLogic интерпретирует создаваемые вами графически классы активных объектов в классы Java, поэтому вы можете пользоваться всеми преимуществами объект- но-ориентированного моделирования.

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


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

Это облегчает создание систем со сложной структурой, а также делает активные объекты повторно используемыми. Создав класс активного объекта, вы можете создать любое количество объектов – экземпляров данного класса.

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

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



Встроенный язык Java. AnyLogic является надстройкой над языком Ja- va – одним из самых мощных и в то же время самых простых современных объ- ектно-ориентированных языков. Все объекты, определенные пользователем при разработке модели с помощью графического редактора, компилируются в кон- струкции языка Java, а затем происходит компиляция всей собранной програм- мы на Java, задающей модель, в исполняемый код. Хотя программирование сведено к минимуму, разработчику модели необходимо иметь некоторое пред- ставление об этом языке (например, знать синтаксически правильные конст- рукции).

Средства описания поведения объектов. Основными средствами описа-


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

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

Модельное и реальное время. Понятие модельного времени является базовым в системах имитационного моделирования. Модельное время – это условное логическое время, в единицах которого определено поведение всех объектов модели. В моделях AnyLogic модельное время может изменяться либо непрерывно, если поведение объектов описывается дифференциальными урав- нениями, либо дискретно, переключаясь от момента наступления одного собы- тия к моменту наступления следующего события, если в модели присутствуют только дискретные события. Моменты наступления всех планируемых событий в дискретной модели исполнительная система хранит в так называемом кален- даре событий, выбирая оттуда наиболее раннее событие для выполнения связанных с ним действий. Значение текущего времени в моделях AnyLogic может быть получено с помощью функции time().

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


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

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

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

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

Соотношение физического и модельного времени при работе модели можно понять на таком примере. При коэффициенте ускорения 4, если процес- сор успевает выполнить менее чем за 1 с все операции, которые в модели определены в течение 4-х единиц модельного времени, то он будет ждать до конца секунды. Если же процессор не успевает выполнить все операции, то у него не будет интервала ожидания, и коэффициент ускорения будет меньше того, который установлен пользователем.


Анимация поведения модели. AnyLogic имеет удобные средства представления функционирования моделируемой системы в живой форме ди- намической анимации, что позволяет «увидеть» поведение сложной системы. Визуализация процесса функционирования моделируемой системы позволяет проверить адекватность модели, выявить ошибки при задании логики.

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

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

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


Пользовательский интерфейс

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

Начиная с версии 6.4 AnyLogic предоставляет пользователям возмож- ность использовать шаблоны моделей при создании новых моделей. Чтобы соз- дать новый проект, щелкните по соответствующей кнопке на панели инстру- ментов или выберите пункт меню Файл | Создать проекти затем из ниспа- дающего меню – Модель. Откроется диалоговое окно Новая модель, где зада- ется имя и местоположение нового проекта. Далее следуйте указаниям Масте- ра создания модели. Можно создавать новую модель «с нуля» или использовать шаблон.

При открытии проекта (нового или существующего) AnyLogic всегда открывает среду разработки проекта – графический редактор модели (рис. 1). Рассмотрим основные составляющие этого редактора.

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


Рис. 1

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

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


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

Диаграмма состояний (или стейтчарт – statechart) – это модифицирован- ные графы переходов конечного автомата. Стейтчарт позволяет графически за- дать пространство состояний алгоритма поведения объекта, а также события, которые являются причинами срабатывания переходов из одних состояний в другие, и действия, происходящие при смене состояний. Стейтчарты соответст- вуют стандарту UML. Они сохраняют графический вид, атрибуты и семантику выполнения, определенную в UML (Unified Modeling Language). Стейтчарты в AnyLogic поддерживают следующие типы событий: сигнал – объект может послать сигнал другому объекту, чтобы уведомить его о чем-то; таймаут – в течение заданного промежутка времени в стейтчарте ничего не происходит; событие – событие, при котором значение булево выражения становится

«истина».

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

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


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

грамме.

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

Чтобы создать параметр класса активного объекта (рис. 2), в окне Проектщелкните мышью по классу активного объекта. В окне Свойстващелкните по кнопке Новый параметр.Задайте свойства параметра в открывшемся диалого- вом окне Параметр.

Рис. 2

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


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

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

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

Чтобы соединить порты вложенных объектов, щелкните мышью по кноп- ке панели инструментов Соединитель, а затем щелкните мышью поочередно по обоим портам. Чтобы добавить точку изгиба,щелкните мышью по кнопке панели инструментов Редактировать точки.

Запуск и просмотр модели. Запускать и отлаживать модель можно с по- мощью меню Модельи панели инструментов:

.

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

Для запуска модели щелкните по кнопке Выполнить, затем выберите эксперимент из выпадающего списка. После этого откроется окно презентации,


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

В окне презентации можно увидеть: анимированную диаграмму модели, окна инспекта элементов модели, ожившую анимацию, диаграммы состояний, графики статистики.









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2017 zdamsam.ru Размещенные материалы защищены законодательством РФ.