Компонента SimEvents
Для открытия библиотек SimEvents следует в командной строке набрать
simeventslib (Файзутдинов Р.Н., 2013). В появившемся окне отображены
иконки, представляющие все разделы библиотеки блоков simevents
(рис. П3.14).
Основные блоки, описывающие ключевые процессы для моделирования
СМО: генерации сущностей (блок Time-Based Entity Generator), хранения
сущностей в очереди (блок – FIFO Queue), обслуживания сущностей (блок –
Single Server), завершения путей сущностей (блок Entity Sink) и отображения
информации о ходе моделирования (блок – Signal Scope).
180
Рис. П3.14. Окно библиотеки SimEvents
1. Time-Based Entity Generator (Раздел Generators/Entity Generator) – блок
генерирует сущности в моменты времени, определяемые входным сигналом
или статистическим распределением (рис. П3.15).
Рис. П3.15. Генератор сущностей
Порядок генерирования определяется значением параметра Generate
entities upon: Intergeneration time from dialog – моменты времени генерации
определяются в зависимости от параметров в диалоговых полях блока
(рис. П3.16).
181
Рис. П3.16. Параметры блока генерации сущностей
Тип распределения моментов генерации определяется полем Distribution.
Возможные значения:
Constant (постоянное) – постоянное время между генерируемыми
событиями задается в поле Period.
Uniform (равномерное) – случайное равномерное распределение
задается диапазоном в полях Minimum и Maximum.
Exponential
–
экспоненциальное
распределение
задается
параметром Mean (среднее).
При установке параметра распределения в значения Uniform или
Exponential в диалоговом окне имеется также параметр Initial seed,
определяющий генерируемый набор случайных чисел. Для фиксированного
значения этого параметра случайная последовательность при следующем
запуске
модели
повторится.
Типично,
значение
этого
параметра
устанавливается в большое (например, пятизначное) нечетное число.
Intergeneration time from port t – моменты времени генерации
определяются через сигнальный порт t, информация с которого считывается
при старте моделирования и в каждый момент генерации новой сущности.
Сигнал должен быть событийным (event-based). Если выставлено это значение,
то у блока появляется дополнительный сигнальный порт t.
Для сбора статистики блока нужно отметить галочкой нужные сигналы на
вкладке Statistics в панели свойств блока. Если отмечен соответствующий
пункт, то у блока появляется новый сигнальный выходной порт, на который
182
выводится соответствующая статистическая информация. Например, #d – число
сущностей покинувших блок после начала моделирования; w – cреднее время
между генерациями сущностей.
2. FIFO Queue (рис. П3.17) – блок одновременно хранит до N сущностей,
где N – значение параметра Capacity (Емкость). Блок пытается выпустить
сущность через выходной порт OUT, однако если порт OUT блокирован, то
сущность остается в блоке. Если в блоке хранятся несколько сущностей, то
сущности покидают блок в соответствии с дисциплиной первый вошел –
первый вышел (first in – first out (FIFO)). Если блок уже хранит N сущностей, то
входной порт IN блока не доступен.
Рис. П3.17. Блок хранения сущностей в очереди
Для сбора статистики блока нужно отметить галочкой нужные сигналы на
вкладке Statistics в панели свойств блока (рис. П3.18). Если отмечен
соответствующий пункт, то у блока появляется новый сигнальный выходной
порт, на который выводится следующая статистическая информация:
#d – число сущностей покинувших блок через порт OUT после начала
моделирования;
#n – число сущностей в очереди;
w – среднее время ожидания в этом блоке для всех сущностей,
покинувших блок через любой порт;
len – среднее число сущностей в очереди по времени, то есть средний по
времени сигнал #n.
Рис. П3.18. Параметры блока хранения сущностей в очереди
183
3. Single Server (рис. П3.19) – блок обслуживает одновременно одну
сущность за некоторый интервал времени и затем пытается выпустить
сущность через выходной порт OUT. Если порт OUT блокирован, то сущность
остается в блоке до тех пор пока выходной порт не разблокируется.
Рис. П3.19. Блок обслуживания сущностей
Время обслуживания (Service Time) определяется через параметры,
атрибуты или сигналы в зависимости от значения параметра Service Time From.
Блок определяет время обслуживания сущности при ее поступлении. Времена
обслуживания определяются в секундах.
Значения параметра Service Time From:
Dialog – значения времени обслуживания задаются в поле параметра
Service Time;
Attribute – значения времени обслуживания задаются атрибутом, имя
которого указано в поле параметра Attribute name;
Signal port t – значения времени обслуживания задаются через
сигнальный порт t. Сигнал должен быть событийным (event-based). Если
выставлено это значение, то у блока появляется дополнительный сигнальный
порт t.
Для сбора статистики блока нужно отметить галочкой нужные сигналы на
вкладке Statistics в панели свойств блока. Если отмечен соответствующий
пункт, то у блока появляется новый сигнальный выходной порт, на который
выводится следующая статистическая информация (рис. П3.20):
#d – число сущностей покинувших блок через порт OUT после начала
моделирования;
#n – число сущностей в сервере, 0 или 1;
w – среднее время ожидания в этом блоке для всех сущностей,
покинувших блок;
util – утилизация сервера, то есть доля времени моделирования,
использованная на хранение сущностей. В начале моделирования утилизация
равна 0 или 1 в зависимости от того хранит ли сервер сущность.
184
Рис. П3.20. Параметры блока обслуживания сущностей
4. Для завершения путей сущностей используется блок Entity Sink
(рис. П3.21).
Рис. П3.21. Блок завершения путей сущностей
Параметры блока (рис. П3.22):
Input port available for entity arrivals – если выбран этот параметр, то блок
принимает прибывающие сущности, в противном случае – блок сущности не
принимает, а при попытке прибытия сущности выдается сообщение об ошибке.
Report number of entities arrived, #a – при выборе параметра у блока
появляется сигнальный порт #a, на котором после каждого прибытия сущности
выдается информация о количестве принятых блоком сущностей. Начальное
значение сигнала после начала моделирования до первого обновления блока
равно 0.
5. Для вывода результатов моделирования в виде графиков используется
блок Signal Scope из раздела библиотеки SimEvents Sinks (рис. П3.23).
Блок создает график, используя данные из событийного сигнала. Данные,
откладываемые по вертикальной оси, берутся из сигнала, связанного с входным
сигнальным портом in.
185
Рис. П3.22. Параметры блока завершения путей сущностей
Рис. П3.23. Блок для построения графиков
Параметры блока (рис. П3.24):
Plot type – тип графика: Stair – ступенчатый; Continuous – непрерывный.
Тип графика не меняет дискретный сигнал на непрерывной, а только
определяет способ отображения графика.
Данные для горизонтальной оси определяются параметром X value from:
Event time – выводится график данных с порта in по времени моделирования;
Index – выводится график данных с порта in по их индексу, т.е. первое значение
имеет индекс 1, второе – 2 и т.д.
Рис. П3.24. Параметры блока построения графиков.
Ольга Владимировна
Достарыңызбен бөлісу: |