Материалы тренинга по AnyLogic
.pdfДинамическоесобытие. Реализациясервера
•Может запланировать несколько событий на разные моменты времени
•Несколько событий может быть запланировано одновременно
|
|
Имя: |
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 |
|
|