Практическое занятие № 4. Обработка семейств транзактов в GPSS
1. Цель занятия
1.1. Изучить методику создания и использования семейств транзактов в GPSS
1.2. Составить программу по заданию, выданному преподавателем
1.3. Выполнить расчеты и проанализировать полученные результаты
2. Порядок выполнения работы
2.1. Ознакомиться с основами создания и использования семейств транзактов в GPSS
2.2. Получить исходные данные у преподавателя и составить программу
2.3. Выполнить расчет
2.4.Проанализировать статистику и оформить отчет с результатами расчета
3. Содержание отчета
3.1. Ответы на контрольные вопросы
3.2. Исходные данные
3.3. Результаты счета с анализом полученных данных
3.4. Выводы
4. Контрольные вопросы
4.1. Блоки SPLIT
4.2. Блок ASSEMBLE
4.3. Блок GATHER
4.5. Блок MATCH
4.6. Управление моделированием в GPSS
1 Расщепление транзактов. Блок SPLIT В GPSS предусмотрена возможность расщепления транзактов.
А – число дополнительных транзактов, вводимых в модель.
В – имя блока, куда будут направлены дополнительные транзакты.
Входной транзакт называется родителем. Его потомки:
Имеют тот же уровень приоритета.
Имеют то же число, тип, значения параметров.
Отметка времени потомков совпадает с отметкой времени родителя.
Родитель, выходя из блока SPLIT безусловно переходит в следующий по порядку блок.
Для задания различия между транзактом-родителем и его потомками предусмотрена возможность упорядочения. При использовании операнда С его значение понимается как номер параметра, в котором родитель и его потомки будут упорядочены по номерам.
Предположим, что при входе транзакта-родителя в блок SPLIT значением операнда С будет j, а величина j–го параметра будет v. Тогда у транзакта-родителя Pj будет увеличен на 1 (v+1), первый транзакт-потомок получит номер (v+2) и т.д.
Пример. Предположим, что транзакт с величиной Р7, равной 0, входит в блок
SPLIT 3,RUT9,7
В результате в модель будут введены три потомка, которые перейдут в блок с именем RUT9. Родитель и его потомки будут иметь упорядоченные номера в седьмом параметре. Значение Р7 у родителя будет равно1 (0+1), у потомков – соответственно 2,3 и 4.
Необязательный операнд D в блоке SPLIT определяет число параметров, которое должно быть у каждого потомка. Если транзакт-потомок имеет больше параметров, чем родитель, то дополнительным параметрам присваивается начальное нулевое значение.
2 Блок ASSEMBLE Целью блока является выход из модели одного или более членов ансамбля (семейства).
А – счетчик соединений. Его величина на единицу превышает число транзактов, которое должно быть удалено из модели.
Первый член ансамбля, войдя в блок, задерживается до прихода других членов ансамбля.
Когда число вошедших транзактов сравняется со значением счетчика соединений, то:
• транзакт, прибывший первым, продолжает движение в модели;
• остальные члены ансамбля выводятся из модели.
Свойства блока ASSEMBLE
1.Для каждого ансамбля в одном блоке ASSEMBLE может выполняться только одна операция соединения.
2.В данном блоке ASSEMBLE может параллельно выполняться операция соединения для двух и более ансамблей.
3.Для каждого ансамбля операции соединения могут параллельно выполняться в двух и более блоках.
4.После завершения одной операции соединения в данном блоке может начаться другая операция для того же ансамбля.
С точки зрения цепей, остающийся член ансамбля при входе в блок ASSEMBLE выводится из цепи текущих событий и помещается в цепь парности. Цепь парности можно трактовать как единственную для данного ансамбля и данного блока ASSEMBLE.
При достижении заданного значения счетчика соединения, остающийся транзакт выводится из цепи парности и возвращается в цепь текущих событий в качестве последнего члена в своем классе приоритета.
|