ТЕМА (1086517), страница 10

Файл №1086517 ТЕМА (Учебное пособие) 10 страницаТЕМА (1086517) страница 102018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

В предыдущих параграфах мы описали операции, выполняемые интерпретатором. Это описание, тем не менее, не является достаточным. Например, нами был рассмотрен вопрос о движении транзактов от блока к блоку. Все еще не ясно, какой транзакт интерпретатор выберет следующим для продвижения в модели, когда другой транзакт прекратил двигаться, или в чем заключается cyть дисциплины обслуживания очереди "первым пришел - первым обслужен внутри одного приоритетного класса". На эти вопросы можно будет дать удовлетворительный ответ только после того, как будет рассмотрена логика, на которой основана работа интерпретатора.

В основном логика работы интерпретатора становится понятной из рассмотрения механизма отслеживания пути транзактов, движущихся в модели. Интерпретатор рассматривает каждый транзакт как элемент одной или нескольких цепей. Каждый транзакт может быть представлен как звено в цепи. Цепи являются открытыми, а не замкнутыми, следовательно, они имеют два конца, начальный и конечный. В качестве элемента цепи транзакт занимает определенное положение относительно начала цепи. Положение транзакта в цепи тесно связано с тем, как скоро транзакт должен снова вернуться в модель для продолжения движения. Последовательность обработки, в свою очередь, тесно связана с временем возникновений событий при выполнении моделирования.

Существуют цепи:

 текущих событий;

 будущих событий;

 пользователя;

 прерывания;

 парности.

Имеется только одна цепь текущих и одна цепь будущих событий. В общем случае может существовать более чем одна цепь пользователя, цепь прерывания и цепь парности.

Изучение цепей текущих и будущих событий мы начнем здесь и далее будем продолжать его.

Цепь текущих событий состоит из тех транзактов, для которых планируется их продвижение в одном или нескольких блоках в течение текущего значения модельного времени или в течение ближайшего времени. В цепь текущих событий входят те транзакты, движение которых заблокировано ввиду текущих условий в модели. (По желанию пользователя транзакты могут быть перенесены из цепи текущих событий в цепь пользователя. Это можно сделать для уменьшения времени моделирования, использования нетипичной дисциплины обслуживания или для того и другого.Например,транзакт может быть временно заблокирован ввиду планирования его входа в блок SEIZE, когда требуемый прибор находится в состоянии "занято".

Цепь будущих событий состоит из таких транзактов, движение которых не планируется до наступления некоторого времени в будущем.

Описанные действия интерпретатора сведены в блок-схемы рис.12.1 и 12.2. Далее будут описаны эти фазы и объяснено, как действует интерпретатор.

Рис.12.1. Фаза коррекции таймера модельного времени интерпретатора GPSS.

Рис.12.2. Фаза просмотра интерпретатора GPSS.

УПРАЖНЕНИЯ §12

"Логика работы интерпретатора"

  1. Общие вопросы по теме параграфов 12 и 13.
    а) Что такое "время движения" ?.
    б) Какая информация записывается в пятой позиции пятипозиционной записи транзакта?
    в) Сколько всего существует цепей текущих и будущих событий?
    г) В каком порядке располагаются транзакты в цепи будущих событий?
    д) В каком случае могут возникнуть временные узлы в цепи будущих событий? Если они возникают, то как они разрешаются?
    е) В каком порядке располагаются транзакты в цепи текущих событий?
    ж) В каком случае могут возникнуть временные узлы в цепи текущих событий? Если они возникают, то как они разрешаются?
    з) Как интерпретатор GPSS в момент начала фазы коррекции таймера определяет время будущего события в модели?
    и) После того, как таймер модельного времени продвинут, сколько транзактов выбирается из цепи будущих событий и помещается в цепь текущих событий?
    к) При таких условиях транзакт выбирается из цепи текущих событий и помещается обратно в цепь будущих событий?
    л) В чем разница между пассивным и активным буферами транзактов в модели?
    м) В каком порядке располагаются транзакты в пассивном буфере?
    н) Почему нет необходимости разрешать проблему временных узлов в пассивном буфере?
    о) Каким образом транзакты могут "жить" несколько раз в течение периода моделирования?
    п) Проанализируйте следующее утверждение: "После каждой коррекции таймера модельного времени интерпретатор GPSS просматривает цепь текущих событий ровно один раз, а затем снова осуществляет коррекцию времени".
    р) Почему может случиться так, что цепь текущих событий не обязательно должна быть пустой, прежде чем интерпретатор перейдет к выполнению фазы коррекции времени?
    с) Проанализируйте следующее утверждение: "После завершения фазы ввода модели в цепи будущих событий находится ровно один транзакт для каждого блока GENERATE в модели".
    т) Проанализируйте следующее утверждение: "Наименьшим временем движения, которое когда-либо может иметь транзакт, является 1".
    у) Правильно ли то, что цепь текущих событий всегда пуста сразу после завершения фазы ввода модели?

  2. Продумайте, глядя на рис. 2.29, в чем различие между двумя сегментами, изображенными на рис. У4.

Рис.2.29. Фрагмент блок-схемы,показывающий логику работы интерпретатора при выходе транзакта из блока GENERATE и планировании прихода его последователя

Рис.У4.

§13 "Первый пример использования цепей текущих и будущих событий"

Рассмотрим, как интерпретатор GPSS использует цепи текущих и будущих событий на примере моделирования системы с одним прибором и очередью, представленном на рис. 13.1.

Рис. 13.1.Блок-схема для примера моделирования 2А.

Для этого надо сделать следующее:

  1. Определить обозначения соответствующей информации о транзактах.

  2. Задать распределения интервалов прихода и обслуживания транзактов.

  3. Ввести таблицы, показывающие временную зависимость транзактов, находящихся в цепях текущих и будущих событий.

  4. Пояснить действия, предпринимаемые интерпретатором, показом изменения информации о транзактах, перемещаемых в модели.

Обозначения для транзактов

Для транзакта имеется пять типов записей:

  • номер транзакта;

  • время, на которое запланирована попытка войти в следующий блок (время движения);

  • номер блока, через который транзакт сейчас проходит (текущий блок);

  • его уровень приоритета;

  • номер следующего блока, в который делается попытка войти.

Эта информация записывается в виде пяти символов в указанном порядке. Общий вид такой пятипозиционной записи представлен на рис.13.2,а. Численный пример представлен на рис.13.2,б.

Численный пример показывает, что транзакт номер 9 пытается в момент времени, равный 68, выйти из блока 5 и войти в блок 6. Транзакт номер 9 имеет нулевой приоритет.

Рис.13.2.[ Номер транзакта. Время движения. Номер текущего блока.
Уровень приоритета. Номер следующего блока]

[9.68.5.0.6]

Рис. 13.3. Перемещение транзактов между пассивным и активным буферами.

Как указывалось ранее, номер транзактам присваивает интерпретатор. Величина номера зависит от того, как много транзактов могут одновременно находиться в модели. Это число зависит от объема предоставляемой памяти. При объеме памяти в 64К максимальным числом транзактов является 200.

Ясно, что номера транзактов могут быть от 1 до 200. Транзакты могут принадлежать к одной из двух групп. Одна группа - это скрытая или пассивная группа транзактов, находящаяся в пассивном буфере, в отличие от транзактов, уже участвующих в модели. Другая группа хранится в активном буфере транзактов, т. е. они уже вошли в модель через один или более блоков GENERATE и пока еще не удалены из модели. (Существует еще один тип блоков, через которые транзакты могут войти в модель.)

Прежде чем начинается моделирование, транзакты в пассивном буфере располагаются в порядке возрастания номеров. В модели на 64К транзакты в пассивном буфере располагаются в порядке номеров 1, 2,....., 200. Этот буфер можно представить себе как расположенный "сверху - вниз" транзакт 1 находится в вершине буфера, транзакт 2 под ним и т.д. до последнего транзакта 200, находящегося в самом низу.

При возникновении необходимости ввести в модель транзакт интерпретатор достает его из вершины пассивного буфера. Этот транзакт вносится в модель через цепь будущих событий с помощью процедуры, которая будет описана ниже. И наоборот, когда возникает необходимость удалить соответствующий транзакт, его убирают из модели и помещают обратно в вершину пассивного буфера. Перемещение транзактов между пассивным и активным буферами показано на рис.13.3. Номера блоков присваиваются в том порядке, в котором стоят карты блоков в колоде. Например, на рис.13.5 представлено повторение распечатки программы рис.13.4 с номерами блоков, присвоенными интерпретатором. Номера блоков стоят в левой колонке.

Рис.13.4. Пример моделирования 2A. Модель и распечатка программы:
а -заполненный бланк для перфорации модели;
б - распечатка программы для модели, представленной в части а.

На бланке показаны поля имени (LOCATION),операции (OPERATION) и операндов (помечено символами А,В, С,D,Е,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

Рис 13.5. Повторение рис. 13.4

BLOCK

NUMBER *LOC OPERATION A,B,C,D,E,F,G COMMENTS

SIMULATE

*

* MODEL SEGMENT 1

*

1 GENERATE 18,6 CUSTOMERS ARRIVE

2 QUEUE JOEQ ENTERTHE LINE

3 SEIZE JOE CAPTURE THE BARBER

4 DEPERT JOEQ LEAVE THE LINE

5 ADVANCE 16,4 USE THE BARBER

6 RELEASE JOE FREE THE BARBER

7 TERMINATE LEAVE THE SHOP

*

* MODEL SEGMENT 2

*

8 GENERATE 480 TIME ARRIVES AT TIME 480

9 TERMINATE 1 SHUT OFF THE RUN

*

* CONTROL CARDS

*

START 1 SRART THE RUN

END RETURN CONTROL TO OPERATING SYSTEM

Предполагаемые значения интервалов прихода и времени обслуживания

В табл.13.1 представлена последовательность разыгранных значений, являющихся результатом обращения интерпретатора GPSS за первыми четырьмя значениями из выборки чисел с распределением 18 ± 6, которое задано в блоке 1 GENERATE.

Характеристики

Тип файла
Документ
Размер
3,47 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7021
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее