Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Материалы тренинга по AnyLogic

.pdf
Скачиваний:
218
Добавлен:
28.03.2015
Размер:
12.93 Mб
Скачать

Динамическоесобытие. Реализациясервера

Может запланировать несколько событий на разные моменты времени

Несколько событий может быть запланировано одновременно

 

 

Имя:

Processing

Параметр:

transaction типа Transaction

 

 

Сервер с бесконечной мощностью

Прибывает транзакция tr: create_Processing( uniform(1,3), tr );

 

_… create_…

_…

 

 

 

finished()

 

finished() finished()

 

 

 

 

 

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

41

 

Низкоуровневые/высокоуровневыеконструкции

Можноли моделироватьбизнес процессы, производство, системы обслуживанияс помощью событийили диаграмм состояний?

дискретно событийную модель

 

 

• Иногда даже нужно, поскольку, например, алгоритм работы

,

,

, . .

задавать с помощьюдиаграмм состояний или событий

• Нов общем случае они слишком низкоуровневые: хочется

моделироватьвтерминахзаявок/транзакций, ресурсов,

очередей, ит.п.

Для этогоAnyLogic включает библиотекуEnterprise Library

• Это коллекция высокоуровневых объектов, позволяющих моделироватьв стиле потоковыхдиаграмм

Эти объекты сами собраны из событий, диаграмм состояний и

Java – и они могутвзаимодействовать с низкоуровневыми примитивами

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

42

Дискретно событийноемоделирование. ж. ордон е

Заявкии ресурсы(пассивныеобъекты).

Диаграммыпроцесса(Очереди, элементы задержкиит.д.)

[источник]

 

 

 

 

 

 

 

 

 

 

 

 

 

[выход]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Клиент

 

 

 

 

 

 

Нужно

да

 

 

 

 

Сервис

 

 

Клиент

 

 

 

 

 

 

 

 

 

 

 

 

 

к кассиру

 

 

 

“у окошка”

 

 

 

 

 

 

 

 

 

 

 

 

приходит

 

 

 

 

 

 

 

 

 

 

 

уходит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

-

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[заявки]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[очередь+задержка]

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кассиры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[ресурс]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

 

 

 

 

 

 

 

 

43

БиблиотекаAnyLogic Enterprise Library

• Высокоуровневый интерфейс для быстрого создания моделейв стиле блок схем.

• Построение моделейв стиле “перетащить и оставить

• Взаимодействиес другимиэлементамиязыка моделирование AnyLogic

• Гибкостьирасширяемостьмоделей

• Все блоки библиотеки– активные объекты, “ ” (портов, диаграмм состояний, событий)

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

44

ПримерпростойДСмодели

Заявки прибывают согласно:

Вместимость: 100

Время задержки:

Действие

Интенсивности

Действие при входе:

triangular( 0.5, 1, 1.5 )

при выходе:

Интенсивность прибытия: 1

Действие при

Вместимость: 1

 

Количество заявок, прибывающих

подходе к выходу :

Действие при входе:

 

за один раз: 1

Действие при выходе:

Действие при выходе:

 

Новая заявка: new Entity()

Разрешить уход

Фигура анимации:

 

Действие при выходе:

по таймауту:

 

 

Фигура анимации заявки:

Фигура анимации:

 

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

45

ПараметрыобъектовEnterprise Library

Статические параметры:

 

 

 

 

 

 

 

Вычисляютсяодин раз; могут бытьизменены в

 

 

процессе моделирования

 

 

 

 

 

 

Динамическивычисляемые

 

 

 

 

выражения:

 

 

 

 

 

Время задержки:

 

 

Вычисляютсяпри каждомвызове

 

 

 

,

,

exponential( 1 )

 

 

каждыйраз при определении времени

Условие:

 

 

задержки, скорости илидр. свойств заявки

entity.type == VIP

 

 

Текущая заявкавбольшинствеслучаев

доступна

Скорость:

 

как“entity”, “entity1”, …

 

entity.CruiseSpeed

 

Динамически исполняемый код

 

 

 

 

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

Действие при выходе : entity.setColor( Color.red ); Действие при входе: if( entity.airline == “AF” )

entity.destination = gate17;

 

 

 

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

46

 

 

 

 

 

Параметры. Примеры

.

uniform( 2, entity.complexity * 60 )

Delay

onExit: serviced++;

capacity (статический)

onEnter: entity.setColor( Color.red );

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

47

АнимациямоделейEnterprise Library

Общий принцип:

С объектом блок схемы, в котором могут находиться заявки, связывается “направляющая” анимационная фигура

Для фигуры задается один из поддерживаемых ею анимационных типов

Имя: pathDelay

Фигура анимации: pathDelay Тип анимации: Путь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

48

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заявки

• Под заявкамив библиотеке понимаются:

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

• КлассEntity является азовымклассом для всех соо щени , которые посылаютсямежду объектами библиотеки

огут содержать в се е другие заявки

Могут обладать ресурсами

Могут расширяться дополнительными полями данных и методами

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

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

49

Ресурсы

• Ресурсы могутпредставлять:

операторы, станки, критические секции, автомобили, …

Базовым классом для ресурсов является класс

ResourceUnit

Могут расширяться дополнительными полями данных и методами

Имеютстандартнуюанимацию, которуюВы

можете переопределить

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

50

ПравилапересылкизаявокмеждуобъектамEL

input1

input2

Для каждого объекта

определены правила – при

каких условиях принимать заявки.

 

 

 

 

 

 

 

 

 

 

 

Некоторые объекты задерживают

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

явки внут и

я, н к т ы - н т

 

 

 

 

 

 

 

 

 

 

output

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Если заявка должна покинуть объект, а следующий объект не готов ее принять, и заявка не может ждать, то модель останавливается со следующей ошибкой:

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

51

 

 

Блок схемыссоединениямиодин ко многим

 

 

 

 

 

 

Круговое обслуживание

Случайный выбор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выходные порты, готовые

выбирается случайный

 

 

 

 

 

 

 

 

п д ть явки,

,

 

 

 

 

 

 

 

 

 

опрашиваются поочередно

готовы принять заявку

 

 

 

 

 

 

 

 

для обеспечения

(справедливость

 

 

 

обслуживания

гарантируется)

block*

 

=

 

 

 

 

 

 

 

 

 

 

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

52

 

 

 

 

 

 

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

53

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

54

Модельзавода

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

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

Модельзавода

Давайте создадиммодель заводскогоцеха.

Заводпроизводитстиральные машины. Моделируемый

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

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

Цех работаетследующим образом:

• Корпусаи дверцы поступаютв цех и транспортируются конве ерами к ро отус орки.

• Роботсборкисобирает стиральную машину путем присоединения дверцы к корпусу.

• Собранная машина транспортируется конвейером к зоне упаковки, где она упаковывается рабочимив коробку.

• Каждые 10 готовых машин составляют партию товара, которая забирается с завода на грузовике.

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

56

Завод. Фаза1

Для начала мы создадим простуюмодель, котораябудет

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

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

57

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

58

Завод. Фаза1. Шаг1

Выберите Файл|Создать|Модель

из главногоменю

Запустите AnyLogic

НачальнаястраницаAnyLogic

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

59

 

 

ЗапустивAnyLogic, Выувидите Начальную страницу

Начальная страница

Начальная страница играет роль отправной точки при ознакомлениис AnyLogic. Онасодержит краткое описание новыхвозможностей программы, предоставляет доступ к примерам моделей, веб сайтуи форме обратной связи с XJ Technologies.

Принеобходимости Вы можете

моделей из меню AnyLogic:

Справка|Примерымоделей

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

60