Главная » Все файлы » Просмотр файлов из архивов » Документы » Задание на лабораторные работы

Задание на лабораторные работы, страница 6

2018-01-12СтудИзба

Описание файла

Документ из архива "Задание на лабораторные работы", который расположен в категории "". Всё это находится в предмете "моделирование систем" из 8 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "моделирование систем" в общих файлах.

Онлайн просмотр документа "Задание на лабораторные работы"

Текст 6 страницы из документа "Задание на лабораторные работы"

Программа 4

SIMULATE

ATR1 VARIABLE SQR(10000)

********************************************************

10 GENERATE 5,1

20 TEST GE C1,V$ATR1,FACIL2

30 SEIZE 1; 1-е устройство

40 ADVANCE 9,1

50 RELEASE 1

60 TRANSFER ,EXIT

100 FACIL2 SEIZE 2; 2-е устройство с меткой FACIL2

200 ADVANCE 13,1

300 RELEASE 2

400 EXIT TERMINATE 1

START 100

END

В программах применены новые объекты GPSS/PC — переменные типа арифметических. Оператор описания арифметической переменной не входит в основное тело программы, он содержит следующие три поля:

  1. поле метки, содержащее имя переменной (в программах — ATR1), которое используется при обращении к этой переменной; поле операции, содержит слово VARIABLE;

  2. поле операндов, в котором задается выражение, используемое для вычисления значения переменной (в программах — SQR(10000), что означает ).

Формат описания арифметической переменной для программ 3,4:

ATR1 VARIABLE SQR(10000)

Поле метки отделяется от поля операции (VARIABLE) как минимум одним пробелом, поле операндов (задаваемое выражение) отделяется от поля операции также пробелом. Пробелы между символами недопустимы. Первый пробел записи считается концом выражения. При любом обращении к переменной в любом месте программы должно употребляться выражение V$ATR1. Символ V обозначает тип объекта GPSS/PC —переменную. Знак $ употребляется для связи объекта как переменной с конкретным обозначением (например, ATR1).

Формат записи блока TEST:

  1. TEST <X> <A>,<B>,<C>

Блок TEST определяет номер следующего блока для вошедшего в него транзакта (сообщения) в зависимости от того, выполняется требуемое условие или нет. Блок управляет потоком транзактов, проверяя выполнение алгебраических отношений между значениями, заданных в полях <A> и <B>. Во вспомогательном поле операции <X> записывается один из шести условных операторов:

LE — меньше или равно (как в программе 3). Отношение истинное, если значение аргумента поля <A> меньше или равно значению аргумента поля <B>;

GE — больше или равно (как в программе 4). Отношение истинное, если значение аргумента поля <A> больше или равно значению аргумента поля <B>;

E — равно. Отношение истинное, если значения обоих аргументов полей <A> и <B> равны;

L — меньше. Отношение истинное, если значение аргумента поля <A> меньше значения аргумента поля <B>;

NE — не равно. Отношение истинное, если значения аргументов полей <A> и <B> не равны.

Если отношение аргументов (числовых атрибутов), заданных в полях <A> и <B>, истинно, транзакт переходит к следующему по номеру блоку (который расположен за блоком TEST). Если отношение ложно, транзакт переходит к блоку, номер или имя которого задан полем <C> (в программах по метке блока устройства FACIL2). В поле <C> задается номер или имя блока для входящего транзакта, если отношение величин, заданных в полях <A> и <B>, ложно. В программах 3 и 4 в поле <A> задан стандартный числовой атрибут С1 — условное относительное время моделирования. В поле <B> задана переменная через имя ATR1 (V$ATR1), которая численно равна 100.

В программе 3 пока значение условного относительного времени не достигнет 100, транзакты от блока TEST будут переходить к следующему по номеру блоку (к блоку SEIZE под номером 30). Как только величина С1 станет больше 100, транзакты будут переходить к блоку, имя которого определено в поле <C>, т.е. к блоку с меткой FACIL2 и с номером 100 — SEIZE. Пока С1100, транзакты на обслуживание отправляются в 1-е устройство. Как только С1 станет больше 100, транзакты начинают отправляться на обслуживание в 2-е устройство.

В программе 4 транзакты после блока TEST будут направляться к следующему по номеру блоку — блоку SEIZE под номером 30, когда значение условного относительного времени С1 будет больше числа 100, которое определено через арифметическую переменную под именем ATR1. Если же значение С1 меньше или равно величины 100, то транзакты отправляются по метке к блоку, заданный в поле <C>. Начало отсчета относительного времени моделирования начинается с нуля, поэтому сначала транзакты будут отправляться к блоку, заданному в поле <C>, т.е. к блоку SEIZE под номером 100.

В поле <В> блока TEST может быть задана ячейка сохраняемых величин, которая определяется с помощью оператора INITIAL. Использование оператора INITIAL дано в программе 5, которая решает ту же задачу, что и программа 3.

Программа 5

SIMULATE

initial x13,100; В ячейку под номером 13 записывается число 100

*********************************************************

10 GENERATE 5,1

20 TEST LE C1,x13,FACIL2; Сравнение С1 и ячейки х13

30 SEIZE 1; 1-е устройство

40 ADVANCE 9,1

50 RELEASE 1

60 TRANSFER ,EXIT

100 FACIL2 SEIZE 2; 2-е устройство с меткой FACIL2

200 ADVANCE 13,1

300 RELEASE 2

400 EXIT TERMINATE 1

START 100

END

Формат записи оператора INITIAL:

INITIAL <A>,<B>

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

В приводимой программе в поле <A> оператора INITIAL задается ячейка под номером 13 (х13), в которую записывается число 100 (оно находится в поле <B>). Операнд может быть целым или именем. В программе ссылка на ячейку под заданным номером 13 производится как х13 (в поле <B> блока TEST). Фактически в поле <B> блока TEST задано число 100.

Задание к примерам 3, 4:

  • В программе 3 ввести переменные, по которым задать средние времена обработки — натуральные числа от 3 до 19 для первого устройства и от 19 до 3 для второго устройства, соответственно. В исходных программах поменять условия сравнения в поле <X> блока TEST на "меньше", "не равно". При этом произвести замену среднего времени обработки в первом устройстве — задать числа от 3 до 15. В программах 3, 4, 5 ввести блоки для регистрации данных об очередях перед устройствами.

  • С помощью блоков TEST, GATE написать программу по обработке требований в системе, состоящей из пяти устройств, и предусмотреть обработку либо только в четных по номеру устройствах, либо в нечетных. Длительность функционирования системы задать в течение 3 часов, длительность обработки в каждом из устройств 91 мин., интервал генерации требований 71 мин. Изучить и объяснить получаемые результаты моделирования.

Пример использования арифметических переменных

Арифметические переменные (переменные с фиксированной точкой) и арифметические переменные с плавающей точкой описываются соответственно операторами VARIABLE и FVARIABLE. Только при описании переменных с плавающей точкой (FVARIABLE) допускается применение дробных констант, округление результатов происходит после вычисления заданного выражения.

Пример 5. Вычислить и сохранить следующие величины:

Пример решения примера приводится в программе 6.

Программа 6

simulate

asl fvariable (sqr(49)+1/2+3/2)

as2 variable (sqr(49)+1/2+3/2)

as3 fvariable (log(15)+sqr(8))

as4 variable (log(15)+sqr(8))

10 generate 5

20 savevalue mmml,v$asl

30 savevalue mmm2,v$as2

40 savevalue mmm3,v$as3

50 savevalue mmm4,v$as4

100 terminate 1

start 1

end

Задание к примеру 5.

  • Вычисленные значения с помощью операторов VARIABLE и FVARIABLE проверить на стандартном калькуляторе, сравнить и объяснить полученные результаты (на калькуляторе и по файлу стандартного отчета).

Лабораторная работа №5

Недоступность устройств. Блоки FUNAVAIL, FAVAIL.

Недоступность многоканальных устройств. Блоки SUNAVAIL, SAVAIL.

Накопление и синхронизация сообщений. Блоки GATHER, MATCH.

Логические ключи. Блоки LOGIC, GATE.

Цель работы: изучение возможностей системы GPSS/PC для моделирования ситуаций с помощью блоков FUNAVAIL и FAVAIL, SUNAVAIL и SAVAIL, когда в течение определенного времени устройство (многоканальное устройство) обслуживания становится недоступным. Изучение блока GATHER для сбора сообщений одного семейства (ансамбля). Осуществление синхронизации продвижения двух транзактов одного ансамбля (семейства), движущихся по разным путям модели. Изучение ситуаций с коммутируемыми объектами с помощью блоков LOGIC и GATE.

Изучение состояний недоступности устройств обслуживания:

блоки FUNAVAIL, FAVAIL

Блоки FUNAVAIL, FAVAIL предусмотрены для адекватного отображения состояния недоступности в статистике использования устройства обслуживания требований, заявок и т.п. Блок FUNAVAIL делает недоступным устройство до тех пор, пока не вступит в действие блок FAVAIL. Эти блоки действуют совместно. Для блока FUNAVAIL предусмотрены специальные режимы работы, задание которых приводит к следующим действиям над транзактами (сообщениями и т.п.), связанными с недоступным устройством:

— управляющему транзакту, который занимал и генерировал прерывание на устройстве в тот момент, когда оно стало недоступным, может быть разрешено продолжение использования этого устройства;

— прерванные транзакты, которые были прерваны другими транзактами при использовании этого устройства, могут продолжать претендовать на устройство в течение периода недоступности; могут быть сняты из рассмотрения на использование устройства и направлены к вспомогательному блоку или могут претендовать на устройство только по окончании периода недоступности;

— над задержанными транзактами, которые ожидали устройство для его занятия или прерывания в момент, когда оно стало недоступным, совершаются те же действия, что и над прерванными транзактами.

Пример 6. Поток требований, поступающий в систему каждые 5 мин., сначала направляется в первое устройство обслуживания. Каждые 55 мин. на время 15 мин. первое устройство становится недоступным. При этом каждые 11 мин. на время 9 мин. делается попытка прервать поток требований, поступающих в первое устройство. В случае недоступности первого устройства требования направляются на обслуживание во второе, третье и четвертое устройства. Длительность обслуживания: в первом устройстве составляет 4 мин., в остальных — 11 мин. Смоделировать работу системы по обслуживанию 100 требований.

Решение примера 6 приводится как программа 6.

Программа 6

SIMULATE

10 GENERATE 5; Генерирование потока требований

20 FACIL1 SEIZE 1; Устройство №1 с меткой FACIL1

30 ADVANCE 4

40 RELEASE 1

100 exit1 TERMINATE 1

**************************************************************

200 GENERATE 55; Генерирование потока команд по недоступности

210 FUNAVAIL 1,re,FACIL2,,re,FACIL3,re,FACIL4; Недоступность 1-го

220 ADVANCE 15

230 FAVAIL 1; Снятие недоступности 1-го устройства

250 TERMINATE

**************************************************************

300 FACIL2 SEIZE 2; Устройство №2 с меткой FACIL2

310 ADVANCE 11

320 RELEASE 2

350 TRANSFER ,exit1

**************************************************************

400 FACIL3 SEIZE 3; Устройство №3 с меткой FACIL3

410 ADVANCE 11

420 RELEASE 3

450 TRANSFER ,exit1

**************************************************************

500 FACIL4 SEIZE 4; Устройство №4 с меткой FACIL4

510 ADVANCE 11

520 RELEASE 4

550 TRANSFER ,exit1

**************************************************************

600 GENERATE 11; Генерирование потока прерываний

610 PREEMPT 1

620 ADVANCE 9

630 RETURN 1

650 TERMINATE

START 100; Задание числа счетчика завершений

;end

Блоки, связанные с устройствами, FUNAVAIL и FAVAIL, PREEMPT и RETURN действуют попарно. Попытка прерывания первого устройства блоком PREEMPT позволяет задействовать все рабочие поля блока FUNAVAIL. Один блок FUNAVAIL осуществляет распределение требований по устройствам.

Формат записи блока FUNAVAIL:

210 FUNAVAIL 1,re,FACIL2, ,re,FACIL3,re,FACIL4

В поле <A> задается имя или номер устройства (в программе номер 1), которое должно стать недоступным. В поле <B> задаются режимы работы с транзактами (требованиями, сообщениями), использующими устройство в момент, когда оно становится недоступным:

  • режим RE (режим удаления — remove) означает, что занимавший устройство транзакт, больше не может претендовать на устройство. Удаленный транзакт попытается войти в альтернативный блок, заданный в поле <C>. В программе использован режим RE (re в поле <B>);

  • режим СО (режим продолжения — continue) позволяет транзакту использовать устройство в период недоступности;

  • если режим не задан (режим по умолчанию). то это означает, что транзакт, использующий устройство, прерывается до тех пор, пока устройство вновь не станет доступным.

В поле <C> задается номер или имя блока, к которому направляется транзакт, использующий устройство в момент, когда оно становится недоступным (в программе транзакт отправляется в блок с меткой FACIL2).

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