Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Удаление транзактов из модели

Введение транзактов в модель

Простейшие операторы GPSS

Для ввода транзактов в модель используется блок GENERATE (Создать). Он создает (генерирует) транзакты в модели согласно заданному закону распределения интервала времени между их поступлением. Этот блок может иметь 5 операндов, т.е. имеет вид:

GENERATE A,B,C,D,E

Операнды A,B,…,E указывают следующие характеристики входного потока (в скобках значение по умолчанию):

A – средний интервал времени между поступлением транзактов (0);

B – половина поля допуска (размах) интервала равномерного распределения (0);

C – время создание первого транзакта (0);

D – ограничитель количества создаваемых транзактов (бесконечность);

E – приоритет создаваемых транзактов (0). В GPSS возможно всего 128 уровней приоритета, они задаются числами от 0 до 127. Чем больше значение приоритета, тем больше преимуществ получает при продвижении по модели транзакт;

На начальном этапе будем рассматривать только равномерное распределение интервалов между транзактами. Для задания других видов распределений нужно использовать специальные функции.

Примеры:

GENERATE 5,3

Генерируются транзакты с равномерным распределением интервала поступления 5±3. Планирование прихода первого транзакта происходит в момент времени, равный 0, путем розыгрыша случайного целочисленного значения от 2 до 8.

GENERATE 10

Поскольку размах (операнд B) по умолчанию равен 0, получаем детерминированный (определенный точно) интервал времени между транзактами, равный 10. Первый транзакт приходит в момент времени 10, второй – в момент 20 и т.д.

GENERATE 3,3,10,5

Первый транзакт приходит в момент времени 10. После этого интервалы прибытия находят из равномерного распределения 3±3, т.е. от 0 до 6 включительно. После прихода пяти транзактов работа блока заканчивается.

GENERATE 8,1,,,4

Транзакты создаются с интервалом 8±1. Приход первого транзакта рассчитывается в момент времени 0. Количество транзактов не ограничено. (Пропущены операнды С и D). Все создаваемые транзакты имеют приоритет, равный 4.

В системе GPSS World предполагается, что приходящий “извне” транзакт входит в блок GENERATE, и в момент его входа в этот блок планируется время прибытия следующего транзакта. Приход самого первого транзакта планируется до начала процесса моделирования.

Транзакты удаляются из модели (уничтожаются), попадая в блок TERMINATE. Блоки TERMINATE (Уничтожить) всегда позволяют выйти из модели всем транзактам, которые пытаются это сделать. Блок TERMINATE может иметь один операнд, т.е. имеет вид

TERMINATE A

Операнд A (по умолчанию 0) указывает число, на которое уменьшается содержимое счетчика числа завершений.

Счетчик числа завершений – это переменная, которая используется для управления окончанием процесса моделирования. Счетчик завершений в модели только один, хотя блоков TERMINATE может быть несколько. При достижении значения счетчика завершений, равного 0, моделирование завершается. Начальное значение счетчика завершений задается с помощью управляющего оператора START (Начать моделирование), имеющего следующий формат:

START A,B

Операнд A – начальное значение счетчика завершений (по умолчанию 0).

B – может иметь значение NP, если после окончания моделирования не требуется выводить стандартный отчет. По умолчанию отчет требуется.

Оператор START может быть записан последним оператором в текст модели, и тогда моделирование начнется сразу же после успешной компиляции модели. Если в тексте модели нет оператора START, то после компиляции модели система ожидает от пользователя дальнейших команд. Команда START может быть введена далее через главное меню.

Счетчик завершений используется для того, чтобы:

a) ограничить число транзактов, “прогоняемых” в модели;

b) ограничить время, в течении которого исследуется объект.

Например, мы хотим закончить моделирование, когда 100-ый транзакт покинет модель. Тогда можно задать в операторе TERMINATE значение операнда A, равное 1:

TERMINATE 1

А начать моделирование командой (или оператором)

START 100

Другая ситуация, если мы хотим закончить моделирование по истечении некоторого времени. Например, мы моделируем работу парикмахерской в течение рабочего дня (8 ч), а единицей времени является одна минута. Тогда в момент времени, равный 480 минут, моделирование должно быть закончено, независимо от того, сколько клиентов прошло через нее, и сколько ней сейчас находятся. Для этого в модель вводится дополнительный сегмент (соответствующий таймеру времени) вида:

GENERATE 480

TERMINATE 1

При этом начальное значение счетчика завершений командой START должно быть задано равное 1, а все другие блоки TERMINATE (уничтожающие транзактов - клиентов) не должны содержать параметров. Тогда в момент модельного времени, равный 480, будет сгенерирован транзакт-таймер и сразу же уничтожен. При этом счетчик завершений станет равен 0, и моделирование прекратится.

<== предыдущая лекция | следующая лекция ==>
Объекты языка GPSS | Задержка транзактов во времени
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 449; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.