Введение
В математических моделях (ММ) сложных объектов, представленных в виде систем массового обслуживания (СМО), фигурируют средства обслуживания, называемые обслуживающими аппаратами (ОА), и обслуживаемые заявки, называемые транзактами. Так, в модели производственной линии ОА отображают рабочие места, а транзакты - поступающие на обработку датали, материалы, инструмент.
Состояние СМО характеризуется состояниями ОА, транзактов и очередей к ОА. Состояние ОА описывается двоичной переменной, которая может принимать значения "занят" или "свободен". Переменная, характеризующая состояние транзакта, может иметь значения "обслуживания" или "ожидания". Состояние очереди характеризуется количеством находящихся в ней транзактов. Имитационная модель СМО представляет собой алгоритм, отражающий поведение СМО, т.е. отражающий изменения состояния СМО во времени при заданных потоках заявок, поступающих на входы системы. Параметры входных потоков заявок - внешние параметры СМО. Выходными параметрами являются величины, характеризующие свойства системы - качество ее функционирования. Примеры выходных параметров: производительность СМО - среднее число заявок, обслуживаемых в единицу времени; коэффициенты загрузки оборудования - отношение времен обслуживания к общему времени в каждом ОА; среднее время обслуживания одной заявки. Основное свойство ОА, учитываемое в модели СМО, - это затраты времени на обслуживание, поэтому внутренними параметрами в модели СМО являются величины, характеризующие это свойство ОА. Обычно время обслуживания рассматривается как случайная величина и в качестве внутренних параметров фигурируют параметры законов распределения этой величины.
Имитационное моделирование позволяет исследовать СМО при различных типах входных потоков и интенсивностях поступления заявок на входы, при вариациях параметров ОА, при различных дисциплинах обслуживания заявок. Дисциплина обслуживания - правило, по которому заявки поступают из очередей на обслуживание. Величина, характеризующее право на первоочередное обслуживание, называется приоритетом. В моделях СМО заявки, приходящие на вход занятого ОА, образуют очереди, отдельные для заявок каждого приоритета. При освобождении ОА на обслуживание принимается заявка из непустой очереди с наиболее высоким приоритетом.
Основной тип ОА - устройства, именно в них происходит обработка транзактов с затратами времени. К ОА относятся также накопители (памяти), отображающие средства хранения обрабатываемых деталей в производствееных линиях или обрабатываемых данных в вычислительных системах. Накопители характеризуются не временами обслуживания заявок, а емкостью - максимально возможным количеством одновременно находящихся в накопителе заявок.
К элементам имитационных моделей СМО кроме ОА относят также узлы и источники заявок. Связи ОА между собой реализуют узлы, т.е. характерезуют правила, по которым заявки направляются к тому или иному ОА. Для описания моделей СМО при их исследовании на ЭВМ разработаны специальные языки имитационного моделирования. Существуют общецелевые языки, ориентированные на описание широкого класса СМО в различных предметных областях, и специализированные языки, предназначенные для анализа систем определенного типа.
Сложные функции моделирующего алгоритма могут быть реализованы средствами универсальных языков программирования (Паскаль, Си), что предоставляет неограниченные возможности в разработке, отладке и использовании модели. Однако подобная гибкость приобретается ценой больших усилий, затрачиваемых на разработку и программирование весьма сложных моделирующих алгоритмов, оперирующих со списковыми структурами данных. Альтернативой этому является использование специализированных языков имитационного моделирования.
Специализированные языки имеют средства описания структуры и процесса функционирования моделируемой системы, что значительно облегчает и упрощает программирование имитационных моделей, поскольку основные функции моделирующего алгоритма при этом реализуются автоматически. Программы имитационных моделей на специализированных языках моделирования близки к описаниям моделируемых систем на естественном языке, что позволяет конструировать сложные имитационные модели пользователям, не являющимся профессиональными программистами.
Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык GPSS. Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.
Построение структурной модели схемы.
В соответствии с заданием, структурная схема модели имеет вид:
Рис. 1. Структурная схема модели.
В соответствии с полученной структурной схемой модели, представим её в виде СМО. В нашей модели приоритет транзактов, согласно заданию, одинаков.
Рис. 2. Модель в виде системы массового обслуживания.
Текст программы
GENERATE 8,4 ;генерация транзактов
QUEUE QRAM ;вход в накопитель
QUEUE QN ;вход в очередь к основному каналу
SEIZE OSKANAL ;занять основной канал
DEPART QN ;покинуть очередь к основному каналу
ADVANCE 7,3 ;задержка на обработку
RELEASE OSKANAL ;освободить основной канал
DEPART QRAM ;покинуть накопитель
OUT TERMINATE ;вывод транзактов из модели
GENERATE 170,30,,,1 ;генерация «сбойных» транзактов
PREEMPT OSKANAL,PR,OUT ;захват основного канала
SPLIT 1,REZ ;передача копии транзакта в резервный канал
ADVANCE 20,7 ;задержка на восстановление основного канала
RETURN OSKANAL ;освободить основной канал
TRANSFER ,OUT ;переслать транзакт на блок TERMINATE
REZ QUEUE 1 ;занять очередь
ADVANCE 1,1 ;задержка на запуск резервного канала
DEPART 1 ;покинуть очередь
QUEUE 2 ;вход очередь к резервному каналу
SEIZE RKANAL ;занять резервный канал
DEPART 2 ;покинуть очередь к резервному каналу
ADVANCE 7,3 ;задержка на обработку
RELEASE RKANAL ;освободить резервный канал
TRANSFER ,OUT ; переслать транзакт на блок TERMINATE
;сегмент таймера
GENERATE 7200 ;генерация транзактов через 7200 с
TERMINATE 1 ;вывод транзакта из модели и уменьшение значения счетчика на единицу
START 1 ;установка начального значения счетчика в еденицу
Листинг результатов моделирования.
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 7200.000 28 2 0
NAME VALUE
OSKANAL 10002.000
OUT 10.000
QN 10001.000
QRAM 10000.000
REZ 17.000
RKANAL 10003.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 894 0 0
2 QUEUE 894 0 0
3 QUEUE 894 2 0
4 SEIZE 892 0 0
5 DEPART 892 0 0
6 ADVANCE 892 1 0
7 RELEASE 853 0 0
8 DEPART 853 0 0
OUT 9 TERMINATE 975 0 0
10 GENERATE 42 0 0
11 PREEMPT 42 0 0
12 SPLIT 42 0 0
13 ADVANCE 42 0 0
14 RETURN 42 0 0
15 TRANSFER 42 0 0
REZ 16 QUEUE 42 0 0
17 ADVANCE 42 0 0
18 DEPART 42 0 0
19 QUEUE 42 0 0
20 SEIZE 42 0 0
21 DEPART 42 0 0
22 ADVANCE 42 0 0
23 RELEASE 42 0 0
24 TRANSFER 42 0 0
25 GENERATE 1 0 0
26 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
OSKANAL 934 0.954 7.357 1 978 0 0 2 0
RKANAL 42 0.039 6.703 1 0 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 1 0 42 0 0.006 1.031 1.031 0
2 1 0 42 42 0.000 0.000 0.000 0
QRAM 43 41 894 0 21.064 169.645 169.645 0
QN 6 2 894 126 1.350 10.871 12.654 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
981 0 7201.562 981 0 1
978 0 7205.764 978 7 8
974 1 7323.492 974 0 11
982 0 14400.000 982 0 27
Заключение.
Согластно результатам, приведенным в файле отчета о работе программы среднее время пребывания транактов в магистрале – 169.645 с.; число прерванных сообщений – 42; объем памяти, необходимый для бесперебойной работы магистрали в течение двух часов, равен объему, который занимают 43 транзакта; коэффициент использования резервного канала – 0.039
|