Основные концепции моделирования на gpss
Вид материала | Документы |
ТЕМА № 12 "Логика работы интерпретатора" |
- Использование системы моделирования gpss world для сравнения различных реализаций системы, 21.47kb.
- Сравнение качества генерирования случайных чисел в системах имитационного моделирования, 22.53kb.
- От последовательного моделирования в системе gpss\World к распределённому моделированию, 98.79kb.
- Программа курса «Основы математического моделирования» Осень 2007, 25.35kb.
- Тесты псевдослучайных последовательностей, 234.9kb.
- 1. Основные понятия теории моделирования, 279.51kb.
- 1. Введение. Основные понятия моделирования Общая характеристика проблем моделирования., 38.29kb.
- Задачи : 1 дать понятие математической модели, раскрыть суть метода математического, 187.03kb.
- Т. И. Алиев Учебно-исследовательская работа И1 Исследование, 295.14kb.
- Вопросы вступительного экзамена в магистратуру по специальности, 24.96kb.
"Внешние управляющие карты, необходимые для выполнения моделирования на GPSS"
После того, как подготовлена колода перфокарт, содержащая модель на GPSS, прежде чем выполнять моделирование, к ней необходимо добавить внешние управляющие карты. Эти управляющие карты никак не влияют на логику работы модели. В них задается информация о задаче пользователя и об имени выполняемой программы, указывается на необходимость работы с интерпретатором GPSS и т. д. Когда эти управляющие карты добавлены в колоду, получается задание, которое можно выполнить на ЭВМ.
На рис. 11.1 показаны только карты модели; здесь внешние управляющие карты отсутствуют. Вид внешних управляющих карт задания в значительной степени зависит от вычислительной установки, на которой это задание нужно выполнять. Вот почему в данном руководстве не описаны особенности этих карт.В инструкции для оператора GPSS/360 фирмы IBM [номер GH20 0311l] приведены примеры внешних управляющих карт задания для использования программы GPSS/360 под управлением операционной системы OS/360. Каждый желающий воспользоваться интерпетатором GPSS в своем вычислительном центре может получить готовый список управляющих строк, содержащих команды. Мы будем считать, что такая информация нами получена в вычислительном центре, где будет выполнено моделирование наших систем.
Рис.11.1.Пример моделирования 2А. Модель и распечатка программы:
а) заполненный бланк для перфорации модели;
б) распечатка программы для модели, представленной в части а.
На бланке показаны поля имени (LOCATION), операции (OPERATION) и операндов
(помечено символами А,В,С,D,E,F, G). На распечатке поле имени отмечено символами *LOC.
а)
LOCATION | | OPERATION | A,B,C,D,E,F ------------------------> | ||||||||||||||||||||||||||||||||||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 0 | 1 1 | 1 2 | 1 3 | 1 4 | 1 5 | 1 6 | 1 7 | 1 8 | 1 9 | 2 0 | 2 1 | 2 2 | 2 3 | 2 4 | 2 5 | 2 6 | 2 7 | 2 8 | 2 9 | 3 0 | 3 1 | 3 2 | 3 3 | 3 4 | 3 5 | 3 6 | 3 7 | 3 8 | 3 9 | 4 0 | 4 1 | 4 2 | 4 3 | 4 4 | 4 5 | 4 6 |
| | | | | S | I | M | U | L | A | T | E | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
* | | | | | M | O | D | E | L | | S | E | G | M | E | N | T | | 1 | | | | | | | | | | | | | | | | | | | | | | | | | | |
* | | | | | G | E | N | E | R | A | T | E | | 1 | 8 | , | 6 | | П | Р | И | Х | О | Д | | К | Л | И | Е | Н | Т | О | В | | | | | | | | | | | | |
| | | | | Q | U | E | U | E | | | | | J | O | E | Q | | П | Р | И | С | О | Е | Д | И | Н | Е | Н | И | Е | | К | | О | Ч | Е | Р | Е | Д | И | | | | |
| | | | | S | E | I | Z | E | | | | | J | O | E | | | П | Р | И | Х | О | Д | | В | | К | Р | Е | С | Л | О | | П | А | Р | И | К | М | А | Х | Е | Р | А |
| | | | | D | E | P | A | R | T | | | | J | O | E | Q | | У | Х | О | Д | | И | З | | О | Ч | Е | Р | Е | Д | И | | | | | | | | | | | | |
| | | | | A | D | V | A | N | C | E | | | 1 | 6 | , | 4 | | О | Б | С | Л | У | Ж | И | В | А | Н | И | Е | | У | | П | А | Р | И | К | М | А | Х | Е | Р | А | |
| | | | | R | E | L | E | A | S | E | | | J | O | E | | | О | С | В | О | Б | О | Ж | Д | Е | Н | И | Е | | П | А | Р | И | К | М | А | Х | Е | Р | А | | | |
| | | | | T | E | R | M | I | N | A | T | E | | | | | | У | Х | О | Д | | И | З | | П | А | Р | И | К | М | А | Х | Е | Р | С | К | О | Й | | | | | |
* | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
* | | | | | M | O | D | E | L | | S | E | G | M | E | N | T | | 2 | | | | | | | | | | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | G | E | N | E | R | A | T | E | | 4 | 8 | 0 | , | 1 | | Т | А | Й | М | Е | Р | | П | Р | И | Х | О | Д | И | Т | | В | | М | О | М | Е | Н | Т | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | В | Р | Е | М | Е | Н | И | , | Р | А | В | Н | Ы | Й | | 4 | 8 | 0 | | |
| | | | | T | E | R | M | I | N | A | T | E | | 1 | | | | | З | А | В | Е | Р | Ш | Е | Н | И | Е | | П | Р | О | Г | О | Н | А | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
* | | | | | C | O | N | T | R | O | L | | C | A | R | D | S | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
* | | | | | S | T | A | R | T | | 1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | E | N | D | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
б)
BLOCK NUMBER *LOG OPERATION A,B,C,D,E,F,G COMMENTS SIMULATE * * MODEL SEGMENT 2 * 1 GENERATE 460 TIMER ARRIVES AT TIME 460 2 TERMINATE 1 SMUT OFF THE RUN * * MODEL SEGMENT 1 * 3 GENERATE 16,6 CUSTOMERS ARRIVE 4 QUEUE JOEQ ENTER THE LINE 5 SEIZE JOE CAPTURE THE BARBER 6 DEPART JOEQ LEAVE THE LINE 7 ADVANCE 16,4 USE THE BARBER 8 RELEASE JOE FREE THE BARBER 9 TERMINATE LEAVE THE SHOP * * CONTROL CARDS * START 1 START THE RUN END RETURN CONTROL TO OPERATING SYSTEM |
ТЕМА № 12
"Логика работы интерпретатора"
В предыдущих параграфах мы описали операции, выполняемые интерпретатором. Это описание, тем не менее, не является достаточным. Например, нами был рассмотрен вопрос о движении транзактов от блока к блоку. Все еще не ясно, какой транзакт интерпретатор выберет следующим для продвижения в модели, когда другой транзакт прекратил двигаться, или в чем заключается cyть дисциплины обслуживания очереди "первым пришел - первым обслужен внутри одного приоритетного класса". На эти вопросы можно будет дать удовлетворительный ответ только после того, как будет рассмотрена логика, на которой основана работа интерпретатора.
В основном логика работы интерпретатора становится понятной из рассмотрения механизма отслеживания пути транзактов, движущихся в модели. Интерпретатор рассматривает каждый транзакт как элемент одной или нескольких цепей. Каждый транзакт может быть представлен как звено в цепи. Цепи являются открытыми, а не замкнутыми, следовательно, они имеют два конца, начальный и конечный. В качестве элемента цепи транзакт занимает определенное положение относительно начала цепи. Положение транзакта в цепи тесно связано с тем, как скоро транзакт должен снова вернуться в модель для продолжения движения. Последовательность обработки, в свою очередь, тесно связана с временем возникновений событий при выполнении моделирования.
Существуют цепи:
текущих событий;
будущих событий;
пользователя;
прерывания;
парности.
Имеется только одна цепь текущих и одна цепь будущих событий. В общем случае может существовать более чем одна цепь пользователя, цепь прерывания и цепь парности.
Изучение цепей текущих и будущих событий мы начнем здесь и далее будем продолжать его.
Цепь текущих событий состоит из тех транзактов, для которых планируется их продвижение в одном или нескольких блоках в течение текущего значения модельного времени или в течение ближайшего времени. В цепь текущих событий входят те транзакты, движение которых заблокировано ввиду текущих условий в модели. (По желанию пользователя транзакты могут быть перенесены из цепи текущих событий в цепь пользователя. Это можно сделать для уменьшения времени моделирования, использования нетипичной дисциплины обслуживания или для того и другого.Например,транзакт может быть временно заблокирован ввиду планирования его входа в блок SEIZE, когда требуемый прибор находится в состоянии "занято".
Цепь будущих событий состоит из таких транзактов, движение которых не планируется до наступления некоторого времени в будущем.
Описанные действия интерпретатора сведены в блок-схемы рис.12.1 и 12.2. Далее будут описаны эти фазы и объяснено, как действует интерпретатор.
Рис.12.1. Фаза коррекции таймера модельного времени интерпретатора GPSS.
Рис.12.2. Фаза просмотра интерпретатора GPSS.
ТЕМА № 13
"Первый пример использования цепей текущих и будущих событий"
Рассмотрим, как интерпретатор GPSS использует цепи текущих и будущих событий на примере моделирования системы с одним прибором и очередью, представленном на рис. 13.1.
Рис. 13.1.Блок-схема для примера моделирования 2А.
Для этого надо сделать следующее:
- Определить обозначения соответствующей информации о транзактах.
- Задать распределения интервалов прихода и обслуживания транзактов.
- Ввести таблицы, показывающие временную зависимость транзактов, находящихся в цепях текущих и будущих событий.
- Пояснить действия, предпринимаемые интерпретатором, показом изменения информации о транзактах, перемещаемых в модели.