Главная

Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Основные блоки СИМ Арена и их атрибуты.


Имитационная модель компании Systems Modeling включает следующие основные элементы: источники и стоки (Create и Dispose), процессы (Process) и очереди (Queue). Источники – это элементы, от которых в модель поступает информация или объекты. Скорость поступления данных или объектов от источника обычно задается статистической функцией. Сток – это устройство для приёма информации или объектов. Понятие очереди близко к понятию хранилища данных – это место, где объекты ожидают обработки.

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

Транзакт (entity, в терминах системы Arena) – это динамический объект имитационной модели, который перемещается между статическими узлами модели. Примеры транзактов – деталь, автомобиль, клиент, документ и т.д. В модели может участвовать несколько транзакты разных типов, которые задаются разработчиком модели. Тип транзакта может меняться динамически, например, на каком-то этапе транзакт «машинокомплект» меняет свой тип на «автомобиль». Транзакту соответствует картинка для анимации, с ее помощью можно следить за перемещениями транзактов между модулями и за обработкой транзактов. Характеристики транзактов задаются с помощью атрибутов. Существуют системные атрибуты, установленные по умолчанию. Например, «время существования транзакта» (Total Time), «серийный номер транзакта» (Serial Number), тип транзакта (Entity Type) и т.д. Имеется атрибут «картинка» (Entity Picture), поменяв программно его значение можно изменить визуальное изображение транзакта.

Модуль Create (генератор транзактов) – вводит транзакты в модель. Например, покупатели приходят в магазин, суда прибывают в порт, в службу поддержки поступают звонки и т.д.

Для модуля задаются такие параметры: - название модуля (Name);

- тип поступающего транзакта (Entity type);

- интервал между прибытиями транзакта (Time Interval);

- число транзактов при каждом поступлении (Entities per arrival);

- максимальное число поступлений (Max Arrivals).

Модуль Dispose (терминатор транзактов) – выводит транзакты из модели (уничтожает транзакты). Например, покупатели после покупки товара, покидают магазин.

Модуль Process (обработка, действие) – моделирует обработку транзактов: обслуживание покупателей продавцом, разгрузку судна, ремонт телевизора и т.д. Обратим внимание, что с точки зрения имитационной модели «обработка» означает задержку транзакта на определенное время, содержательный смысл этой задержки определяется исследователем. Обработка транзактов может потребовать использования ресурсов. Так, для сверления детали нужен соответствующий станок, для обслуживания покупателя – продавец и т.п.

Модуль ветвления Decide – направляет входящие транзакты по одной из исходящих ветвей в зависимости от условия или случайным образом. Существует два варианта модуля Decide – «По вероятности» (by chance) или по условию (by condition).

Модуль Assign обеспечивает присвоение значений переменным модели и атрибутам транзакта, проходящего через модуль. Может выполнять сразу несколько присвоений. Кнопками Add, Edit и Delete можно вести список присвоений. При этом открывается специальное окно, где указывается тип присвоения, имя пере- менной или атрибута, присваиваемое значение.

Модуль Batch (в дословном переводе “партия”) представляет собой группировочный механизм в рамках имитационной модели. Партии объектов могут группироваться постоянно или временно. Временные партии в дальнейшем должны быть разбиты с использованием модуля Separate.

Queue (Basic Process) –данный модуль (в дословном переводе “очередь”) может использоваться для изменения правила ранжирования объектов в указанной очереди. Типичное использование модуля:

ü Реализация стека (вместо обычной очереди) ожидания ресурса в модуле Process;

ü Организация выбора из очереди по значению указанного атрибута, например, для документов в модуле Batch.

Record – данный модуль (в дословном переводе “отчёт”) используется для сбора статистических данных в имитационной модели. Для сбора в модуле доступны различные виды статистической информации, включая статистические (стоимостные и временные) показатели объекта, время между прибытиями объектов в модуль, общие наблюдения и т.п.

 


Основные операторы языка GPSS.

Основные операторы языка GPSS приведены в виде примеров с конкретными значениями подполей в поле переменных.

GENERATE 12,4,50,5,1 - генерация транзактов, интервалы времени между появлениями транзактов распределены равномерно в диапазоне [12-4, 12+4], первый транзакт появится с задержкой в 50 единиц модельного времени, всего будет создано 5 транзактов, приоритет транзактов равен единице.

GENERATE 12,4,50,,1 - то же, но количество генерируемых транзактов неограничено.

SEIZE PLOT - занятие устройства PLOT приходящим на его вход транзактом; если устройство занято, то транзакт задерживается в очереди к этому устройству.

RELEASE PLOT - освобождение устройства PLOT обслуженным транзактом.

ENTER MEM,12- занятие транзактом 12 единиц емкости в накопителе MEM.

LEAVE MEM,*2 - освобождение k единиц памяти в накопителе MEM, гдк k - значение 2-го параметра транзакта.

STR STORAGE 4096 - описание накопителя STR емкостью 4096 единиц.

TERMINATE 3 - удаление транзакта из системы, при этом содержимое итогового счетчика уменьшается на 3 единицы, моделирование заканчивается, если содержимое счетчика станет равным или меньше нуля.

ADVANCE A,B - задержка транзакта на время, определенное содержимым полей A и B, смысл величин, записываемых в этих подполях , такой же, как и в операторе GENERATE.

SPLIT 3,LLL,6 - копирование транзактов, в данном случае создаются три копии исходного транзакта, исходный транзакт направляется в следующий по порядку блок, а созданные копии - в блок с меткой LLL, при этом параметр 6 основного транзакта увеличивается на единицу, а транзактов - копий - на 2, 3, 4 соответственно.

ASSEMBLE 5 - объединение транзактов, первый из вошедших в блок транзактов продолжит движение в системе после того, как в блок придут еще четыре транзакта.

ASSIGN 2,NAP- изменение параметров транзактов, в данном случае второй параметр транзакта получит значение NAP.

TRANSFER ,MET - безусловная передача управления оператору с меткой (номером) MET.

QUEUE SQV- оператор организации очереди, длина очереди SQV увеличивается на единицу.

DEPART SQV - то же, но длина очереди уменьшается на единицу.

PRIORITY 2- транзакту присваивается приоритет 2.

SIMULATE - начальная карта программы, если разработчик намерен выполнить прогон модели. Если эта карта отсутствует, то интерпретатор проверяет правильность записи модели на языке GPSS, но прогона модели не выполняет.

START 100,,25 - занесение значения 100 в итоговый счетчик, вывод накопленных статистических данных производится с интервалом изменения содержимого итогового счетчика в 25 единиц.

Код:

GENERATE 7,2 ; генерирование требований с интервалом [5-9] ед.врем.

QUEUE 1 ; увеличение очереди на одно требование

SEIZE КAN ; Проверка занятости канала KAN

DEPART 1 ; Уменьшение очереди на одно требование

ADVANCE 6,3 ; Обслуживание требование в канале в течении [3-9] ед.врем.

RELEASE КAN ; Освобождение канала KAN

TERMINATE 1 ; Выход требования из системы

START 200 ; Начало моделирования с числом требований 200




Последнее изменение этой страницы: 2016-06-09

headinsider.info. Все права принадлежат авторам данных материалов.