- •Санкт-Петербургский Государственный университет аэрокосмического приборостроения
- •Список основных сокращений
- •Введение
- •Глава 1. Организация выполнения курсового проекта.
- •1.1 Указания и правила выполнения курсового проекта
- •1.2 Основные этапы курсового проекта
- •1.3 Примерные сроки контроля выполнения проекта
- •Глава 2. Математическое обеспечение моделирования. Основные понятия теории массового обслуживания
- •2.1. Потоки заявок и их характеристики
- •Протяженность во времени
- •Характер возникновения событий
- •2.2 Основные обозначения теории массового обслуживания
- •2.3. Некоторые аналитические модели смо
- •2.3.1Распределение вероятности длительности интервалов между заявками
- •2.3.2 Распределение вероятностей длительностей обслуживания
- •Глава 3. Средство компьютерного моделирования - яим gpss/h
- •3.1. Назначение и структура gpss/h
- •3.2. Описание языка моделирования
- •3.2.1. Структура модели
- •3.2.2. Логика работы системы моделирования
- •3.3. Операторы gpss/h
- •3.3.1. Операторы блоков (исполнения)
- •1. Безусловный переход:
- •2. Условный переход с одним альтернативным адресом (режим "both"):
- •3. Условный переход со многими альтернативами (режим "all"):
- •4. Статистический переход (переход с заданной вероятностью):
- •3.3.2. Операторы управления
- •Initial( Начальное значение )
- •3.3.3 Операторы описания
- •Integer
- •3.3.4. &-Переменные( амперпеременные –амп)
- •3.3.5. Случайные числа и функции
- •3.4. Порядок работы с gpss/h
- •3.4.1 Создание файла, содержащего модель gpss/h
- •3.4.2. Интерпретация результатов
- •3.5 Правила окончания процесса им
- •3.5.1 Правило окончания по числу стартов.
- •3.5.2 Правило окончания по времени испытаний
- •3.6 Редактирование и отладка с помощью дебагера
- •3.6.1 Запуск отладчика
- •3.6.2 Содержание окон.
- •Окно исходного модельного файла (окно источника).
- •Окно текущего положения (статусное окно)
- •Окно диалога
- •3.6.3 Выход из сеанса отладчика.
- •3.6.4 Функциональные клавиши
- •3.6.5 Команды и коды объектов
- •3.6.6 Основы использования отладчика
- •3.6.7 Практические советы по работе с отладчиком
- •3.7 Примеры применения яим gpss/h
- •3.7.1 Пример использования яим Пример 3.1 моделирования системы контроля качества
- •2.Допущения, сделанные в модели.
- •4.Модельный файл
- •5.Итоговый отчёт
- •6.Выводы и обсуждение
- •3.7.2 Пример использования команд отладчика
- •4. Модельный файл
- •Литература
3.5.2 Правило окончания по времени испытаний
Довольно часто в процессе ИМ требуется определить не средние значения атрибутов объектов, а значения зависящие от времени: производительность, динамику процесса, суммарные затраты за какой то период времени и т.д. В этом случае в качестве контрольной точки берётся не число стартов, а период времени (рабочая смена, сутки, месяц и т.д.). Основным условием при этом является приведение всех рассматриваемых при моделировании интервалов времени к одному масштабу, например, если предельное время задано в сутках, а темп прихода транзактов в минутах, то правильнее все интервалы времени исчислять в минутах. Для реализации правила окончания ИМ по времени программа должна проделать следующие действия :
1. Принять предельный интервал абсолютного времени АС1 - Ту за условную единицу отсчёта (машинная единица).
2. Суммировать времена движения транзактов .
3. Проверять условие АС1 - 0. 3.2
Проиллюстрируем условие 3.2) на рис.3.6. Первый уничтоженный транзакт отмечает своё время на оси АС1, второй приплюсовывает время своего движения к точке Т1, третий к точке Т2 и т. д., до тех пор, пока последний у – ый интервал текущего времени транзакта не сравняется или
АС1пр
0.0 Т1 Т2 Ty-1 АС1Ty
Рис.3.6 Иллюстрация правила окончания ИМ по времени
не превысит значение АС1пр. На рисунке это значение Ту больше предельного значения.
4. Выполнение условия 3.2 приводит к появлению машинной единицы (см. п.1), которая сравнивается со значением операнда А =1 ОБ START, результат обнуляется, что приводит к выдаче сигнала о прекращении процесса ИМ.
Указанные действия программы реализуются следующим образом:
-Обязательно вводится дополнительный парный программный модуль:
GENERATEAC1пр.
TERMINATE1 ,
называемый таймером, который учитывает накапливаемое время движения транзактов. Значение операнда А ОБ GENERATEравняется заданному предельному интервалу АС1пр., других операндов нет.
- В обязательном порядке обнуляются значения операндов А всех ОБ TERMINATEмодуля исполнения МФ.
- Значение операнда А ОУ STARTв модуле управления устанавливается равным 1.
Рассмотрим этот простой алгоритм на примере Д), который модифицируем для окончания по времени работы в течение 5 ч. или 300 минут.
Д) SIMULATE Е) SIMULATE
GENERATE 50 GENERATE 50
TERMINATE 1 TERMINATE 0
GENERATE 75 GENERATE 75
TERMINATE 1 TERMINATE 0
START 3 GENERATE 300
END TERMINATE 1
START 1
END
Рассмотрим некоторые особенности примера Е).
Транзакты в МФ не терминируются, а лишь отмечают факт своего прохода отметкой на оси АС1 (запомним это важное обстоятельство на будущее), таймер срабатывает при выполнении условия 3.2. Показания операндов А ОБ TERMINATEи ОУSTARTвычитаются, обнуляются, что служит командой для прекращения процесса ИМ.
Для обратного перехода к управлению с помощью числа стартов необходимо:
- Удалить из модуля управления МФ таймер.
- Записать в поле операнда А ОУ STARTжелаемое число стартов.
- Записать в поля операндов А ОБ TERMINATEжелаемые значения.
В примере Е) мы впервые сталкиваемся с весьма важным обстоятельством, когда 2 транзакта из разных ГСЧ приходят в одно и тоже время, такие моменты в нашем примере наступают в 150 и 300 временных дискрет, в эти моменты транзакты становятся связанными по времени. Возникает вопрос, как они проходят по МФ? Нельзя забывать, что транзакты двигаются один за другим по одному в единицу времени. Для решения этой проблемы в GPSS/Hпредусмотрены чёткие правила:
- Транзакты одинакового приоритета записываются в списке текущих событий - СТС в порядке возрастания их ИН. Следовательно проблема решается просто: вначале исполняется транзакт с меньшим ИН, а затем с большим ИН, но имеющим одно и тоже время. При этом засечка на оси АС1 будет одинаковой.
- При разных приоритетах, если транзакты связаны по времени первым движется транзакт, имеющий больший приоритет.