49 Средства моделирования устройств (1006436)
Текст из файла
49 Средства моделирования устройств. Стандартные числовые атрибуты. Сохраняемые величины. Синхронизация транзактов.
В системе GPSS вводиться понятие устройство. При своем продвижении по модели транзакты могут захватывать устройства.
Моделирование простых устройств
В системе моделирования вводиться понятие устройства. Устройство символизирует элемент обслуживания(АЛУ, ЦП, касса в магазине). Оно может находиться в двух состояниях – свободно/занято
Приборы характеризуются двумя основными свойствам:
-
Каждый прибор в любой момент времени может обслуживать только одно требование. Если в процессе обслуживания появляется новое требование, то оно должно либо подождать своей очереди обслуживания, либо пойти куда-нибудь в другое место. Существует также третья возможность.
Если новое требование является достаточно важным, оно может прервать протекающее обслуживание до его завершения. Такое средство прерывания также можно моделировать на GPSS. -
Когда на прибор поступает требование в модели, надо пропустить время, необходимое для его обслуживания. Такое время называется временем обслуживания.
SEIZE A – занять устройство
RELEASE A – освободить устройство
ADVANCE C,D – задержка транзакта на устройстве на время от (С-В) до (C+D) тактов
С – математическое ожидание интервала задержки(середина интервала)
D – разброс(по умолчанию 0)
При выполнении блока SEIZE А транзакт пытается занять устройство A, если оно уже занято, он задерживается в предыдущем блоке.
Пример
SIMULATE
GENERATE 10,,30
SEIZE BP
ADVANCE 10
RELEASE BP
TERMINATE
GENERATE 3000 - через 3000 тактов выработается транзакт
TERMINATE 1 - который завершит процесс моделирования
START 1 - т.к. вычтет из счетчика завершений 1 и н станет равен 0
END
Моделирование многоканальных устройств
Прибор в GPSS используют для моделирования единственного устройства обслуживания. Иногда необходимо использовать параллельные приборы, чтобы промоделировать параллельное обслуживание. Обычно к этому необходимо прибегать, когда отдельные приборы являются разнородными, т. е. характеризуются различными свойствами, например различной интенсивностью обслуживания.
Очень часто, однако, различные параллельно работающие приборы являются однородными. Это, грубо говоря, тот случай, когда некоторые устройства обладают определенными общими свойствами. Например, интенсивность, с которой контролер обслуживает покупателей в универмаге, не зависит от конкретного контролера, а является некоторой общей характеристикой.
GРSS предоставляет для моделирования однородных параллельных приборов специальное средство (или элемент). Для этого элемента используют название "многоканальное устройство"
Необходимо объявить устройство и указать число его каналов.
A(имя устройства) STORAGE В(число каналов)
ENTER A,B - занять B каналов устройства А
LEAVE A,B – освободить устройство A, B каналов.
Пример:
Пусть A – память, а B – количество ячеек.
SIMULATE
MEM STORAGE 3
GENERATE 10,,30
ENTER MEM,1
ADVANCE 10
LEAVE MEM,1
TERMINATE
Для многоканальных устройств нет возможности разделить очереди по каждому прибору. Следовательно, реализуется концепция: если подошла очередь какого-либо транзакта, то он идет на обслуживание к любому свободному прибору. Это эквивалентно наличию единственной очереди перед устройством с многоканальным обслуживанием. Приходящий транзакт просто становится в очередь. Когда подходит его очередь, он идет на любой свободный прибор.
Хотя транзакты не могут выбирать прибор, приборы могут выбрать транзакты. Приборы выбирают из очереди транзактов, упорядоченных по приоритетному признаку. Когда прибор освобождается, он выбирает транзакт по принципу "первым пришел - первым обслужен внутри приоритетного класса". Это происходит потому, что транзакты, ожидающие входа в блок ЕNТЕR отсортированы в цепи текущих событий в порядке убывания их уровней приоритетов.
После прохождения транзактом блока LЕАVЕ освобождение одного или более приборов вызывает возобновление просмотра цепи текущих событий. Свободный прибор занимается высокоприоритетным транзактом, причем тем из них, который ждет дольше всех
Стандартные числовые атрибуты
В процессе моделирования интерпретатор GPSS автоматически регистрирует и корректирует информацию, касающуюся различных элементов, используемых в модели. Большая часть информации доступна только интерпретатору. Однако, к некоторым атрибутам объектов может обращаться и программист, манипулируя их значениями согласно логики модели. Такие атрибуты называются стандартными числовыми атрибутами (СЧА). Каждый объект GPSS имеет свой набор СЧА. Кроме СЧА объектов существуют еще системные числовые атрибуты, к которым пользователь может обращаться в модели, но не может изменять их значение. Имя СЧА состоит из двух частей. Первая часть указывает групповое имя, идентифицирующее тип объекта и тип информации об объекте. Вторая часть идентифицирует конкретного члена группы.
Групповое имя состоит из одной-двух букв, фиксированных для информации об объектах определенного типа, например, Q - ссылка на текущее значение длины очереди, QA - целая часть среднего значения очереди и т.д. Объекты GPSS могут быть идентифицированы с помощью числовых или символьных имен. Если объект идентифицирован с помощью номера, то ссылка на его стандартный числовой атрибут записывается как СЧАj , где j - номер объекта (целое число) . При символической идентификации объекта ссылка на его стандартный атрибут записывается как СЧА$<имя>, где <имя> - символьное имя объекта.
К системным числовым атрибутам относятся следующие величины: RNj - число, вычисляемое j датчиком случайных чисел (где
1<=j<=7). Все датчики генерируют последовательность равномерно распределенных случайных чисел.
СЧА для приборов:
FCj – содержит значение, равное числу занятий прибора по отношению к моменту времени, в который происходит обращение.
Fj – равен 0, если j-й прибор свободен в момнт обращения. 1 – занят
FTj – значение среднего времени задержки транзакта на приборе(всегда целое)
FRj – нагрузка прибора, время занятия прибора делиться на все время моделирования
СЧА для многоканальных устройств
Rj – емкость незаполненной части устройства
Sj – емкость заполненной части
SRj – нагрузка на многоканальное устройство
СЧА для очередей
Qj – текущее значение очереди
QMj – max значение очереди
QXj – среднее время нахождения в очереди
QZ - число входов в очередь с нулевым временем задержки
QT – среднее время ожидания в очереди
QA – средняя длина очереди
QС - общее число входов в очередь;
СЧА транзактов
PR – позволяет ссылаться на приоритет транзакта
M1 – содержит время, прошедшее с момента введения транзакта в истему
XN1 – содержит уникальный внутренний номер транзакта
Plj - параметр с номером j;
В отличие от СЧА других объектов, СЧА
транзактов не содержат ссылки на имя или номер транзакта. Ссылка на СЧА
транзакта всегда относится к активному транзакту, т.е. транзакту,
обрабатываемому в данный момент симулятором
СЧА таблиц
ТС - общее число транзактов, вошедших в очередь, связанную с
таблицей
TB целая часть среднего времени ожидания в очереди
TD - целая часть среднеквадратического отклонения времени ожидания в очереди
СЧА для списков
CH - текущая длина списка
CA - средняя длина списка (целая часть);
CM - максимальная длина списка
CC - общее число транзактов, вошедших в список
CT - целая часть среднего
времени пребывания транзакта в списке.
Другие СЧА
M SEIZE
W$M – вернет число транзактов в блоке
FN$<имя> - вызов функции
RNj – обращение к одному из генераторов случайных чисел
V$<имя> - обращение к переменным типа Variable(целые числа) и FVariable(действительные)
LS – вернет значения логического переключателя, 1 – включен, 0 - выключен
MP$<имя> – в этот атрибут блок MARK <имя или номер параметра> записывает текущее модельное время. А при обращении к MP$<имя атрибута> получим разность между текущим модельным временем и временем, занесенным в параметр блоком MARK
Важными стандартными числовыми атрибутами транзактов являются значения их параметров. Любой транзакт может иметь неограниченное число параметров, содержащих те или иные числовые значения. Ссылка на этот СЧА транзактов всегда относится к активному транзакту и имеет вид P j или Р$ имя, где j и имя - номер и имя параметра соответственно. Такая ссылка возможна только в том случае, если параметр с указанным номером или именем существует, т.е. в него занесено какое-либо значение.
ASSIGN A,B
В поле “A” указывается номер или имя параметра, в который заносится значение операнда B.
ASSIGN 5,0 - записывает в параметр с номером 5 значение 0.
Если в поле A после имени (номера) параметра стоит знак + или -, то значение
операнда B добавляется или вычитается из текущего содержимого параметра.
ASSIGN COUNT+,1 добавляет 1 к текущему значению параметра с именем COUNT.
ASSIGN P1, 3 – P1 – косвенная адресация, если параметр 1 содержит например число 7, то 7-й параметр получит значение 3.
Пример:
Пусть имеем три одинаковых ЦП. Пусть A – некоторая дискретная функция, которая возвращает числа от 1 до 3.
A FUNCTION RN1, С3(С3 значит значения функции задаются 3-мя парами чисел)
0,1/.33,2/.99,3
GENERATE
ASSIGN 1, FN$A
QUEUE P1
SEIZE P1
ADVANCE 10,10
DEPART P1
RELESE P1
Сохраняемые величины
Достоинство применения:
-
Транзакты имеют параметры, которые имеют значения. Нет возможности одному транзакту узнать значение параметра другого. А значения сохраняемой величины доступны всем транзактам.
-
Позволяет использовать большой диапазон значений
Сохраняемые величины могут использоваться в модели для хранения исходных данных, которые надо изменять при различных прогонах модели, промежуточных значений и результатов моделирования. В начале моделирования все сохраняемые величины устанавливаются равными 0. Для установки отличных от 0 начальных значений сохраняемых величин используется оператор INITIAL, имеющий следующий формат: INITIAL Xj, значение. Здесь Xj - соответственно имя и
номер сохраняемой величины, а Для изменения сохраняемых величин в процессе моделирования служит
блок SAVEVALUE
SAVEVALUE - сохраняет значение.
Формат: SAVEVALUE А,В,С
А - номер ячейки;
В - присваиваемое значение;
С - тип ячейки: XF, ХН, XL (по умолчанию XF).
Если за полем А стоит знак " + " или знак " - ", значение поля В, соответственно, прибавляется или вычитается из текущего содержимого ячейки. Если знаки + " или " - " не указаны, то значение поля В записывается в ячейку. Поле С определяет тип ячейки (ХН - полусловная; XF - полнословная; XL - с плавающей точкой).
Примеры
SAVEVALUE 4,5
Поместить значение 5 в полнословную ячейку 4.
SAVEVALUE 2+,Р$3,Н
Прибавить содержимое параметра 3 к содержимому полусловной ячейки 2.
Сохраняемые величины могут образовывать матрицы.
Описательный блок: имя MATRIX X,3,5 – 3 сроки и 5 столбцов. Х – полнословные величины. Обращаться к матрице можно так:
MX2(1,3) – получить элемент матрицы 2
MSAVEVALUE A,B,C,D,E
A-имя матрицы
B - строка
C - столбец
D – значение элемента
E - либо X(полнословное), либо H(полусловное)
Синхронизация транзактов
Транзаты, сгенерированные одинм блоком GENERATE относятся к одному семейству.
Блок Split увеличивает число транзактов семейства.
ASSEMBLE A
Блок ASSEMBLE объединяет заданное количество транзактов одного
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.














