Механизм генерации транзактов в модели
| Категория реферата: Рефераты по кибернетике
| Теги реферата: скачать реферат бесплатно без регистрации, решебник 8
| Добавил(а) на сайт: Amfilohij.
Предыдущая страница реферата | 1 2 3
TERMINATE
GENERATE 100000
TERMINATE 1
START 1
Например, в модели из двух сегментов, приведенной на рис. 2, первый
(основной) сегмент выполняет те же функции, что и в предыдущем примере.
Заметим, однако, что поле A блока TERMINATE в первом сегменте пусто, т.е.
уничтожаемые транзакты не уменьшают содержимого счетчика завершений. Во
втором сегменте блок GENERATE создаст первый транзакт в момент модельного
времени, равный 100000. Но этот транзакт окажется и последним в данном
сегменте, так как, войдя в блок TERMINATE, он обратит в 0 содержимое
счетчика завершений, установленное оператором START равным 1. Таким
образом, в этой модели гарантируется завершение прогона в определенный
момент модельного времени, а точное количество транзактов, прошедших через
модель, непредсказуемо. В приведенных примерах транзакты, входящие в модель
через блок GENERATE, в тот же момент модельного времени уничтожались в
блоке TERMINATE. В моделях систем массового обслуживания заявки
обслуживаются приборами (каналами) СМО в течение некоторого промежутка
времени прежде, чем покинуть СМО. Для моделирования такого обслуживания, т.е. для задержки транзактов на определенный отрезок модельного времени, служит блок ADVANCE (задержать), имеющий следующий формат: имя ADVANCE A,B
Операнды в полях A и B имеют тот же смысл, что и в соответствующих
полях блока GENERATE. Следует отметить, что транзакты, входящие в блок
ADVANCE, переводятся из списка текущих событий в список будущих событий, а
по истечении вычисленного времени задержки возвращаются назад, в список
текущих событий, и их продвижение по блок-схеме продолжается. Если
вычисленное время задержки равно 0, то транзакт в тот же момент модельного
времени переходит в следующий блок, оставаясь в списке текущих событий. В
приведенном ниже сегменте транзакты, поступающие в модель из блока GENERATE
через случайные интервалы времени, имеющие равномерное распределение на
отрезке [60;140], попадают в блок ADVANCE. Здесь определяется случайное
время задержки транзакта, имеющее равномерное распределение на отрезке
[30;130], и транзакт переводится в список будущих событий. По истечении
времени задержки транзакт возвращается в список текущих событий и входит в
блок TERMINATE, где уничтожается. Заметим, что в списке будущих событий, а
значит и в блоке ADVANCE может одновременно находиться произвольное
количество транзактов.
GENERATE 100,40
ADVANCE 80,50
TERMINATE 1
В рассмотренных выше примерах случайные интервалы времени подчинялись равномерному закону распределения вероятностей. Для получения случайных величин с другими распределениями в GPSS/PC используются вычислительные объекты: переменные и функции.
Транзакты могут входить в модель не только через блок GENERATE, но и путем создания копий уже существующих транзактов в блоке SPLIT, имеющем следующий формат: имя SPLIT A,B,C
В поле A задается число создаваемых копий исходного транзакта
(родителя), входящего в блок SPLIT. После выхода из блока SPLIT транзакт-
родитель направляется в следующий блок, а все транзакты-потомки поступают в
блок, указанный в поле B. Если поле B пусто, то все копии поступают в
следующий блок. Транзакт-родитель и его потомки, выходящие из блока SPLIT, могут быть пронумерованы в параметре, имя или номер которого указаны в поле
C. Если у транзакта-родителя значение этого параметра при входе в блок
SPLIT было равно k, то при выходе из блока оно станет равным k+1, а
значения этого параметра у транзактов-потомков окажутся равными k+2, k+3 и
т.д.
Например, блок SPLIT 5,MET1,NUM создает пять копий исходного транзакта
и направляет их в блок с именем MET1. Транзакт-родитель и потомки
нумеруются в параметре с именем NUM. Если, например, перед входом в блок
значение этого параметра у транзакта-родителя было равно 0, то при выходе
из блока оно станет равным 1, а у транзактов-потомков значения параметра
NUM будут равны 2, 3, 4, 5 и 6.
В приведенных выше примерах транзакты, выходящие из любого блока, всегда поступали в следующий блок. В более сложных моделях возникает необходимость направления транзактов к другим блокам в зависимости от некоторых условий. Эту возможность обеспечивают блоки изменения маршрутов транзактов.
Блок TRANSFER служит для передачи входящих в него транзактов в блоки, отличные от следующего. Блок имеет девять режимов работы, из которых
рассмотрим здесь лишь три наиболее часто используемых. В этих трех режимах
блок имеет следующий формат: имя TRANSFER A,B,C смысл операндов в полях A,
B и C зависит от режима работы блока.
В режиме безусловной передачи поля A и C пусты, а в поле B указывается имя блока, к которому безусловным образом направляется транзакт, вошедший в блок TRANSFER. Например: TRANSFER ,FINAL
В режиме статистической передачи операнд A определяет вероятность, с
которой транзакт направляется в блок, указанный в поле C. С вероятностью 1-
A транзакт направляется в блок, указанный в поле B (в следующий, если поле
B пусто). Вероятность в поле A может быть задана непосредственно десятичной
дробью, начинающейся с точки. Например, блок TRANSFER .75,THIS,THAT с вероятностью 0,75 направляет транзакты в блок с именем THAT, а с
вероятностью 0,25 - в блок с именем THIS. Если же поле A начинается не с
десятичной точки и не содержит одного из ключевых слов - признаков других
режимов работы блока, то его значение рассматривается как количество
тысячных долей в вероятности передачи. Например, предыдущий блок TRANSFER
можно записать также в следующем виде: TRANSFER 750,THIS,THAT
В режиме логической передачи в поле A записывается ключевое слово BOTH.
Транзакт, поступающий в блок TRANSFER, сначала пытается войти в блок, указанный в поле B (или в следующий блок, если поле B пусто), а если это не
удается, т.е. блок B отказывает транзакту во входе, то в блок, указанный в
поле C. Если и эта попытка неудачна, то транзакт задерживается в блоке
TRANSFER до изменения условий в модели, делающего возможным вход в один из
блоков B или C, причем при одновременно возникшей возможности предпочтение
отдается блоку B. Например: TRANSFER BOTH,MET1,MET2
Блок TEST (проверить) служит для задержки или изменения маршрутов
транзактов в зависимости от соотношения двух СЧА. Он имеет следующий
формат: имя TEST X A,B,C. Вспомогательный операнд X содержит условие
проверки соотношения между СЧА и может принимать следующие значения: L; LE;
E; NE; GE; G. Поле A содержит первый, а поле B - второй из сравниваемых
СЧА. Если проверяемое условие A X B выполняется, то блок TEST пропускает
транзакт в следующий блок. Если же это условие не выполняется, то транзакт
переходит к блоку, указанному в поле C, а если оно пусто, то задерживается
перед блоком TEST. Например, блок TEST LE P$TIME,C1 не впускает транзакты, у которых значение параметра с именем TIME больше текущего модельного
времени. Блок TEST L Q$LINE,5,OUT направляет транзакты в блок с именем OUT, если текущая длина очереди LINE больше либо равна 5.
Для задержки или изменения маршрута транзактов в зависимости от
состояния аппаратных объектов модели служит блок GATE, имеющий следующий
формат: имя GATE X A,B. Вспомогательный операнд X содержит код состояния
проверяемого аппаратного объекта, а в поле A указывается имя или номер
этого объекта. Если проверяемый объект находится в заданном состоянии, то
блок GATE пропускает транзакт к следующему блоку. Если же заданное в блоке
условие не выполняется, то транзакт переходит к блоку, указанному в поле B, а если это поле пусто, то задерживается перед блоком GATE. Операнд X может
принимать следующие значения: U; NU; I; NI; SE; SNE; SF; SNF; LS; LR.
Например, блок GATE SNE BUF3 отказывает во входе транзактам, поступающим в
моменты, когда в МКУ с именем BUF3 все каналы обслуживания свободны. Блок
GATE LR 4,BLOK2 направляет транзакты в блок с именем BLOK2, если в момент
их поступления ЛП с номером 4 включен.
Скачали данный реферат: Яшуков, Lukovnikov, Свечников, Alliluev, Васнев, Kaverin, Nikonov.
Последние просмотренные рефераты на тему: менеджмент, ответственность реферат, исторические рефераты, информация реферат.
Категории:
Предыдущая страница реферата | 1 2 3