Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

События и таймер модельного времени




Для организации процесса моделирования во времени в системе GPSS используется специальная переменная – таймер модельного времени. Эта переменная может изменяться только в сторону увеличения. В первых версиях языка GPSS предполагалось, что таймер модельного времени может принимать только целые значения. Данное ограничение отменено в системе GPSS World.

Следует четко понимать отличие времени моделирования и модельного времени. Модельное время – это значение переменной “таймер модельного времени”, которое является образом реального времени моделируемой системы. А время моделирования – это время, затраченное компьютером на выполнение имитационного эксперимента – “прогонов” модели. Очевидно, что время моделирования зависит не от того, какой реальный интервал времени имитируется, а от того, сколько событий происходит в системе.

Событием в системе массового обслуживания называется изменение состояния этой системы. В исследуемой системе прибытие клиента, начало обслуживания и завершение обслуживания являются событиями. Каждое событие происходит в определенный момент времени. Все события можно разделить на две категории: основные и вспомогательные.

Основным называется такое событие, время возникновения которого в ходе моделирования можно запланировать заранее, т.е. рассчитать его до фактического возникновения. Например, основным событием является приход клиента в парикмахерскую. Моделирующий алгоритм GPSS после поступления очередного клиента в парикмахерскую планирует приход следующего клиента, разыгрывая случайное число в соответствие с заданным распределением. Это значение можно интерпретировать как величину интервала времени, которое должно пройти прежде, чем появится следующий клиент. Тогда время появления следующего клиента может быть рассчитано как сумма текущего значения таймера модельного времени и разыгранного значения интервала (см. рис.1.2.).

 

       
   
 
 

 

 


Рис.1.2. Временная диаграмма планирования прихода очередного клиента.

 

Основным также является событие завершения обслуживания клиента. Обслуживание клиента имитируется задержкой на время обслуживания. Завершение обслуживания планируется в тот момент, когда клиент поступает на обслуживание (садится в кресло к парикмахеру). Это делается аналогично процедуре планирования прихода следующего клиента. (см. рис.1.3.).

       
   
 
 

 


Рис.1.3. Временная диаграмма планирования завершения обслуживания клиента.

 

Вспомогательными называются события, время возникновения которых невозможно запланировать заранее. Они являются следствием основных и происходят в те же моменты времени, что и основные события. Примером вспомогательного события является поступление клиента на обслуживание. Оно возникает, если ему непосредственно предшествует основное событие. Например, если возникло основное событие “приход клиента” и парикмахер свободен, то возникает и вспомогательное событие “поступление клиента на обслуживание”. Или если возникло основное событие “окончание обслуживания” и имеются клиенты, ожидающие в очереди, тогда также происходит вспомогательное событие “поступление клиента на обслуживание”.

Таким образом, события в системе происходят только в те моменты времени, в которые запланированы основные события. В интервалах между временем основных событий состояние системы не изменяется. Поэтому для изменения таймера модельного времени в системе GPSS выбран метод переменного приращения значения таймера (принцип Dx). Суть его в том, что значение таймера модельного времени после обработки события увеличивается до значения времени следующего ближайшего события. Пусть, например, разыгранные значения интервалов времени между приходами клиентов составляют:

14, 13, 17, 15,…;

а разыгранные значения времени обслуживания клиента составляют

18, 12, 14,…

Временная диаграмма изменения состояний системы показана на рис.1.4. На этой диаграмме ось t1 показывает моменты поступления клиентов в парикмахерскую, а ось t2 показывает обслуживание клиентов парикмахером. Поскольку на нее пунктиром спроектированы моменты поступления клиентов, она фактически показывает все моменты времени, в которые в системе происходят какие-либо события. Таким образом, из этой диаграммы очевидно, что таймер модельного времени будет получать последовательно следующие значения: 14, 27, 32, 44, 58, 59,… В таблице 1.1. перечислены события, который должны быть промоделированы в эти моменты времени.

 

Приход 4-го клиента  
Приход 3-го клиента  
Приход 2-го клиента  
Приход 1-го клиента

 
 

 

 


 
 
 
 
 
 
 

 

Рис.1.4. Временная диаграмма изменения состояний моделируемой системы

 

Таблица 1.1. События в парикмахерской с одним креслом

Значение таймера модельного времени События, происходящие в этот момент времени
  Приход первого клиента, поступление его на обслуживание
  Приход второго клиента
  Окончание обслуживания первого клиента, поступление второго клиента на обслуживание
  Окончание обслуживания второго клиента, приход третьего клиента, поступление третьего клиента на обслуживание
  Окончание обслуживания третьего клиента
  Приход четвертого клиента, поступление его на обслуживание.

 

1.3. Основные объекты языка GPSS.

Выделяют четыре основных категории объектов GPSS (см. табл.1.2.)

 

Таблица 1.2. Объекты языка GPSS

Категория объекта Тип объекта Мнемоническое обозначение
Динамическая Транзакт -
Статическая, или оборудование Устройство F
Память S
Ключ L
Статистическая Очередь Q
Таблица T
Операционная Блок -

Динамическая категория объектов представлена одним типом – транзактом. Транзакт имитирует единицу исследуемого потока запросов на обслуживание. Например, транзакт может представлять клиента, пришедшего в парикмахерскую или магазин, деталь, подлежащую обработке на станке, автомобиль в модели транспортной системы, задание пользователя в вычислительной системе и т.д. Транзакт во многом аналогичен запросу в системе массового обслуживания (СМО), но это понятие более широкое и сложное. Таким образом, транзакт – это динамический (т.е. движущийся) элемент GPSS-модели. Работа модели заключается в перемещении транзактов от одного операционного блока к другому. Именно транзакт, двигаясь по модели, является инициатором смены состояний моделируемой системы. С каждым транзактом связан ряд параметров. Например, транзакту может быть присвоен приоритет, который определяет порядок обслуживания его в очереди. Транзакты с более высоким приоритетом выбираются на обслуживание в первую очередь. Или, например, если транзакт имитирует собой судно, параметром может быть количество груза, подлежащего разгрузке. Это значение может быть использовано для определения времени разгрузки у причала порта.

К статической категории (оборудованию) относятся устройства, памяти и ключи. Устройства (FACILITY)используются для моделирования ресурса, который в каждый момент времени может быть занят только одним транзактом (одноканальная СМО). Например, кассир, парикмахер или продавец, если он один обслуживает клиентов; центральный процессор в вычислительной системе, кладовщик на складе и т.п. Памяти (STORAGE) представляют оборудование, которое может использоваться несколькими транзактами одновременно (многоканальные СМО). Например, запоминающее устройство вычислительной системы, стоянка автомобилей с ограниченным числом мест, несколько причалов в порту и т.д. Логические ключи (SWITCH) служат для блокировки или изменения маршрута движения транзактов. Они могут быть использованы в модели, например, для изображения светофора или переключателя.

Статистические объекты (очереди и таблицы) предназначены для сбора статистических данных в различных точках модели и представления их в виде стандартных показателей. Очередь (QUEUE) – это объект, предназначенный для сбора статистики по задержанным сообщениям (среднее время ожидания, максимальная длина очереди и т.д.). Необходимо отметить, что объект “очередь” не влияет на создание очереди транзактов, а лишь служит для сбора статистики по тем очередям, которые нас интересуют. Таблица (TABLE) используется для сбора статистической информации в виде эмпирических функций распределения случайных величин, получаемых в ходе моделирования.

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

Блоки относятся к категории операционных объектов и задают логику функционирования моделируемого процесса или системы, определяют пути движения транзактов между объектами категории оборудования. В общем случае модель представляет собой несколько отдельных сегментов, каждый из которых состоит из последовательности блоков и определяет путь движения некоторого типа транзактов. Все события в моделируемой системе происходят в результате входа транзактов в блоки и выполнения блоками своих функций. Основные функции блоков следующие:

- создание (генерация) и уничтожение транзактов;

- задержка транзакта на некоторый интервал времени;

- изменение маршрута движения транзактов;

- изменение числовых атрибутов объектов.

Каждому блоку соответствует оператор языка GPSS. Кроме того, программа модели может быть представлена в виде блок-схемы, на которой каждому блоку соответствует характерная фигура (см. рис.1.5.)

 

                   
 
   
     
Таймер окончания рабочего дня приходит в модель
   
Приход клиентов
 
 
   
 
 

 


               
   
 
 
   
 
     
2-й сегмент модели
 

 

 


 

               
   
     
Освобождение парикмахера
 
     
Уход из парикмахерской
 
 
 
1-й сегмент модели

 

 


Рис.1.5. Блок-схема модели парикмахерской.

 

Если транзакт сгенерирован в каком-то блоке и начал свое движение, то он перемещается от блока к блоку в своем сегменте. Каждый блок можно рассматривать как некоторую точку, в которой происходит обращение к подпрограмме. В тот момент, когда транзакт входит в блок, соответствующая подпрограмма вызывается на исполнение, и далее транзакт пытается войти в следующий блок. Такое продвижение транзакта продолжается до тех пор, пока не наступит одна из следующих возможных ситуаций:

1) транзакт входит в блок, функцией которого является задержка транзакта на некоторое время;

2) транзакт входит в блок, функцией которого является удаление транзакта из модели;

3) транзакт пытается войти в следующий блок, однако блок отказывается принять этот транзакт. Другая возможная ситуация – текущий блок не выпускает транзакт. В этом случае транзакт остается в том блоке, в котором он в настоящее время находится (становится в очередь). Позднее он будет повторять попытку войти в следующий блок. Одна из таких попыток может оказаться успешной. После этого транзакт сможет продолжать свое перемещение в модели.

В общем случае в модели существует большое число транзактов, которые могут перемещаться согласно некоторой очередности. Каждый перемещаемый транзакт система пытается продвинуть как можно дальше. При возникновении одной из вышеперечисленных ситуаций, когда его дальнейшее перемещение невозможно, начинается перемещение в модели другого транзакта. Таким образом, выполнение моделирования в системе продолжается.

Каждый блок в модели имеет номер, который присваивается ему автоматически, согласно месту его расположения в модели. Кроме того, блок может иметь символическое имя (метку), которое используется для ссылки на этот блок при передаче управления. Блок может иметь до 8 операндов, уточняющих его действие. Для удобства записи обычно операнды обозначаются символами A, B, C, …, H. Если операнды блока в явном виде не заданы, интерпретатор GPSS полагает их значение по умолчанию.

Кроме операторов блоков, разработчик модели может использовать еще два вида операторов: операторы описания объектов и управляющие операторы. Операторы описания позволяют определить переменную, функцию, описать емкость памяти (количество каналов многоканальной СМО), параметры таблицы и пр. Управляющие операторы позволяют задать условия моделирования, такие как продолжительность моделирования, число прогонов модели, порядок и условия сбора статистики. В системе GPSS World управляющие операторы можно как вносить в текст самой модели, так и задавать через командное меню системы.




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 2011; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.039 сек.