Файл: Задача при моделировании реальных систем составить набор блоков, которые заставят транзакты вести себя как реальные (или проектируемые) системы (т е..rtf
Добавлен: 28.04.2024
Просмотров: 43
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
SNV) - многоканальное устройство доступно (многоканальное устройство не доступно);
GATHER - накапливает заданное число сообщений, принадлежащих к одному семейству, где А - число сообщений. Ни одно из накапливаемых сообщений не уничтожается. Когда в блоке GATHER накопится заданное число сообщений, все эти сообщения одновременно попытаются войти в следующий по номеру блок. Сообщения никогда не задерживаются на входе блока GATHER. Одновременно в одном блоке GATHER может происходить накопление сообщений нескольких семейств.
GENERATE - внесение транзактов в модель, где А - средний интервал времени, В - поло-вина поля допуска равномерно распределенного интервала времени задержки, С - начальная задержка смещения интервалов, D - ограничитель, Е - уровень приоритета
LEAVE - освобождение определенного количества параллельно работающих каналов, где А - имя (символическое или числовое) многоканального устройства, В - число занимаемых каналов.
LOOP - организация цикла, где А - счетчик цикла (число или имя), В - начало цикла (число или имя).
MATCH - блок синхронизации движения двух сообщений, принадлежащих к одному семейству, без удаления этих сообщений из модели, где А - имя или номер другого блока MATCH, называемого "сопряженным блоком MATCH". Если такого блока нет, происходит останов по ошибке. Блоки MATCH не объединяют синхронизируемые сообщения. Синхронизация осуществляется путем подбора пар сообщений из одного семейства и задержки этих сообщений до тех пор, пока оба сообщения из одной пары не поступят в заданные точки модели. Сообщения никогда не задерживаются в блоке MATCH. Сообщения, для которых выполнилось условие синхронизации, переходят к следующему по номеру блоку. В одной паре блоков
MATCH могут одновременно находиться в состоянии синхронизации пары сообщений из различных семейств. Возможна также одновременная синхронизации пар сообщений из одного семейства в нескольких блоках MATCH.
PRIORITY - изменение уровня приоритета транзакта, где А - значение, присваиваемое в качестве уровня приоритета активного транзакта.
PREEMPT - занять устройство. Блок PREEMPT может задержать сообщение на входе, где А - определяет номер или имя устройства, на котором генерируется прерывание, В - задает приоритетный режим (PR) или режим прерывания, если операнд опущен.
QUEUE - сбор статистики при ожидании (стать в очередь), где А - имя очереди, длина очереди увеличивается на единицу.
RELEASE - освобождение занятого устройства, где А - имя освобождаемого устройства.
RETURN - освобождение ранее захваченного устройства, где А номер устройства, с которого снимается прерывание. Прерывание может быть снято в блоке RETURN только тем сообщением, которым оно было генерировано.
SELECT Х - выбирает первый элемент в заданном диапазоне, который удовлетворяет определенному условию. Номер этого объекта записывается в заданный параметр вошедшего в блок транзакта, действия блока SELECT аналогичны действию блока COUNT.
SAVEVALUE - замена, увеличение или уменьшение текущего содержимого ячейки, где А - сохранение значения, может заканчиваться знаками + или - , В - задается значение для запоминания, сложения или вычитания.
SAVAIL - переводит заданное многоканальное устройство из состояния недоступности в состояние доступности. Если заданное многоканальное устройство уже находится в состоянии доступности, блок
SAVAIL выступает как пустой блок. А - номер многоканального устройства, которое следует перевести в состояние доступности.
SUNAVAIL - переводит заданное многоканальное устройство из состояния доступности в состояние недоступности. Если заданное многоканальное устройство уже находится в состоянии недоступности, блок SUNAVAIL выступает как пустой блок. А - номер многоканального устройства, которое следует перевести в состояние недоступности.
SEIZE - занять свободное устройство, где А - имя (символическое или числовое) занимаемого устройства
TABULATE - определение и использование таблиц, где А - имя таблицы.
TEST Х - определяет номер следующего блока, где Х - условие (L,LE,E,NE,G,GE),
А и В - сравниваемые величины, С - номер блока, если "ложь".
TERMINATE - удаление транзактов из модели, где в А задается число единиц. на которое этот блок изменяет содержимое счетчика завершений, определяющего момент окончания моделирования. Если А не задано, транзакт выводится из модели, а содержимое счетчика не изменяется.
TRANSFER - перенаправление движения транзактов. Если А - не используется, Б - позиция блока, в который должен перейти транзакт. Значение аргумента после точки в операнде А показывает, какой процент входящих в блок сообщений направится по адресу в С, остальные транзакты направляются к блоку, указанному в операнде В, или к следующему блоку, если операнд В пропущен.
SPLIT - копирует входящее в него сообщения, которое называется исходным где А - число создаваемых копий, В - адрес следующего блока, к которому переходят копии исходного сообщения, причем значение вычисляется для каждой копии отдельно.
Операторы определения объектов служат для описания параметров некоторых объектов GPSS/PC (о самих объектах речь пойдет дальше). Примерами параметров объектов могут быть количество каналов в многоканальной системе массового обслуживания, количество строк и столбцов матрицы и т.п.
FUNCTION - функции GPSS WORLD связывают значение аргумента функции, который представляет собой независимую переменную, со значениями зависимой переменной функции (FNj). Другим важным применением функций является генерация значений случайных чисел. Для таких функций распределения вероятности аргументом является случайное число 0<=RN<1, а значения зависимых переменных (FNj) являются случайными элементами переменных в моделях системы. Имя функции должно записываться в поле метки оператора описания FUNCTION.
А - содержит аргумент (независимую переменную) функции. Аргументом может быть любой из стандартных числовых атрибутов, за исключением матрицы ячеек; в качестве аргумента функции может быть использовано и значение любой другой функции. Если в качестве аргумента функции используется случайное число RNj, то значениями аргумента будут числа, равномерно распределенные в интервале 0 <= RNj < 1. Следует отметить, во всех других случаях использование случайных чисел RNj дает значение в диапазоне RNj<999.
В - определяет тип и число точек функции (число пар значений X [i] и Y
GATHER - накапливает заданное число сообщений, принадлежащих к одному семейству, где А - число сообщений. Ни одно из накапливаемых сообщений не уничтожается. Когда в блоке GATHER накопится заданное число сообщений, все эти сообщения одновременно попытаются войти в следующий по номеру блок. Сообщения никогда не задерживаются на входе блока GATHER. Одновременно в одном блоке GATHER может происходить накопление сообщений нескольких семейств.
GENERATE - внесение транзактов в модель, где А - средний интервал времени, В - поло-вина поля допуска равномерно распределенного интервала времени задержки, С - начальная задержка смещения интервалов, D - ограничитель, Е - уровень приоритета
LEAVE - освобождение определенного количества параллельно работающих каналов, где А - имя (символическое или числовое) многоканального устройства, В - число занимаемых каналов.
LOOP - организация цикла, где А - счетчик цикла (число или имя), В - начало цикла (число или имя).
MATCH - блок синхронизации движения двух сообщений, принадлежащих к одному семейству, без удаления этих сообщений из модели, где А - имя или номер другого блока MATCH, называемого "сопряженным блоком MATCH". Если такого блока нет, происходит останов по ошибке. Блоки MATCH не объединяют синхронизируемые сообщения. Синхронизация осуществляется путем подбора пар сообщений из одного семейства и задержки этих сообщений до тех пор, пока оба сообщения из одной пары не поступят в заданные точки модели. Сообщения никогда не задерживаются в блоке MATCH. Сообщения, для которых выполнилось условие синхронизации, переходят к следующему по номеру блоку. В одной паре блоков
MATCH могут одновременно находиться в состоянии синхронизации пары сообщений из различных семейств. Возможна также одновременная синхронизации пар сообщений из одного семейства в нескольких блоках MATCH.
PRIORITY - изменение уровня приоритета транзакта, где А - значение, присваиваемое в качестве уровня приоритета активного транзакта.
PREEMPT - занять устройство. Блок PREEMPT может задержать сообщение на входе, где А - определяет номер или имя устройства, на котором генерируется прерывание, В - задает приоритетный режим (PR) или режим прерывания, если операнд опущен.
QUEUE - сбор статистики при ожидании (стать в очередь), где А - имя очереди, длина очереди увеличивается на единицу.
RELEASE - освобождение занятого устройства, где А - имя освобождаемого устройства.
RETURN - освобождение ранее захваченного устройства, где А номер устройства, с которого снимается прерывание. Прерывание может быть снято в блоке RETURN только тем сообщением, которым оно было генерировано.
SELECT Х - выбирает первый элемент в заданном диапазоне, который удовлетворяет определенному условию. Номер этого объекта записывается в заданный параметр вошедшего в блок транзакта, действия блока SELECT аналогичны действию блока COUNT.
SAVEVALUE - замена, увеличение или уменьшение текущего содержимого ячейки, где А - сохранение значения, может заканчиваться знаками + или - , В - задается значение для запоминания, сложения или вычитания.
SAVAIL - переводит заданное многоканальное устройство из состояния недоступности в состояние доступности. Если заданное многоканальное устройство уже находится в состоянии доступности, блок
SAVAIL выступает как пустой блок. А - номер многоканального устройства, которое следует перевести в состояние доступности.
SUNAVAIL - переводит заданное многоканальное устройство из состояния доступности в состояние недоступности. Если заданное многоканальное устройство уже находится в состоянии недоступности, блок SUNAVAIL выступает как пустой блок. А - номер многоканального устройства, которое следует перевести в состояние недоступности.
SEIZE - занять свободное устройство, где А - имя (символическое или числовое) занимаемого устройства
TABULATE - определение и использование таблиц, где А - имя таблицы.
TEST Х - определяет номер следующего блока, где Х - условие (L,LE,E,NE,G,GE),
А и В - сравниваемые величины, С - номер блока, если "ложь".
TERMINATE - удаление транзактов из модели, где в А задается число единиц. на которое этот блок изменяет содержимое счетчика завершений, определяющего момент окончания моделирования. Если А не задано, транзакт выводится из модели, а содержимое счетчика не изменяется.
TRANSFER - перенаправление движения транзактов. Если А - не используется, Б - позиция блока, в который должен перейти транзакт. Значение аргумента после точки в операнде А показывает, какой процент входящих в блок сообщений направится по адресу в С, остальные транзакты направляются к блоку, указанному в операнде В, или к следующему блоку, если операнд В пропущен.
SPLIT - копирует входящее в него сообщения, которое называется исходным где А - число создаваемых копий, В - адрес следующего блока, к которому переходят копии исходного сообщения, причем значение вычисляется для каждой копии отдельно.
1.2 Операторы определения объектов
Операторы определения объектов служат для описания параметров некоторых объектов GPSS/PC (о самих объектах речь пойдет дальше). Примерами параметров объектов могут быть количество каналов в многоканальной системе массового обслуживания, количество строк и столбцов матрицы и т.п.
FUNCTION - функции GPSS WORLD связывают значение аргумента функции, который представляет собой независимую переменную, со значениями зависимой переменной функции (FNj). Другим важным применением функций является генерация значений случайных чисел. Для таких функций распределения вероятности аргументом является случайное число 0<=RN<1, а значения зависимых переменных (FNj) являются случайными элементами переменных в моделях системы. Имя функции должно записываться в поле метки оператора описания FUNCTION.
А - содержит аргумент (независимую переменную) функции. Аргументом может быть любой из стандартных числовых атрибутов, за исключением матрицы ячеек; в качестве аргумента функции может быть использовано и значение любой другой функции. Если в качестве аргумента функции используется случайное число RNj, то значениями аргумента будут числа, равномерно распределенные в интервале 0 <= RNj < 1. Следует отметить, во всех других случаях использование случайных чисел RNj дает значение в диапазоне RNj<999.
В - определяет тип и число точек функции (число пар значений X [i] и Y