Главная » Информационные системы » Моделирование систем » 8. 2.Средства управления траекторией движения транзактов

8. 2.Средства управления траекторией движения транзактов

Машинная реализация имитационной модели возможна с применением 2 различных программных средств построения модели:  специализированных систем (языков) моделирования (GPSS,  AnyLogic);  универсальных языков программирования высокого уровня (Delphi, Java).

При моделировании процессы, события и активности целиком зависят от потоков и траекторий движения транзактов: транзакт, попадая в моделируемую систему, занимает определенные блоки, вызывая при этом события. Наступление событий должно планироваться соответствующими средствами моделирования. При выполнении определенных условий событие вычеркивается из системы моделирования, а на смену ему должны приходить следующие события. При событийном моделировании производственной системы выделяют узловые

моменты динамики в виде событий. В процессе моделирования осуществляется переход (скачок во времени) от предыдущего события к последующему. Каждое событие выполняется мгновенно во времени, модельное время затрачивается только на переход от события к событию. Реализация событий во времени напоминает цепную реакцию: при отработке любого события планируется одно или несколько последующих (будущих) событий.

Транзакты (заявки, запросы, сообщения) – это динамические объекты, порождаемые в процессе моделирования.

 В более  моделях возникает  необходимость  направления  транзактов к другим блокам в  зависимости от некоторых условий. Эту возможность обеспечивают блоки изменения маршрутов транзактов.

GPSS.

ТРАНЗАКТЫ  порождаются в блоке GENERATE , перемещаются по функциональным блокам модели, имитирующим структуру и алгоритм работы моделируемой системы, и удаляются из модели в блоке TERMINATE.

Блок TRANSFER (передать) служит для передачи входящих  в  него  транзактов в блоки, отличные от следующего. Блок имеет девять режимов работы,  из которых рассмотрим здесь лишь  три  наиболее  часто используемых. В этих трех режимах блок имеет следующий формат:

                      имя    TRANSFER    A,B,C

В режиме безусловной передачи поля A и C пусты,  а  в  поле  B указывается имя блока,  к которому безусловным образом направляется транзакт, вошедший в блок TRANSFER. Например:

                        TRANSFER    ,FINAL

 В режиме статистической передачи операнд A определяет  вероятность,  с которой транзакт направляется в блок, указанный в поле C. С вероятностью 1-A транзакт направляется в блок, указанный в поле B

Вероятность в поле A может быть задана  непосредственно  десятичной дробью, начинающейся с точки. Например, блок TRANSFER    .75,THIS,THAT

      с вероятностью 0,75 направляет транзакты в блок с именем THAT,  а с  вероятностью 0,25 - в блок с именем THIS.предыдущий блок TRANSFER можно записать   также в следующем виде:  TRANSFER    750,THIS,THAT

           В режиме  логической  передачи  в поле A записывается ключевое слово BOTH (оба).  Транзакт,  поступающий в блок TRANSFER,  сначала пытается  войти  в блок,  указанный в поле B,  а если это не удается,  т.е. блок B отказывает транзакту во входе,  то в блок,  указанный в поле C.

Блок 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.


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться

Дисциплины