Слайд 1Имитационное моделирование в среде Arena 3.0
Слайд 2Виды решаемых задач
Оптимизация системы в целом и отдельных ее компонент
по различным качественным и количественным показателям.
Прогнозирование поведения системы на
заданных интервалах времени (в том числе на больших временных интервалах), при заданных начальных условиях.
Оценка значений переменных системы и процессов их изменения в условиях сложных внутрисистемных взаимодействий, а также влияния систем окружения и внешней среды.
Слайд 3Arena – средство моделирования систем массового обслуживания
Основные компоненты типовой простейшей
модели системы:
модуль генерации входящих потоков,
серверы – обслуживающие устройства, являющиеся внутрисистемными
маршрутизаторами элементов потоков,
модуль регистрации выходных потоков,
связи между модулями,
блок управления прогонами моделей.
Генерация
входных
потоков
Слайд 4Три уровня глубины моделирования в Arena
Первый уровень – код на
языке моделирования SIMAN. Генерируется автоматически при создании модели.
Второй уровень
– использование широкого набора стандартных специализированных шаблонов модулей. Они объединены в наборы такие как Common, Support, Blocks, Elements, Transfer. Модули из наборов Common и Transfer представляют собой модули высокого уровня, состоящие из ряда модулей наборов Support, Blocks и Elements.
Третий уровень – использование собственных шаблонов модулей. Обеспечивает высокую скорость создания узкого круга моделей, в случае, если шаблон для создаваемых моделей уже есть. Недостаток – использование оправдано только в случае построения большого количества однотипных моделей .
Слайд 5Используемые шаблоны модулей
Построение модели в Arena происходит путем размещения и
построения взаимосвязей между модулями.
Несмотря на то, что вид и
функции модулей могут значительно различаться, все модули имеют под собой единую основу.
Модули, используемые для моделирования отделения скорой помощи в госпитале могут выглядеть и функционировать совсем по другому, чем модули, используемые для моделирования компьютерной сети; однако, методы, используемые для выбора, размещения, построения взаимосвязей, и установки начальных значений атрибутов будут схожи везде.
Слайд 6Используемые шаблоны модулей
(продолжение)
Все модули организованы в группы, называемые панелями.
Схожие
панели собраны в шаблоны; например, шаблон Arena состоит из Common,
Support, Transfer и других панелей.
Все панели имеют расширение «.tpo», и они могут быть подключены с помощью вкладки “Attach...” на линейке панелей. Высветится диалог, где можно выбрать, какую именно панель нужно подключить.
Как только выбран файл панели, она подключается и каждому модулю панели будет соответствовать иконка на панели.
Слайд 7Сущность
Слово «сущность» - это термин, который означает любую персону, объект
или вещь – как реальную так и абстрактную, которая проходя
через систему может изменять ее состояние.
В каждой отдельно взятой системе может существовать много типов сущностей, и каждая из них может иметь свою специфику, уникальные характеристики называемые атрибутами.
Например, в модели завода сущность может обозначать деталь и иметь атрибуты определяющие ее номер, срок поставки к сборке и приоритет.
В модели компьютерной системы, сущность может обозначать программу, которую надо выполнить и иметь атрибуты определяющие ее требования к ресурсам (CPU, I/O, оперативная память и.т.п.) и ее приоритет.
Слайд 8Атрибуты сущности
Атрибуты элементов потоков имеют произвольный характер, т.е. определяются в
процессе задания параметров модели вручную.
Не существует атрибутов, обязательных для каждого
элемента потока.
Атрибут может быть задан как конкретное числовое значение или как диапазон значений из которого для каждого элемента потока будет выбираться свое значение, согласно выбранному закону распределения плотности вероятностей.
Атрибут может быть представлен как скалярной величиной, так и одно- или двумерным вектором.
Слайд 11Сервер
(Обслуживающее Устройство)
В этом модуле сущность входит на станцию, захватывает
ресурс сервера, делает задержку на осуществление процесса, и перемещается к
другой станции или модулю.
При прохождении сущности через ОУ можно учесть специфику моделируемого объекта, используя различные типы выборки элементов потока из очереди (FIFO, LIFO и по приоритету), задержку на «разгрузку» и «погрузку» и другие настраиваемые параметры сервера.
Понятие абсолютного (вытесняющего) приоритета в Arena не применяется, но возможна его реализация, путем построения комплексных решений.
При прохождении через сервер любые атрибуты сущности могут быть изменены.
Каскадное обслуживание реализуется путем последовательного соединения ОУ.
Слайд 12Сервер
(Обслуживающее Устройство)
В этом примере, элементы потока (клиенты банка) обслуживаются
тремя кассирами (Bank Teller), захватывая один из трех предложенных ресурсов
(время одного из кассиров).
Время обслуживания каждого клиента задано в виде выражения.
По завершению обслуживания клиент будет направлен по одному из трех путей: с вероятностью 5% - к менеджеру, 15% - к окну займов, и 80% - к выходу из банка.
Время в пути - 1 условная единица.
Слайд 13Входы в систему
Входящий в систему поток имитируется генератором сущностей модуля
Arrive.
Модуль Arrive генерирует прибывающие в систему сущности и может определять
начальные значения их атрибутов (в том числе приоритеты), после чего отсылает сущность к следующей станции или модулю.
Генерация может производиться с интервалами определяемыми по любому закону распределения, либо через четко заданный промежуток времени, или только один раз в указанный момент времени.
Сущности могут быть созданы как одиночно, так и пачками, количество их в пачке задается в этом же модуле.
Слайд 14Модуль Arrive
Этот пример иллюстрирует использование поля «Time Between», создающего элементы
потока с определенной частотой.
Элементы создаются пачками по одному «Batch
Size»
Интервал между появлением элемента определяется по экспоненциальному закону распределения с медианой 10 условных единиц времени.
Элементы перемещаются к следующему модулю по связи «Маршрут» к станции «Inspection».
Время, затрачиваемое на перемещение до следующей станции задается константой 2.3 условных единиц.
Слайд 15Выходы из системы
Покидающий систему поток имитируется модулем Depart.
Модуль Depart используется
для сбора статистических данных и изъятия сущностей из модели системы.
Сущность
входящая в этот модуль может также как и в ОУ испытать задержку на «разгрузку».
Несмотря на то, что сущность в данном модуле уничтожается, это значит лишь то, что она покинула рамки моделируемой системы и в дальнейшем ею не контролируется, т.е. физическое уничтожение не обязательно имеет место.
Слайд 16Модуль Depart
Этот пример иллюстрирует использование индивидуальных счетчиков и счетчиков задержек.
Когда
элемент прибывает на эту станцию, счетчик «Good_C» увеличивается на 1.
Время между предыдущим и текущим прибытием элемента на эту станцию фиксируется переменной «Good_Ta».
Слайд 17Внутрисистемные связи в моделях Arena и их типы.
Связь – одна
из главных компонент имитационной модели системы в Arena.
Существует 6 типов
применяемых в моделях связей:
маршрут,
сегмент,
дистанция,
сеть,
соединение,
ссылка на ярлык.
Рассмотрим каждый тип связи подробнее…
Слайд 18Связь типа «маршрут» (Route)
Данный тип связи определяет путь перемещения сущности
между двумя станциями.
Сущность может двигаться в любом направлении вдоль
выбранного пути.
Связь типа «маршрут» используется, когда перемещение сущности между двумя станциями не требует использование транспортера или конвейера, но желательно анимировать перемещение сущности при симуляции.
Анимация
Слайд 19Связь типа «сегмент» (Segment)
Данный тип связи определяет дистанцию между двумя
станциями в наборе сегментов конвейера.
Станция отправления, станция прибытия, и
сама связь используются для создания подходящего набора сегментов, который определяет путь конвейера.
Слайд 20Связь типа «дистанция» (Distance)
Данный тип связи определяет дистанцию между двумя
станциями в наборе дистанций пути транспортера.
Станция отправления, станция прибытия,
и сама связь используются для создания подходящего набора дистанций, которые используются в течение симуляции транспортером перемещающимся между определенными станциями.
Анимация
Слайд 21Связь типа «сеть» (Network)
Данный тип связи определяет характеристики управляемой транспортной
линии (соединение между перекрестками).
Каждая линия состоит из стартового перекрестка, конечного
перекрестка, и одной или нескольких зон равной длины.
Произведение количества всех зон на их длину даст общую длину линии.
Перекрестки могут быть ассоциированы со станциями или же быть самостоятельными.
Анимация
Слайд 22Связь типа «соединение» (Connection)
Данный тип связи определяет станцию, на которую
будет перемещена сущность, после того, как она покинет текущий модуль.
Связь
типа «соединение» используется, когда перемещение сущности между двумя станциями не требует использование транспортера или конвейера и анимировать перемещение сущности между этими станциями нет необходимости.
Соединение
Анимации нет
Слайд 23Связь типа «ссылка на ярлык» (Label)
Данный тип связи полностью аналогичен
предыдущему по выполняемым функциям.
Графического отображения не имеет.
Название следующего модуля для
перемещения туда сущности задается в атрибутах текущего модуля.
Слайд 24Анализ входных данных
(Input Analyzer)
Данный компонент Arena используется для получения закона
распределения вероятностей на основе статистических данных.
Слайд 25Анализ входных данных
(продолжение)
Для подготовки ряда данных, которые нужно использовать в
Input Analyzer, просто создается обычный текстовый файл в ASCII формате,
содержащий произвольные данные.
Любой текстовый редактор или редактор таблиц, такой как Excel, могут быть использованы с целью этой подготовки. Отдельные значения должны разделяться одним или несколькими пробелами. Специальное форматирование документа для этой цели не требуется.
Если используется текстовый редактор, например «Word», убедитесь, что сохранение файла данных происходит в формате “text only”. С помощью этого можно избавиться от ненужного масштабирования, такого как параграфы.
Arena использует расширение «.dst» для таких файлов.
Слайд 26Анализ выходных данных
(Output Analyzer)
Данный компонент Arena позволяет через удобный в
использовании интерфейс просматривать и анализировать выходные данные.
Слайд 27Анализ выходных данных
Итоговый отчет
По окончанию каждой серии прогонов модели, будет
появляться диалог, запрашивающий разрешение на вывод отчета на экран.
При
выборе «Да», открывается стандартный итоговый отчет во внешнем текстовом редакторе. По умолчанию, Arena использует стандартное приложение, используемое в вашей системе для просмотра текстовых документов (на большинстве машин это Notepad) в качестве инструмента для просмотра отчетов. Внутри меню Tools/Options/Settings существует возможность подключить любое приложение, которое поддерживает текстовые файлы вместо Notepad.
При выборе «Нет», мгновенное открытие итогового отчета не происходит, но собранная в результате симуляции информация не пропадает. Итоговый отчет автоматически сохраняется в файл с тем же именем, как и ваша модель, но с расширением «.out». Этот файл может быть просмотрен позже с помощью любого текстового редактора.
Слайд 29Согласованная работа анимации и логики
Согласование между работой анимации и логики
в Arena происходит автоматически.
Для определения анимированных мест в модели используйте
соответствующие типы связей между модулями.
В настройках каждого модуля существует панель, определяющая по какому из типов связей будет передаваться сущность в следующий модуль.
Характер анимации зависит от конкретного типа связи» (см. выше)
Слайд 30Станция
Блок STATION обозначает в модели точку, куда передаются сущности.
Станция
может быть анимирована путем сопоставления анимационных станций с логическими SIMAN
станциями.
Анимированные станции используются для определения маршрутов, дистанций и сегментов, являясь опорными точками маршрутов движения сущностей.
Слайд 31Транспортер
Модуль Transport перемещает контролируемую им сущность и сам транспортер от
одной станции к другой.
Транспортер может также передвигаться самостоятельно: как свободно
к требуемой станции по запросу пункта отгрузки (тип связи «дистанция»), так и управляемо к нужной линии или перекрестку (тип связи «сеть»).
Время задержки на передвижении сущности и транспортера от одной станции до другой зависит от скорости транспортера (определяется в модуле Transporter) и дистанции между этими станциями (определяется в модуле Distance или NetworkLink соответственно).
Когда сущность входит в модуль Transport, ее Station атрибут (M) устанавливается к станции назначения. Только затем модуль приступает к транспортировке.
Слайд 32Конвейер
Модуль Convey перемещает сущность на конвейере из ее текущей станции
на указанную станцию назначения.
Время задержки на транспортировку сущности от одной
станции до другой зависит от скорости конвейера (определяется в модуле Conveyor) и дистанции между станциями (определяется в модуле Segment).
Когда сущность входит в модуль Convey, ее Station атрибут (M) устанавливается к станции назначения. Только затем модуль приступает к транспортировке.
Существует два типа конвейеров, аккумулирующий и не аккумулирующий. По конвейеру первого типа элементы потока всегда движутся. Не аккумулирующий конвейер полностью останавливается для того, чтобы элементы потока помещались на ленту конвейера или изымались с нее. Эти остановки естественно останавливают и все движение элементов потока по всему конвейеру.
Скорость движения конвейера может изменяться в течении прогона модели, модуль Convey хранит значение лишь начальной скорости конвейера.
Слайд 33Работа с пакетами сущностей
Механизм моделирования Arena поддерживает работу не только
с одиночными сущностями, но и с пакетами.
В ходе симуляции возможна
реализация как слияния нескольких сущностей в пакет (модуль Batch), так и разделение пакета на отдельные сущности (модуль Split), стоит заметить, что это не единственный способ группировки сущностей.
Транспортировка пакета происходит по тем же правилам, что и транспортировка отдельной сущности.
Слайд 34Элементы
Элементы описывают характеристики различных объектов, использующихся в системе.
Пример: Элемент «РЕСУРСЫ»
описывает два ресурса «Рабочий» и «Машина».
Большинство объектов в Арена
определяется автоматически в момент создания ссылки на них. Но часть объектов должна быть определена вручную с помощью элементов.
При проверке модели, Арена выдаст сообщение об ошибке описания, в случае, когда объект, требующий описания, не был описан.
Слайд 35Объекты требующие обязательного описания через элементы.
Следующие объекты должны быть описаны
в специальных модулях:
Транспортеры – модуль Transporter (панель Transfer).
Конвейеры – модуль
Conveyor (Transfer панель).
Одно- или двумерные массивы переменных и переменные – модуль Variables (панель Common).
Выражения и массивы выражений – модуль Expressions (панель Common).
Переменные уровней - модуль Container (панель Common).
Кроме указанных панелей более универсальные и сложные элементы хранятся в панели Elements и могут использоваться как вместе так и вместо элементов с других панелей.
Слайд 36Блоки
Все модели, построенные на Арена состоят из блоков.
Главное отличие блока
от элемента – наличие функциональной, а не описательной роли. Кроме
того, работа любого блока привязана к потоку сущностей, проходящих через него. Т.е. блок активируется только в момент прибытия сущности.
Блок не всегда ассоциируется со станцией, но желательно, в целях облегчения отладки сложных моделей, заполнять поле LABEL для всех участвующих в модели блоков.
Никакой блок не может быть помещен в модель без указания входной и выходной связи. (за исключением блока Create – создает сущность и блока Dispose – уничтожает сущность, в этих случаях обязательна только одна связь.)
Слайд 37Наиболее часто используемые блоки.
Блок Choose (панель Support)
Описание:
Предоставляет возможность выбора пути
следования сущности в зависимости от выполнения проверяемых условий.
Дальнейший путь
определяется с помощью графического соединения (см.рисунок) или указанием полей LABEL для точек назначения.
При прибытии сущности проверяется каждое условие из указанных в этом блоке, затем прибывшая сущность (первичная) отсылается по ветке пути, соответствующей первому удовлетворенному условию. В зависимости от выбора режима работы блока этот процесс может продолжиться до того, пока не будут отосланы дубликаты первичной сущности по всем удовлетворенным условиям или по максимальному числу удовлетворенных условий, указанному в блоке.
Если не одно из условие не удовлетворенно – первичная сущность уничтожается.
Слайд 38Наиболее часто используемые блоки.
Блок Chance (панель Support)
Описание:
Предоставляет возможность выбора пути
следования сущности в зависимости от вероятности выбора каждого из путей.
Дальнейший путь определяется с помощью графического соединения (см.рисунок) или указанием полей LABEL для точек назначения.
Сумма вероятностей должна быть равна единице или меньше.
При прибытии сущности генерируется случайное число от 0 до 1. В соответствии с результатом генерации выбирается путь, в пределах кумулятивной вероятности которого находится результат.
Например: 0.2,,0.5,,1 – а рез-т генерации 0.632, следовательно это промежуток от 0.5 до 1 – 3 путь.
Если не одно из условие не удовлетворенно (например, если сумма меньше 1 и не указан вариант Else) – первичная сущность уничтожается.
Слайд 39Наиболее часто используемые блоки.
Блок Assign (панель Support)
Описание:
Позволяет присваивать значение переменной,
атрибуту, уровню, изменять состояние ресурса.
В одном блоке можно делать несколько
присвоений. Они будут проходить в последовательно, в том же порядке, в каком они описаны в этом блоке.
При прибытии сущности изменяемое значение или состояние оценивается, рассчитывается и назначается к указанной переменной или ресурсу. Если указан атрибут или изображение сущности, то все вышеперечисленные действия производятся в отношении прибывшей сущности.
Слайд 40Наиболее часто используемые блоки.
Блок Station (панель Blocks)
Описание:
Применяется, если необходимо указать
точку в модели, куда следует передавать сущности (см.пример). Часто применяется
в случае, если блок, куда необходимо передать сущность (например блок Match) не имеет поля LABEL, в таком случае расположение блока STATION перед ним и графическое соединение этих блоков позволяют решить эту проблему.
STATION
Слайд 41Наиболее часто используемые блоки.
Блок Delay (панель Support)
Описание:
Применяется для организации задержки
сущности в блоке на определенное время.
При прибытии сущности рассчитывается задержка
на основании выражения, указанного в этом блоке. После чего сущность остается в этом блоке до времени равному текущему системному времени модели плюс время рассчитанной задержки.
Слайд 42Наиболее часто используемые блоки.
Блок Dispose (панель Support)
Описание:
Применяется для мгновенного уничтожения
сущности пришедшей в этот блок. Уничтоженная сущность удаляется из системы
и ее номер может быть использован модулем Arrive при генерации новой сущности (на это следует обратить внимание при отладке).
Слайд 43Наиболее часто используемые блоки.
Блок Match (панель Support)
Описание:
Применяется для синхронизации определенного
числа сущностей, ждущих в различных очередях (например при окончательной сборке
продукции для синхронизации поступления упаковки и продукта). Блок Match снимает блокировку на прохождение сущности только в том случае, когда как минимум одна сущность есть в каждой из очередей. Но, если этого недостаточно для синхронизации (например когда в одной очереди разнородная продукция, а в другой разнородная упаковка), то Match позволяет определить атрибут, на основании которого будут извлекаться сущности из очередей. Т.е. для снятия блокировки значение атрибутов должно совпасть.
При прибытии сущности она размещается в одной из очередей (их может быть от двух до пяти) в зависимости от того, к которому из коннекторов присоединена связь по которой поступила сущность. Сущности остаются заблокированными до тех пор, пока не поступят соответствующие ей сущности в остальные очереди этого блока.
Как только снимается блокировка, извлекается по одной сущности из каждой очереди блока. Эти сущности синхронизировано покидают модуль или могут быть уничтожены, это определяется настройками блока Match.
Слайд 44Наиболее часто используемые блоки.
Блоки Wait/Signal (панель Support)
Описание:
Блок Wait применяется для
блокировки сущности до момента получения указанного в блоке сигнала.
При
прибытии сущности в блок Wait, она помещается в очередь, если очередь определена (иначе используется внутренняя очередь блока Wait), до того момента, пока сигнал, сгенерированный блоком Signal не будет принят. При получении сигнала, сущности числом, не превышающим Release Limit указанный в свойствах блока Wait и блока Signal, деблокируются и покидают блок Wait.
Блок Signal посылает значение сигнала, указанное в его свойствах, каждому блоку Wait в модели и деблокирует определенное число сущностей в них(см.выше).
При прибытии сущности в блок Signal, рассчитывается сигнал (если имеет место алгебраическое выражение) и отсылается результат (кодовый сигнал). В это время сущности, блокированные в модулях Wait, ждущие этого сигнала деблокируются и покидают Wait.
Слайд 45Наиболее часто используемые блоки.
Блок Write (панель Support)
Описание:
Применяется для записи данных
в файл или вывода на экран.
При прибытии сущности указанный файл
проверятся на активность (открыт или нет). Если нет, файл открывается автоматически. Значения переменных, атрибутов, или алгебраических выражений, указанных в листинге Write Out, записываются в файл как повторяющаяся группа. Более точно формат определяется в свойствах модуля.
Слайд 46Наиболее часто используемые блоки.
Блок PickStation (панель Support)
Описание:
Применяется для выбора конкретной
станции из нескольких указанных станций. Этот блок осуществляет выбор направления
передачи сущности (аналогично Choose) основываясь на логике отбора станции по критерию, указанному в свойствах блока. Сущность может передаваться как с помощью маршрута, транспорта, конвейера или напрямую к станции через коннектор. При использовании коннектора, выбранная станция сохраняется в сущности как атрибут. Что резко повышает гибкость за счет появившейся возможности передать сущность не сразу к станции, а через любые промежуточные блоки.
Выбор станции основывается на выборе минимального или максимального значения критерия. (Например длины очереди)
Слайд 47Наиболее часто используемые блоки.
Блок FindJ (панель Block)
Описание:
FINDJ производит поиск от
индекса Start of Range до индекса End of Range значения
глобальной переменной которое удовлетворяет указанному условию поиска. J принимает значение индекса в случае если существует значение, удовлетворяющее условию поиска, или J обращается в 0, если в обозначенном промежутке нет значения, удовлетворяющего условию поиска.
При прибытии сущности в FINDJ блок, SIMAN устанавливает индекс J равным Start of Range и проверяет Search Condition (условия поиска). Если значение, хранимое по индексу J соответствует Search Condition, текущее значение J сохраняется. Иначе, индекс J изменяется для проверки следующего значения. Этот процесс продолжается до тех пор, пока не будет найдено значение удовлетворяющее условию поиска, или не будет достигнут индекс End of Range (Конец диапазона).
Начальный индекс, Start of Range, может быть меньше или больше чем конечный индекс, End of Range, так как поддерживается поиск в обе стороны.
Слайд 48Наиболее часто используемые блоки.
Блок Duplicate (панель Support)
Описание:
Duplicate блок создает точные
копии прибывшей сущности и отсылает их к присоединенным блокам или
блокам, LABEL которых указан в свойствах блока Duplicate.
При прибытии сущности указанное число копий исходной сущности отсылается к присоединенным блокам. Исходная сущность проходит через блок без изменений и задержек. Все атрибуты и их значения в копии полностью соответствуют оригиналу.
Слайд 49Наиболее часто используемые элементы.
Элемент QUEUES определяет общее число очередей, их
имена, критерий сортировки и закрепленный за каждой очередью блок QUEUE.
Элемент
Variables определяет задаваемые пользователем (не системные) глобальные переменные и их начальные значения. Ссылаться на эти переменные в модели можно с помощью их имени. Переменные также могут быть заданы как векторы значений или в виде матриц.
Элемент Expressions определяет алгебраические выражения и связанные с ними значения. Ссылки на выражения организовываются при помощи ссылок на их имя. Выражения также могут быть представлены в форме векторов и массивов.
Слайд 50Наиболее часто используемые блоки.
Блок VBA (панель Blocks)
Описание:
VBA блок отсылает сущность
к пользовательской Microsoft® Visual Basic® for Applications процедуре, которая добавляется
в модель с помощью Visual Basic редактора вызываемого в меню Tools.
При прибытии сущности, управление передается в VBA процедуру. Номер VBA Cookie указывается в VBA блоке, он уникален для каждого VBA блока в модели или шаблоне. Необходимо вручную создавать процедуру соответствующую каждому VBA блоку в Visual Basic редакторе, автоматически генерируются только название процедуры и объекта. Например VBA блок со значением Cookie равным 1 будет иметь соответствующую процедуру в Visual Basic с названием VBA_Block_1_Fire (и Object с названием VBA_Block_1).
VBA Cookie номер
Слайд 51Условные обозначения принятые в объектной модели
Общий вид элементов объектной модели:
Каждый элемент модели представлен в виде взаимодействия различных объектов между
собой, что дает возможность проследить иерархию любых групп объектов системы, используя данную модель:
Слайд 52Arena 3.0
Объектная модель
ThisDocument
VBE
Приложение
Модель
Модели
SIMAN
Отображение
Модуль
Модуль
Слайд 53Объектная модель
(Описание)
Объект «ThisDocument» доступен для использования только в Microsoft
Visual Basic for Application (VBA).
Так как Arena 3.0 является Windows
приложением, то любая построенная в ней модель является объектом-потомком класса ThisDocument, что используется для обеспечения возможности импорта – экспорта данных между ареной и другими приложениями, например, такими как Microsoft Office.
В Арене может быть открыто сразу несколько окон моделей, что упрощает моделирование путем использования примеров и ранее созданных систем.
Каждая модель в Арене имеет свое отображение, определяющее взаиморасположение и взаимосвязь между используемыми модулями.
Изображение обеспечивается графическими образами модулей.
Если объект типа «образ» представляет собой группу элементарных объектов, то он также включает в себя собственную подгруппу образов.
Слайд 54Объектная модель (продолжение)
Приложение
Модель
Зона парковки
Зона парковки
Зона захвата
ресурса
Перекресток
Перекресток
Слайд 55Объектная модель
(Описание. Продолжение 1)
Все объекты, которые так или иначе
графически отображаются в модели, имеют свойство «образ», что дает им
доступ ко всем свойствам и методам, хранящимся в объекте «образ» (такими как цвет, фигура, наборы фигур и т.п.).
Каждая модель в Арене имеет особый «SIMAN модуль», реализующий большое количество дополнительных методов управления прогонами модели.
Все модели в Арене состоят из некоторого множества «Модулей», которые в свою очередь могут как иметь, так и не иметь свое графическое отображение в модели, но в любом случае все они имеют «описание».
«Описание» - это не только вербальное описание функций модуля, но и одна или целый набор С-процедур, реализующих функции данного модуля, а также список значений операторов данного модуля.
Слайд 56Объектная модель (продолжение)
Приложение
Модель
Изображение ресурса
Слайд 57Объектная модель
(Описание. Продолжение 2)
«Соединения» используются для создания логической связи
между двумя модулями.
Существует возможность вставки в модель ActiveX объекта извне.
При
необходимости построения управляемой транспортной сети, в модели используются «Перекрестки».
Перекресток, как и станция, имеет «зону парковки» – некоторую область, во время нахождения в которой, элемент потока ассоциируется с данным перекрестком.
«Статичные изображения» используются в тех случаях, где необходим фоновый рисунок.
В модели всегда присутствует некоторое количество «станций» – опорных точек для перемещения элементов потоков.
Слайд 58Объектная модель
(Описание. Продолжение 3)
Станция имеет «зону парковки» – некоторая
область, во время нахождения в которой атрибуту Station (текущая станция)
элемента потока присваивается значение эквивалентное идентификатору данной станции.
«Изображение ресурса» используется для визуализации процесса захвата ресурса в ходе прогона модели.
Каждому ресурсу ставиться в соответствие «зона захвата ресурса», где могут находиться только элементы потока получившие доступ к данному ресурсу.
Для того, чтобы задать внешний вид транспортера используется объект «Изображение транспортера».
Для «Маршрутов», «Сегментов», «Дистанций» и «Сетей» ключевыми атрибутами всегда являются пункты отправления и прибытия.
Слайд 59Объектная модель
(Описание. Продолжение 4)
«Модули измерения времени», «Гистограммы», «Диаграммы уровней»
и «Обычные диаграммы» являются вспомогательными элементами модели и используются для
отображения результатов прогона в реальном времени.
«Очереди» и «Хранилища» используются с одной целью – хранить элементы потоков перед их обработкой или доставкой, но эти элементы имеют различный смысл. Главное их отличие – хранилище независимо от конкретного сервера.
В блоке «Переменные» хранятся все переменные модели.