logo
Учебное пособие_Моделир систем_Зиновьев

4.14.1. Атрибуты транзактов

Атрибуты транзактов - характеристики, связанные с транзактами. Они есть у каждого транзакта и изменяются при движении транзактов по модели. Атрибуты транзактов делятся на две категории: встроенные (номер транзакта - XID1; номер блока, в котором находится транзакт; номер блока, куда войдет транзакт; время нахождения транзакта в модели - M1; уровень приоритета транзакта - PR) и определяемые пользователем или параметры (байтовый, полусловный, полнословный, действительный).

В GPSS/H возможно изменять только два встроенных атрибута: метку времени (присваивается транзакту, как только он создается блоком GENERATE) и уровень приоритета транзакта (первоначально задается в блоке GENERATE). В процессе перемещения транзактов по модели их параметры могут устанавливаться и модифицироваться в соответствии с заданной пользователем логикой. Эти значения можно использовать в качестве операндов блоков или аргументов функций.

Имя параметра состоит из двух частей: группового имени и номера конкретного члена этой группы. Групповым именем являются символы PH, PF, PB, PL в зависимости от типа параметра (полусловного, полнословного, байтового и действительного соответственно).

Тип и количество параметров каждого типа для транзакта определяется посредством блока GENERATE в операндах F,G,H. (значением по умолчанию является PH с количеством параметров равным 12).

Пример задания параметров транзактов:

GENERATE 7,,,,,4PF,8PL

транзакты будут создаваться каждые 7 единиц времени. Каждый транзакт будет иметь 4 полнословных параметра и 8 действительных.

GENERATE 5

транзакты будут создаваться каждые 5 единиц времени. Каждый транзакт будет иметь 12 полусловных параметров.

Полусловный параметр (PH) может быть целым значением в интервале от -32,768 до 32,767. Полнословный параметр (PF) может быть целочисленным значением в интервале от -2,147,483,648 до 2,147,483,647. Байтовый параметр (PB) может быть целочисленным значением в интервале от -128 до 127. Действительный параметр (PL) может иметь значения с плавающей запятой значением в интервале от -2,147,483,648 до 2,147,483,647.

При входе транзакта в модель начальным значением всех его параметров является 0. Значения параметров определяет пользователь. Чаще всего это делают путем присвоения им некоторых числовых значений в соответствии со схемой кодирования. После этого значения параметров можно использовать явным образом.

Для примера рассмотрим гибкую производственную систему, в которой разделяются детали в зависимости от их веса и вида прошедшей обработки. Пусть транзакт это деталь. Характеристики каждой детали могут быть заданы в параметрах в соответствии со схемой кодирования приведенной в таблице 13.

Таблица 13

Вариант интерпретации значений параметров транзактов

Значение

PВ3

Интерпретация

(№ вид обработки)

Значение

PF7

Интерпретация (вес, кг)

1

2

3

Токарная

Фрезерная

Сверлильная

1

2

3

10

20

30

Например, если транзакт имеет в качестве параметров PВ3 и PF7 значения 3 и 1 соответственно, это означает – просверленная деталь весом 10 кг.

Значения параметров транзактов можно использовать в качестве операндов блоков или аргументов функций.

Примеры использования параметров транзактов:

ADVANCE PF9

транзакт, попавший в блок будет задержан на значение времени, которое записано в 9-ом полнословном параметре этого транзакта.

TRANSFER ,PH5

транзакт будет послан к блоку, номер которого определен в 5-ом полусловном параметре транзакта.