Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Generate a,b,c,d,e





Операнды A,B,C,D,E имеют следующий смысл:

A - определяет математическое ожидание времени между последовательными приходами транзактов в блоке;

B - задает половину поля допуска (или половину размаха) интервалов времени прибытия;

C - задает смещение интервалов - момент времени, в который должен появиться первый транзакт. После этого первого прихода все остальные приходы транзактов возникают в соответствии с распределением интервала времени, заданными операндами A и B;

D - задает граничное значение общего числа транзактов, которые могут войти в модель через данный блок GENERATE в течение времени моделирования. Когда это число достигнуто, данный блок перестанет быть активным;

E - устанавливает уровень приоритета каждого из транзактов, входящих в модель через данный блок GENERATE. В GPSS существует 128 уровней приоритетов, которые задаются значениями от 0 до 127. Чем больше число, тем выше приоритет.

 

PRIORITY – изменение приоритета

PREEMPT A – позволяет прервать обработку транзакта на устройстве A, если приоритет обрабатываемой заявки ниже, чем у активного транзакта

RETURN A – снимает прерывание с устройства A,

прерывающая заявка сама прервана быть не может

2.1.7 Логические ключи

Ключи используются для управления движением транзакта

LSj = {1,0}

1 – “SET”

0 – “RESET”

2.1.8 Переменные и сохраняемые значения

GPSS сопоставляет переменные выражениям над константами, стандартными числовыми атрибутами, функциями, содержащими арифметические и логические операторы

VARIABLE – целое

BVARIABLE – логическое

FVARIABLE – действительное

Сохраняемые значения

SAVEVALUE – сохраняемая скалярная величина

MSAVEVALUE – сохраняемая матрица

2.1.9 Накопительные статистики

Ожидание возникает в модели при блокировке, но измерение длительности ожидания начинается при входе в блок QUEUE (регистратор очереди).

Очереди:

QUEUE – блок регистрации очереди

DEPART – блок окончания ожидания в очереди

Таблицы общего назначения:

MARK – позволяет запомнить системное время

TABULATE – блок табулирования

TABLE – команда описания таблицы

Трассировка:

TRACE – включить индикатор трассировки

UNTRACE – выключить трассировку

Генерация случайных чисел:

RNj – выдает целое число от 0 до 999, j – номер генератора

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

Гистограмма распределения времени ожидания в очереди должна быть описана таблицей QTABLE.

2. 2 Синтаксис языка GPSS

Модель в GPSS определяется последовательностью модельных операторов.

Модельным оператором может быть GPSS (General Purpose Simulation System) оператор или процедура на языке PLUS (Programming Language Under Simulation).

GPSS оператор – либо команда, либо блок. Каждый GPSS оператор записывается в одной строке до 250 символов. Оператор составлен из областей, которые разделены пробелом или разделителем <номер строки> <метка > <действие > <операнды >< комментарии>, если комментарий с новой строки, то *.

2.3 Обзор основных команд и блоков

GPSS-команды для определения:

BVARIABLE – описание логической переменной

COND1 BVARIABLE (BV$CLK’AND’BV$PHASE2)

VARIABLE – определение переменной

Var1 VARIABLE 5#LOG(Q$WaitingLine)

EQU – определение константы

Price EQU 19.95

MATRIX – определение матрицы

Inventory MATRIX,1000,5

FUNCTION – определение функции

Output FUNCTION V$Input,C3

1.1,10.1/20.5,98.7/33.3,889.2

Ran1 FUNCTION RN1,D5

0,0/.2,7.2/.4,6.667/.8,9.92/1.0,10

STORAGE – определение памяти

MotorPool STORAGE 20

TABLE – определение таблицы

SalesTable TABLE P$Price,9.95,10,10

QTABLE – определение таблицы для очередей

WaitTimes QTABLE WaitingLine,100,100,10

GPSS-команды управления моделированием:

CLEAR – уничтожение статистики и всех транзактов

RESET – обнуление статистики имитации

EXIT – окончание сеанса GPSS

HALT – остановка симуляции и удаление всех команд в очереди

CONTINUE – возобновление моделирования

START – установка значение счетчика завершения и начало имитации

STEP – выполнение конечного числа блоков

STEP 1

STOP – установка условия остановки

STOP 100,52

Остальные GPSS-команды:

INCLUDE – включение файла в модуль

INCLUDE “SAMPLE1.TXT”

INITIAL – инициализация ключей, сохраняемых значений и матриц

INITIAL MX$Inventory(Part_39,Stocklevel),200

RMULT – установка стартовых значений генераторов

RMULT 453,746,111

SHOW – вычисление и вывод значения выражения

SHOW C1

GPSS-блоки:

GENERATE – создание транзактов

GENERATE Mean,Half-range,Start,Limit,Priority

TERMINATE – уничтожение транзакта и уменьшение счетчика окончания

QUEUE – увеличение количества элементов в очереди

DEPART – выход из очереди

ENTER – занятие памяти

LEAVE – освобождение памяти

SEIZE – установка владельца устройства

RELEASE – освободить устройство

PRIORITY – изменение приоритета транзакта

PREEMPT – замена владельца устройства

RETURN – освобождение устройства, занятого блоком PREEMPT

FAVAIL – установка устройства доступным

FUNAVAIL – установка устройства не доступным

SAVAIL – установка памяти доступной

SUNAVAIL – установка памяти не доступной

SAVEVALUE – установка значения сохраняемой величины

MSAVEVALUE – установка значения в элемент матрицы

GATE – проверка сущностей и изменение направления потока транзактов

TRANSFER – перемещение на специальный блок

TRANSFER,New_Place

TRANSFER.75,,New_Place

TRANSFER BOTH,First_Place,Second_Place

TRANSFER ALL,First_Place,Last_Place,2

TEST – проверка арифметических условий и изменение потока транзактов

TEST G C1,70000

TEST G Q$Teller1_Line,Q$Teller2_Line,Teller1

LOOP – уменьшение параметра и переход на блок, если результат не равен нулю (цикл)

LOOP Customer_Count,Start_Over

ADVANCE – помещение транзакта в цбс

ADVANCE 101.6,50.3

ASSIGN – изменение параметров транзакта

ASSIGN 2000,150.6

ASSIGN 2000+,-3

INDEX – изменение параметра 1 транзакта

INDEX 2,11.7; 11.7+P2->P1

COUNT – помещение количества сущностей в параметры транзакта

COUNT SF FullCount,Warehouse1,Warehouse13

SELECT – помещение номера выделенного объекта в параметр транзакта

Bin1 STORAGE 11

Bin2 STORAGE 1000

Bin3 STORAGE 150

...

SELECT SNF,3,Bin1,Bin3,,,No_Room

SPLIT – создание связанного транзакта

SPLIT 3,Pro,17

ASSEMBLE – ожидание и уничтожение связанных транзактов

ASSEMBLE 2

GATHER – ожидание связанных транзактов

GATHER 2

MATCH – блок синхронизации

A_Is_Done MATCH B_Is_Done

B_Is_Done MATCH A_Is_Done

ADOPT – изменение номера ансамбля

ADOPT 2000

OPEN – инициализация потока данных

OPEN (“MYFILE.TXT”),2,Error_Block

WRITE – посылка значения в поток данных

WRITE “New Line 20”,1,Done

READ – взятие очередной строки из потока данных

READ Text_Parm,1,Done

SEEK – изменение указателя строки в потоке данных

SEEK 20,1

CLOSE – закрытие потока данных

CLOSE Error_Parm,2

LOGIC – изменение логического ключа

LOGIC S PowerSwitch

MARK – помещение системного времени в параметр транзакта

MARK Beginning

TABULATE – обновление таблицы

TABULATE Sales

TRACE – метка активного транзакта индикатором слежения

UNTRACE – выключение индикатора слежения

PLUS – вычисление PLUS-выражения

PLUS (normal(2,100,2)+100.26),Result_Parm

 

 

3. Примеры моделей систем массового обслуживания, реализованных на GPSS: одноканальные и многоканальные системы, приоритетные системы, моделирование выхода из строя элементов систем.

Многоканальные сисетмы:

 

Chans STORAGE 3

GENERATE (EXPONENTIAL(1,0,1))

QUEUE Wait

ENTER Chans,1

DEPART Wait

ADVANCE 27

LEAVE Chans,1

TERMINATE

GENERATE 5000½1

TERMINATE 1

 

Приоритетная система обслуживания

Work VARIABLE (GAMMA(2,0,P2(3,3)))

GENERATE (EXPONENTIAL(1,0,5.0))½½3

ASSIGN 1,1;тип транзакта

ASSIGN 2,0.3;время обслуживания

Common QUEUE Sque

PREEMPT Chan, PR, Rept, 100

SAVEVALUE Time, V$Work

ASSIGN 5, X$Time

Wait ADVANCE P5

TRANSFER,Out

Rept ASSIGN 5, V$Work

TRANSFER,Wait

Out DEPART Sque

RETURN Chan

TERMINATE

***

GENERATE (EXPONENTIAL(1,0,3.33))½½2

ASSIGN 1,2

ASSIGN 2,0.6

TRANSFER,Common

***

GENERATE (EXPONENTIAL(1,0,2.50))½½1

ASSIGN 1,3

ASSIGN 2,0.9

TRANSFER,Common

***

GENERATE 5000½½1

TERMINATE 1

 

Date: 2015-09-05; view: 367; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию