где А – номер или имя многоканального устройства, а В – емкость устройства, положительное, целое.
Если разработчику необходимо несколько многоканальных устройств, то используется следующая формула:
STORAGE_ имя1, С1/имя2, С2…/имяn, Cn,
где имяi – число или символ, Ci – емкость i-го устройства.
Для занятия устройства и его освобождения используется следующая пара блоков.
Блок ENTER (войти) – транзактзанимает многоканальное устройство
Формат записи:
ENTER A, [B],
где A – имя многоканального устройства, B – количество одновременно занимаемых устройств. По умолчанию В=1.
При моделировании МКУ события происходят в следующем порядке:
а) транзакт ожидает своей очереди, если это необходимо;
б) транзакт занимает устройство;
в) устройство осуществляет обслуживание на протяжении некоторого интервала времени;
г) транзакт освобождает устройство.
Итак, транзакт может войти в блок ENTER, если многоканальное устройство находится в доступном состоянии и достаточно емкости. В противном случае транзакт будет задержан в предшествующем ENTER блоке.
|
|
Блок LEAVE (выйти) – транзакт выходит из многоканального устройства.
Формат записи блока:
LEAVE A, [B],
где А - номер или имя многоканального устройства, В - число освобожденных единиц многоканального устройства.
Текущее содержимое многоканального устройства уменьшается на В.
Если в модели используются объекты типа многоканального устройства, то данные стандартной статистики, выводимые в результате моделирования, будут следующими.
STORAGE | CAP. | REMAIN | MIN | MAX |
EN- TRIES | AVL. | AVE.C | UTIL. | RETRY | DELAY |
Рисунок 3.5 – Стандартная статистика МКУ
STORAGE – имя многоканального устройства (МКУ).
CAP. – емкость МКУ.
REMAIN – количество единиц свободной емкости МКУ в конце моделирования.
MIN – минимальное количество использованной емкости МКУ за период моделирования.
MAX – максимальное количество использованной емкости.
ENTRIES- количество входов в МКУ за период моделирования.
AVL. – определяет состояние готовности МКУ в конце моделирования: 1 – готов, 0 – нет.
AVE.C – среднее число занятой емкости за период моделирования.
UTIL. – средний коэффициент использования всей устройств МКУ.
RETRY – количество транзактов, ожидающих специальных условий, зависящих от состояния МКУ.
DELAY – количество транзактов, ожидающих возможности входа в блок ENTER.
3.7 Логические ключи.
В языке GPRS есть объект, предназначенный для определения логического состояния блоков, называемый логическим ключом. Логический ключ может находится в одном из трёх состояний: «включено», S(SET), «выключено», R(RESET) или «ключ инвертируется», I (INVERT).
|
|
Блок LOGIC – используется для включения, выключения или инвертирования положения ключа. Положение ключа можно проверить любым транзактом в любой части модели.
Блок имеет следующий формат:
LOGIC X A,
где A – имя или номер ключа, X – принимает значения S,R,I.
Логический ключ имеет СЧА LS/номер ключа/ или LS$/имя ключа/.
Для проверки состояния логических ключей используется следующий блок.
Блок GATE (впустить или переместить в зависимости от состояния) – проверяет состояние логического ключа.
Блок имеет следующий формат:
GATE X A, [B],
где X=LR или X=LS, A- имя или номер проверяемого ключа, B – метка блока, к которому будет направлен транзакт в случае невыполнения условия, заданного условным оператором Х.
Условный оператор может принимать следующие значения:
LS – равен 1, если логический ключ, заданный операндом А, включен; 0 – если выключен; LR – равен 1, если логический ключ, заданный операндом А, выключен, 0 – если включен.