Выбор элементов по их состояниям


 

Транзакт ,входящий в систему обслуживания с несколькими приборами и очередями в простейшем случае осуществляет одно из двух действий :

1. Если один из приборов свободен ,то транзакт его занимает .

2.Если все приборы заняты ,то транзакт поступает в наиболее короткую очередь .Итак ,транзакт должен выбрать очередь .

В системе моделирования существует специальный блок SELECT,который может быть использован для решения этой задачи .

Блок SELECT используется для просмотра множества элементов определенной группы с целью выяснения удовлетворяет ли хотя бы один элемент этого множества задаваемому условию .При входе транзакта в блок SELECT выполняется просмотр состояния элементов заданной группы .Элементы группы пронумерованы(например,с 5 по 9) и просматриваются в порядке возрастания номера на предмет удовлетворения условию .Если найден элемент ,удовлетворяющий условию ,то просмотр прекращается и номер элемента запоминается .

SELECT A,B,C,D,E,F

A - номер параметра ,в который записывается номер элемента группы ,отвечающего заданному условию

B,С - задают наименьший и наибольший номера из множества членов просматриваемой группы

E - групповое имя стандартного числового атрибута(сокращенно СЧА)

F - для приборов

Q - для очередей

D - значение с которым должен сравниваться СЧА.

F - необязательный операнд ;здесь указывается имя блока, в который поступает транзакт, если ни один из элементов множества не отвечает заданному условию и при этом не изменяется значение параметра транзакта.Если операнд F не используется и ни один из элементов множества не отвечает заданному условию, то значением параметра транзакта становится ноль, и транзакт переходит из блока SELECT в следующий блок.

X - вспомогательный операнд .Здесь указывается условие сравнения операнда D и СЧА.Этот операнд может иметь следующие значения :

G - больше

GE - больше либо равно

E - равно

NE - не равно

LE - меньше или равно

L - меньше

Приведем несколько примеров, где может использоваться блок SELECT :

Пр.:Просмотреть приборы 1,2,3 для определения ,который из них (первый по просмотру) свободен (то есть необходимо определить есть ли прибор ,для которого СЧА F равен 0) .

SELECT E 7,1,3,0,F

Пусть F2=0 ,тогда номер 2-го устройства становится значением 7-го параметра. Если все устройства заняты ,то параметр 7 получит значение 0 .

 

Пр.:Просмотреть многоканальные устройства с 5-го по 8-ое для определения ,есть ли хотя бы одно устройство в данное время ,у которого нагрузка ниже 25%(то есть надо определить ,есть ли хотя бы одно устройство ,СЧА которого SR меньше 250) .

SELECT L P3,5,8,250,SR

Здесь P3 используется для косвенной адресации . Пусть P3 равно 6 ,тогда 6-ой параметр получит значение номера устройства ,у которого загруженность меньше 25%.

 

Пр.:Просмотреть очереди с 13-й по 17-ую для определения номера очереди, у которой среднее время нахождения в очереди больше 3( то есть надо определить, есть ли хотя бы одна очередь, СЧА QX которой был бы больше 3) .

SELECT G 5,13,17,3,QX,TR

TR - метка блока

 

Существует разновидность блока SELECT. Этот блок может работать в режиме поиска элемента, у которого значение СЧА является минимальным или максимальным. Тогда операнд D отсутствует.

Вместо операнда X пишется MIN или MAX. Операнды A,B,C и E имеют тот же самый смысл, что и в общем случае, но в результате выполнения блока SELECT параметр A получит значение элемента, имеющего минимальное или максимальное значение параметра .

Пр.:Определить какая из очередей имеет наименьшее значение текущего содержимого.

SELECT MIN 6,5,8,,Q

 

Пр.:Определить какой из приборов имеет наименьшую нагрузку .

SELECT MAX 5,9,14,,FR

 

Пример № 6.1 :Есть три устройства, и у каждого из устройств есть своя очередь. Транзакт должен занять свободный прибор, если свободного прибора нет, то транзакт должен поступить в минимальную очередь.

 

 

  SELECT E 1,1,3,0,F,TR
L QUEUE P1
  SEIZE P1
DEPART P1
  ADVANCE FN$AB
  RELEASE P1
  TRANSFER ,D
TR SELECT MIN 1,1,3,,Q
  TRANSFER ,L

 



Дата добавления: 2016-11-04; просмотров: 1566;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.015 сек.