- •Имитационное моделирование в среде Arena 3.0
- •Виды решаемых задач
- •Arena – средство моделирования систем массового обслуживания
- •Три уровня глубины моделирования в Arena
- •Используемые шаблоны модулей
- •Используемые шаблоны модулей (продолжение)
- •Сущность
- •Атрибуты сущности
- •Пример
- •Модуль Симуляция (Simulate)
- •Сервер (Обслуживающее Устройство)
- •Сервер (Обслуживающее Устройство)
- •Входы в систему
- •Модуль Arrive
- •Выходы из системы
- •Модуль Depart
- •Внутрисистемные связи в моделях Arena и их типы.
- •Связь типа «маршрут» (Route)
- •Связь типа «сегмент» (Segment)
- •Связь типа «дистанция» (Distance)
- •Связь типа «сеть» (Network)
- •Связь типа «соединение» (Connection)
- •Связь типа «ссылка на ярлык» (Label)
- •Анализ входных данных (Input Analyzer)
- •Анализ входных данных (продолжение)
- •Анализ выходных данных (Output Analyzer)
- •Анализ выходных данных Итоговый отчет
- •Итоговый отчет (Пример)
- •Согласованная работа анимации и логики
- •Станция
- •Транспортер
- •Конвейер
- •Работа с пакетами сущностей
- •Элементы
- •Объекты требующие обязательного описания через элементы.
- •Блоки
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки. WAIT
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые блоки.
- •Наиболее часто используемые элементы.
- •Наиболее часто используемые блоки.
- •Условные обозначения принятые в объектной модели
- •Arena 3.0 Объектная модель
- •Объектная модель (Описание)
- •Объектная модель (продолжение)
- •Объектная модель (Описание. Продолжение 1)
- •Объектная модель (продолжение)
- •Объектная модель (Описание. Продолжение 2)
- •Объектная модель (Описание. Продолжение 3)
- •Объектная модель (Описание. Продолжение 4)
Транспортер
Модуль Transport перемещает контролируемую им сущность и сам транспортер от одной станции к другой.
Транспортер может также передвигаться самостоятельно: как свободно к требуемой станции по запросу пункта отгрузки (тип связи «дистанция»), так и управляемо к нужной линии или перекрестку (тип связи «сеть»).
Время задержки на передвижении сущности и транспортера от одной станции до другой зависит от скорости транспортера (определяется в модуле Transporter) и дистанции между этими станциями (определяется в модуле Distance или NetworkLink соответственно).
Когда сущность входит в модуль Transport, ее Station атрибут (M) устанавливается к станции назначения. Только затем модуль приступает к транспортировке.
Конвейер
Модуль Convey перемещает сущность на конвейере из ее текущей станции на указанную станцию назначения.
Время задержки на транспортировку сущности от одной станции до другой зависит от скорости конвейера (определяется в модуле Conveyor) и дистанции между станциями (определяется в модуле Segment).
Когда сущность входит в модуль Convey, ее Station атрибут (M) устанавливается к станции назначения. Только затем модуль приступает к транспортировке.
Существует два типа конвейеров, аккумулирующий и не аккумулирующий. По конвейеру первого типа элементы потока всегда движутся. Не аккумулирующий конвейер полностью останавливается для того, чтобы элементы потока помещались на ленту конвейера или изымались с нее. Эти остановки естественно останавливают и все движение элементов потока по всему конвейеру.
Скорость движения конвейера может изменяться в течении прогона модели, модуль Convey хранит значение лишь начальной скорости конвейера.
Работа с пакетами сущностей
Механизм моделирования Arena поддерживает работу не только с одиночными сущностями, но и с пакетами.
В ходе симуляции возможна реализация как слияния нескольких сущностей в пакет (модуль Batch), так и разделение пакета на отдельные сущности (модуль Split), стоит заметить, что это не единственный способ группировки сущностей.
Транспортировка пакета происходит по тем же правилам, что и транспортировка отдельной сущности.
Элементы
Элементы описывают характеристики различных объектов, использующихся в системе.
Пример: Элемент «РЕСУРСЫ» описывает два ресурса «Рабочий» и «Машина».
Большинство объектов в Арена определяется автоматически в момент создания ссылки на них. Но часть объектов должна быть определена вручную с помощью элементов.
При проверке модели, Арена выдаст сообщение об ошибке описания, в случае, когда объект, требующий описания, не был описан.
Объекты требующие обязательного описания через элементы.
Следующие объекты должны быть описаны в специальных модулях:
Транспортеры – модуль Transporter (панель Transfer).
Конвейеры – модуль Conveyor (Transfer панель).
Одно- или двумерные массивы переменных и переменные – модуль Variables (панель Common).
Выражения и массивы выражений – модуль Expressions (панель Common).
Переменные уровней - модуль Container (панель Common).
Кроме указанных панелей более универсальные и сложные элементы хранятся в панели Elements и могут использоваться как вместе так и вместо элементов с других панелей.
Блоки
Все модели, построенные на Арена состоят из блоков.
Главное отличие блока от элемента – наличие функциональной, а не описательной роли. Кроме того, работа любого блока привязана к потоку сущностей, проходящих через него. Т.е. блок активируется только в момент прибытия сущности.
Блок не всегда ассоциируется со станцией, но желательно, в целях облегчения отладки сложных моделей, заполнять поле LABEL для всех участвующих в модели блоков.
Никакой блок не может быть помещен в модель без указания входной и выходной связи. (за исключением блока Create – создает сущность и блока Dispose – уничтожает сущность, в этих случаях обязательна только одна связь.)
Наиболее часто используемые блоки.
Блок Choose (панель Support) |
CHOOSE |
|
Вариант 1 |
||
|
||
|
Вариант 2 |
Описание:
Предоставляет возможность выбора пути следования сущности в зависимости от выполнения проверяемых условий.
Дальнейший путь определяется с помощью графического соединения (см.рисунок) или указанием полей LABEL для точек назначения.
При прибытии сущности проверяется каждое условие из указанных в этом блоке, затем прибывшая сущность (первичная) отсылается по ветке пути, соответствующей первому удовлетворенному условию. В зависимости от выбора режима работы блока этот процесс может продолжиться до того, пока не будут отосланы дубликаты первичной сущности по всем удовлетворенным условиям или по максимальному числу удовлетворенных условий, указанному в блоке.
Если не одно из условие не удовлетворенно – первичная сущность уничтожается.
Наиболее часто используемые блоки.
Блок Chance (панель Support) |
CHANCE |
|
Вероятность 1 |
||
|
||
|
Вероятность 2 |
Описание:
Предоставляет возможность выбора пути следования сущности в зависимости от вероятности выбора каждого из путей. Дальнейший путь определяется с помощью графического соединения (см.рисунок) или указанием полей LABEL для точек назначения.
Сумма вероятностей должна быть равна единице или меньше. При прибытии сущности генерируется случайное число от 0 до 1. В
соответствии с результатом генерации выбирается путь, в пределах кумулятивной вероятности которого находится результат. Например: 0.2,,0.5,,1 – а рез-т генерации 0.632, следовательно это промежуток от 0.5 до 1 – 3 путь.
Если не одно из условие не удовлетворенно (например, если сумма меньше 1 и не указан вариант Else) – первичная сущность уничтожается.
Наиболее часто используемые блоки.
ASSIGN
Блок Assign (панель Support) Присвоение значение 1
Присвоение значение 2
Описание:
Позволяет присваивать значение переменной, атрибуту, уровню, изменять состояние ресурса.
В одном блоке можно делать несколько присвоений. Они будут проходить в последовательно, в том же порядке, в каком они описаны в этом блоке.
При прибытии сущности изменяемое значение или состояние оценивается, рассчитывается и назначается к указанной переменной или ресурсу. Если указан атрибут или изображение сущности, то все вышеперечисленные действия производятся в отношении прибывшей сущности.
Наиболее часто используемые блоки.
Блок Station (панель Blocks)
STATION
Описание:
Применяется, если необходимо указать точку в модели, куда следует передавать сущности (см.пример). Часто применяется в случае, если блок, куда необходимо передать сущность (например блок Match) не имеет поля LABEL, в таком случае расположение блока STATION перед ним и графическое соединение этих блоков позволяют решить эту проблему.