Разделы

Авто
Бизнес
Болезни
Дом
Защита
Здоровье
Интернет
Компьютеры
Медицина
Науки
Обучение
Общество
Питание
Политика
Производство
Промышленность
Спорт
Техника
Экономика

Косвенная адресация

SPLIT A,B,C

А- сколько потомков дополнительно появятся по отношению к текущему транзакту.

В- метка блока куда поступают потомки.

С- параметр, в котором для каждого родителя и потомка содержится свой номер.

В данном примере родитель интерпретирует роль мастера, поток – ход ВМ.

В первом варианте число транзактов в системе равно числу запасных деталей. Во втором варианте один транзакт связан с функционированием системы.

 

Пр.: ASSIGN 5,1

Прямая адресация. Параметру 5 присваивается значение 1.

ASSIGN P5,1

Косвенная адресация . Параметру, № которого содержится в параметре 5, присвоить значение 1. Эта запись аналогична следующей:

ASSIGN *5,1

Q5- прямая адресация. Q-СЧА

QP5- косвенная адресация.

Q*5- такое обозначение используется в GPSS вместо QP5

 

Пример 9.2Пусть имеется ВС. В ней есть 2 детали (модуля) А и В. Для модуля А – свое время жизни, для модуля В – свое. Когда отказывает, например, А вставляют запасную деталь А, у которой имеется свое время жизни.

 

       
 
   
 

 


* Переменные V1 и V2 задают время жизни деталей 1 и 2 соответственно.

FVARIABLE ..........
FVARIABLE ..........

* Переменная AFIX определяет время ремонта детали 1.

AFIX FVARIABLE
.............    

* Функция BFIX задаёт время ремонта детали 2.

BFIX FUNCTION .........
.............    

*Функция POI является атрибутивно-значимой, то есть в качестве

*результата имеет не конкретное число, а другую функцию или

*переменную. Блок определяет время ремонта (время ремонта зависит от

*типа детали).

POI FUNCTION P3,M2

1,V$AFIX/2,FN$BFIX

* Функция FL является атрибутивно-значимой со списковой структурой.

FL FUNCTION P3,L2

1,2/2,1

  GENERATE ,,,1

*Параметр 1 получит значение переменной 1

  ASSIGN 1,V1
  ASSIGN 2,V2

*Блок SELECT определяет какой из параметров P1 или P2 имеет меньшее *значение, и результат записывается в параметр P3.

L SELECT MIN 3,1,2,,P
  ADVANCE
  SEIZE MACH

* P*3, X*3, V*3 задают косвенное обращение

  ADVANCE P*3
  RELEASE MACH
  ASSIGN FN$FL-,P*3

* После отказа вытаскиваем деталь

  ADVANCE
  SPLIT 1,M
  SEIZE MAST
  ADVANCE FN$POI
  RELEASE MAST
  SAVEVALUE P3+,1
  TERMINATE  

*Проверка наличия деталей отказавшего типа.

M TEST G X*3,0
  SAVEVALUE P3-,1
  ASSIGN P3,V*3
  TRANSFER ,L

 

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

 

Дата публикации:2014-01-23

Просмотров:379

Вернуться в оглавление:

Комментария пока нет...


Имя* (по-русски):
Почта* (e-mail):Не публикуется
Ответить (до 1000 символов):







 

2012-2018 lekcion.ru. За поставленную ссылку спасибо.