Главная
            
           » 
          
            
            Информационные системы
            
           »
                        
                            
                            Моделирование систем
                            
                           »
                        
                            
                            Средства выбора пути движения транзактов.
                            
                          Средства выбора пути движения транзактов.
Машинная реализация имитационной модели возможна с применением 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.
 
                
                
                
            
                            Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.