Моделирование системы обслуживания с однородными требованиями с использованием языка GPSS

Разработка разомкнутой многоканальной однофазной системы обслуживания с однородными требованиями и неограниченным ожиданием с использованием языка GPSS. Определение параметров очереди неоконченных заданий, величины цикла терминала обслуживания заявок.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 22.04.2013
Размер файла 419,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание контрольной работы:

1. Математическая модель. Описание

2. Схема моделирования. Блок-диаграмма GPSS-модели

3. Листинг программы. Описание

4. Используемые операторы и примитивы

5. Результаты работы программы

Задание на контрольную работу. Вариант № 16

ЭВМ обслуживает три терминала по круговому циклическому алгоритму, предоставляя каждому терминалу 30 с. Если в течение этого времени задание обрабатывается, то обслуживание завершается; если нет, то остаток задачи становится в специальную очередь, которая использует свободные циклы терминалов, т. е. задача обслуживается, если на каком-либо терминале нет заявок. Заявки на терминалы поступают через 30 ± 5 с и имеют длину 300 ± 50 знаков. Скорость обработки заданий ЭВМ равна 10 знаков/с.

Смоделировать 5 ч работы ЭВМ. Определить загрузку ЭВМ, параметры очереди неоконченных заданий. Определить величину цикла терминала, при которой все заявки будут обслужены без специальной очереди.

1. Математическая модель. Описание

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

Заданную СМО по наличию того или иного признака можно классифицировать следующим образом:

1. По характеру поступления требований в систему: система с равномерным поступлением требований в систему.

2. По количеству требований, поступающих в единицу времени: система с ординарным потоком требований, т.к. вероятность поступления двух или более требований в один момент времени очень мала.

3. По связи между требованиями: система без последствия.

4. По характеру поведения требований в системе: систему в данной задаче можно классифицировать и как систему с отказами, и как систему с неограниченным ожиданием (т.к. в модели будут присутствовать две очереди на обслуживание, в которых транзакты будут ожидать, пока не обслужатся).

5. По способу выбора действий на обслуживание: система, обслуживающая заявки по мере их поступления в систему.

6. По характеру обслуживания требований: система в данной задаче может быть классифицирована и как система с детерминированным временем обслуживания, и как система со случайным временем обслуживания (т.к. время обработки транзактов305 с).

7. По числу каналов обслуживания: многоканальная система.

8. По количеству этапов обслуживания: однофазная система, т.к. выполняемые ею операции обслуживания однородны.

9. По однородности требований, поступающих на обслуживание: система с однородными требованиями.

10. По ограниченности потока требований: разомкнутая система.

Для моделирования системы будет использоваться язык GPSS.

2 Схема моделирования. Блок-диаграмма GPSS-модели

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

3. Листинг программы. Описание

VRazmer VARIABLE 250+INT(RN1#250/350);размер от 250 до 350

INITIAL X$XTerminal,1;какой терминал обслуживается

INITIAL X$XNa1,0;сколько ждут на 1

INITIAL X$XNa2,0;сколько ждут на 2

INITIAL X$XNa3,0;сколько ждут на 3

GENERATE 30,5;терминал 1

ASSIGN PRazmer,V$VRazmer;задать размер

SAVEVALUE XNa1+,1;увеличить количество на 1

TEST E X$XTerminal,1;ждать обслуживания терминала 1

SAVEVALUE XNa1-,1;уменьшить количество на 1

TRANSFER ,LabO;перейти на обслуживание

GENERATE 30,5;терминал 2

ASSIGN PRazmer,V$VRazmer;задать размер

SAVEVALUE XNa2+,1;увеличить количество на 1

TEST E X$XTerminal,2;ждать обслуживания терминала 2

SAVEVALUE XNa2-,1;уменьшить количество на 1

TRANSFER ,LabO;перейти на обслуживание

GENERATE 30,5;терминал 3

ASSIGN PRazmer,V$VRazmer;задать размер

SAVEVALUE XNa3+,1;увеличить количество на 1

TEST E X$XTerminal,3;ждать обслуживания терминала 3

SAVEVALUE XNa3-,1;уменьшить количество на 1

TRANSFER ,LabO;перейти на обслуживание

LabO SEIZE EOM;занять устройство

TEST LE P$PRazmer,100,MET2

ADVANCE (PRazmer/10);имитацияцикла

TRANSFER ALL,MET3

MET2 ADVANCE 10

TRANSFER ALL,MET3

MET3 RELEASE EOM;освободитьустройство

ASSIGN PRazmer-,100;уменьшитьразмер

TEST LE P$PRazmer,0,LabLink;проверитьразмер

SAVEVALUE XTerminal+,1;перейти к след терминалу

TEST E X$XTerminal,4,LabD1;проверить терминал

SAVEVALUE XTerminal,1;перейти к терминалу 1

LabD1 TEST E X$XTerminal,1,LabD2;проверить, свободный цикл

TEST E X$XNa1,0,LabTerm;

UNLINK Line,LabO,1;вытащить из очереди

TRANSFER ,LabTerm;перейти на уничтожение

LabD2 TEST E X$XTerminal,2,LabD3;проверить, свободный цикл

TEST E X$XNa2,0,LabTerm;

UNLINK Line,LabO,1;вытащить из очереди

TRANSFER ,LabTerm;перейти на уничтожение

LabD3 TESTEX$XTerminal,3,LabTerm;проверить, свободный цикл

TEST E X$XNa3,0,LabTerm;

UNLINK Line,LabO,1;вытащить из очереди

TRANSFER ,LabTerm;перейтинауничтожение

LabTermTERMINATE;уничтожить

LabLink LINK Line,FIFO;занять место в очереди

GENERATE 18000;таймерна 5 часов

TERMINATE 1

START 1

Сформировавшиеся задания сначала поступают от первого терминала. Транзакты, поступившие к ЭВМ обрабатывается в течение 30 секунд со скоростью 10 знаков в секунду. Если в течение этого времени всё сообщение было обработано, то ЭВМ принимает по циклическому алгоритму транзакт от следующего терминала. Если сообщение за 30 секунд было не полностью обработано, то остаток сообщения передаётся в дополнительную очередь,которая использует свободные циклы терминалов, т. е. задача обслуживается, если на каком-либо терминале нет заявок.

4. Используемые операторы и примитивы

STORAGEA- устанавливает определенную емкость памяти. Если емкость не определена, то значением по умолчанию является 32767.

SAVEVALUE - сохраняет значение. Формат: SAVE[VALUEI А,В,С.

А - номер ячейки;

В - присваиваемое значение;

С - тип ячейки: XF, ХН, XL (по умолчанию XF).

Если за полем А стоит знак "+" или знак "-", значение поля В, соответственно, прибавляется или вычитается из текущего содержимого ячейки. Если знаки "+" или "-" не указаны, то значение поля В записывается в ячейку. Поле С определяет тип ячейки (ХН - полусловная; XF - полнословная; XL - с плавающей точкой).

GENERATEA,B,C,D,E,F,G- вводит транзакты в модель.

А - среднее значение интервала времени;

В - разброс или модификатор среднего значения (по умолчанию ноль);

С - время появления первого транзакта;

D - общее число генерируемыхтранзактов;

Е - уровень приоритета каждого транзакта; (от 0 до 127, значение по умолчанию 0);

F - число параметров (по умолчанию 12);

G - тип параметра (F -полнословный, Н -полусловный -по умолчанию).

Вводит транзакты в модель, посылая их в следующий по порядку блок. Если в поле В не указана функция, то интервал между поступлением транзактов определяется случайным числом, равномерно распределенным в диапазоне от (А-В) до (А+В). Если поле В является функцией (FN$), то этот интервал определяется произведением поля А на значение функции, заданной в поле В.

GATE- вспомогательный блок, проверяющий состояния устройств, памятей, логических ключей.

Формат GATE_R А,В. Внутренний операнд R определяет проверяемое условие в виде стандартного логического атрибута:

NU - устройство не занято;

SNF - память не заполнена;

ENTER- помещает транзакт в память. Формат: ENTE[R] А,В.

А - имя памяти символическое или числовое;

В - число занимаемых единиц памяти (по умолчанию единица).

Проверяется наличие свободного объема памяти, номер которой определен в поле А. Если имеется свободная память, то транзакт входит в блок ENTER. При этом занятый объем памяти увеличивается на значение поля В. Если транзакт не может войти в блок ENTER, он задерживается в предыдущем блоке.

QUEUE- помещает транзакт в конец очереди. Формат: QUEU[E] А,В.

А - номер очереди (числовое или символьное имя очереди);

В - число добавляемых к очереди элементов (по умолчанию 1).

Увеличивает текущее содержимое очереди, указанной в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно.

TEST- сравнивает два стандартных числовых атрибута. Формат: TEST_r А,В,С.

r - внутренний операнд, принимающий значения:

Е - равно; многоканальный обслуживание очередь задание

А - стандартный числовой атрибут;

В - стандартный числовой атрибут;

С - номер альтернативного блока.

Значения стандартных числовых атрибутов, указанных в поле А и В, сравниваются отношением, определяемым операндом r. Если условие выполняется, транзакт вводится в блок. Если условие не выполняется и определено поле С, транзакт переходит в указанный блок, если же С не задано, транзакт задерживается в предыдущем блоке.

SEIZE- занимает устройство. Формат: SEIZ[E] А.

А - номер устройства.

Транзакт пытается занять устройство, определенное полем А. Если оно уже занято или прервано, транзакт задерживается в предыдущем блоке.

DEPART- удаляет транзакт из очереди. Формат: DEPA[RT] А,В.

А - номер (имя) очереди;

В - число удаляемых из очереди элементов.

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

LEAVE- выводит транзакт из памяти. Формат: LEAV[E] А,В.

А - номер памяти;

В - число освобождаемых единиц памяти (по умолчанию 1).

Транзакт удаляется из памяти, имя (номер) которой указано в поле А. Число освобождаемых при этом единиц памяти определяется полем В.

ADVANCE- задерживает транзакт. Формат: ADVA[NCE] А,В.

А - среднее время задержки (константа, если В не задано);

В - разброс относительно среднего значения, должен быть меньше или равен А.

Блок ADVANCE моделирует временную задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Если поле В не является FN$, то время задержки является случайным числом, распределенным равномерно на интервале от (А+В) до (А-В). Если поле В является функцией FN$, то время задержки определяется произведением поля А на значение функции в поле В. Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящими от А.

RELEASE- освобождает устройство. Формат: RELE[ASE] А.

А - номер устройства (числовое или символьное имя освобождаемого устройства). Устройство, указанное в поле А, освобождается и становится доступным для других транзактов. Освобождать устройство должен тот же транзакт, который его занимал.

TRANSFER- изменяет движение транзакта в модели. Формат: TRAN[SFER] А,B,C,D.

А - режим передачи (пpoбeл,.,ALL,BOTH,FN,P,PICK,SBR,SIM);

В - следующий блок;

С - следующий блок;

D - значение индекса, используемое в режиме ALL.

Транзакт направляется в блок, определяемый в соответствии с режимом передачи, указанным в поле А. Режимы передачи поля А:

Пробел - транзакт передается в блок, определяемый полем В.

TERMINATE- удаляет транзакт. Формат: TERM[INATE] А.

А - величина, вычитаемая из содержимого счетчика завершений (поле А карты START).

Транзакт удаляется из модели и поступает в пассивный буфер. Если в поле А пробел, воздействия на счетчик завершений не происходит, в противном случае его значение уменьшается на величину, указанную в поле А.

START- управление процессом моделирования. Формат: STAR[T] А,B,C,D.

А - счетчик числа завершений;

В - подавление вывода на печать (В = NP);

С - промежуточный вывод статистики;

D - распечатка списков.

Поле А определяет счетчик завершении при прогоне модели. При входе транзакта в блок TERMINATE с ненулевым значением поля А, содержимое поля А блока TERMINATE вычитается из остаточного значения счетчика - поля А карты START. Прогон завершается, когда значение счетчика достигнет нуля. Указатель NP в поле В отменяет вывод стандартного отчета GPSS. Величина, указанная в поле С, определяет число завершений, по достижении которого выдается промежуточный отчет. Таким образом, можно получать статистические данные в определенных интервалах моделирования. Если поле D содержит 1, полученный отчет будет содержать списки текущих и будущих событий, а также списки пользователя.

5. Результаты работы программы

Процесс симуляции работы системы заканчивается выводом отчета о результатах моделирования.

Основные характеристики модели:

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 18000.000 46 1 0

Время начала моделирования равно 0, время его окончания равно 18000 единицам условного времени, что примерно означает 5 часов. Далее указывается количество блоков, использованных в модели, - 46. Число использованных устройств равно 1, число накопителей - 0.

Статистическая информация по каждому блоку:

NAME VALUE

EOM 10006.000

LABD1 31.000

LABD2 35.000

LABD3 39.000

LABLINK 44.000

LABO 19.000

LABTERM 43.000

LINE 10007.000

MET2 23.000

MET3 25.000

PRAZMER 10005.000

VRAZMER 10000.000

XNA1 10002.000

XNA2 10003.000

XNA3 10004.000

XTERMINAL 10001.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 603 0 0

2 ASSIGN 603 0 0

3 SAVEVALUE 603 0 0

4 TEST 603 0 0

5 SAVEVALUE 603 0 0

6 TRANSFER 603 0 0

7 GENERATE 603 0 0

8 ASSIGN 603 0 0

9 SAVEVALUE 603 603 0

10 TEST 0 0 0

11 SAVEVALUE 0 0 0

12 TRANSFER 0 0 0

13 GENERATE 603 0 0

14 ASSIGN 603 0 0

15 SAVEVALUE 603 603 0

16 TEST 0 0 0

17 SAVEVALUE 0 0 0

18 TRANSFER 0 0 0

LABO 19 SEIZE 603 0 0

20 TEST 603 0 0

21 ADVANCE 0 0 0

22 TRANSFER 0 0 0

MET2 23 ADVANCE 603 1 0

24 TRANSFER 602 0 0

MET3 25 RELEASE 602 0 0

26 ASSIGN 602 0 0

27 TEST 602 0 0

28 SAVEVALUE 0 0 0

29 TEST 0 0 0

30 SAVEVALUE 0 0 0

LABD1 31 TEST 0 0 0

32 TEST 0 0 0

33 UNLINK 0 0 0

34 TRANSFER 0 0 0

LABD2 35 TEST 0 0 0

36 TEST 0 0 0

37 UNLINK 0 0 0

38 TRANSFER 0 0 0

LABD3 39 TEST 0 0 0

40 TEST 0 0 0

41 UNLINK 0 0 0

42 TRANSFER 0 0 0

LABTERM 43 TERMINATE 0 0 0

LABLINK 44 LINK 602 602 0

45 GENERATE 1 0 0

46 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

EOM 603 0.335 9.987 1 1810 0 0 0 0

USER CHAIN SIZE RETRY AVE.CONT ENTRIES MAX AVE.TIME

LINE 602 0 300.642 602 602 8989.308

SAVEVALUE RETRY VALUE

XTERMINAL 1206 1.000

XNA1 0 0

XNA2 0 603.000

XNA3 0 603.000

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

1810 0 18007.959 1810 23 24

PRAZMER 420.000

1812 0 18009.310 1812 0 13

1811 0 18011.826 1811 0 7

1813 0 18032.120 1813 0 1

1814 0 36000.000 1814 0 45

Размещено на Allbest.ru


Подобные документы

  • Основные сведение о системе моделирования GPSS и блоки, используемые при моделировании одноканальных и многоканальных систем массового обслуживания. Разработка модели работы ремонтного подразделения в течение суток с использованием программы GPSS World.

    курсовая работа [36,4 K], добавлен 11.02.2015

  • Разработка модели, имитирующей работу экономической системы (станции технического обслуживания автомобилей). Определение вероятностных характеристик системы; закрепление навыков в построении имитационной модели с помощью языка моделирования GPSS.

    курсовая работа [713,6 K], добавлен 05.06.2013

  • Понятие компьютерной модели и преимущества компьютерного моделирования. Процесс построения имитационной модели. История создания системы GPSS World. Анализ задачи по прохождению турникета на стадион посредством языка имитационного моделирования GPSS.

    курсовая работа [291,3 K], добавлен 11.01.2012

  • Концептуальная модель процесса обслуживания покупателей в магазине. Описание системы моделирования GPSS. Разработка моделирующей программы на специализированном языке имитационного моделирования в среде AnyLogic. Результаты вычислительных экспериментов.

    курсовая работа [906,9 K], добавлен 12.07.2012

  • Построение модели системы массового обслуживания с помощью ЭВМ с использованием методов имитационного моделирования. Моделирование проводилось с помощью GPSS World Student version, позволяющего достоверно воссоздать систему массового обслуживания.

    курсовая работа [555,7 K], добавлен 29.06.2011

  • Особенности систем массового обслуживания и сущность имитационного моделирования с использованием GPSS. Структурная схема модели системы и временная диаграмма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.

    курсовая работа [214,2 K], добавлен 23.06.2011

  • Использование языка GPSS для описания модели автосервиса, обслуживающего автомобили различных моделей с учетом их приоритета. Сущность и возможности имитационного моделирования. Разработка GPSS-модели функционирования ремонтных работ в автосервисе.

    курсовая работа [259,4 K], добавлен 08.05.2013

  • Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели.

    курсовая работа [487,4 K], добавлен 18.12.2014

  • Моделирование системы массового обслуживания (СМО) для транспортного цеха с использованием языка GPSS Wоrld. Детальная схема и блок-схема моделирующего алгоритма и их описание. Математическая модель и ее описание. Анализ результатов моделирования.

    реферат [330,6 K], добавлен 28.06.2011

  • Язык GPSS как один из наиболее эффективных и распространенных языков моделирования сложных дискретных систем. Транзакт - элемент системы массового обслуживания. Решение задач на основе моделирования с применением языка GPSS, создание имитационной модели.

    курсовая работа [54,7 K], добавлен 25.11.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.