Учебная работа. Курсовая работа: Моделирование на языке GPSS

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Курсовая работа: Моделирование на языке GPSS

Министерство образования и науки

Республики Казахстан

Карагандинский муниципальный технический институт

КУРСОВАЯ РАБОТА

по дисциплине «Спецкурс информатики”

Тема: «Моделирование на языке GPSS»

2009


Содержание

Введение

1. Задание

2. Блок-схема:

3. Листинг программки:

4. Блоки языка GPSS использованных в программке

4.1 Блок GENERATE

4.2 Блок GATE

4.3 Блоки SEIZE и RELEASE

4.4 Блок ADVANCE

4.5 Блок TERMINATE

4.6 Блок FUNAVAIL

4.7 Блок FAVAIL

5. Предназначение блоков программки

6. Обычный отчет GPSS/PC

7. Элементы обычного отчета

7.1 Общая информация о результатах работы модели

7.2 Информация о блоках

7.3 информация о объектах типа “устройство”

7.4 Информация о группах транзактов

Выводы

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



Введение

Процессы функционирования разных систем и сетей связи могут быть представлены той либо другой совокупой систем массового обслуживания (СМО) — стохастических, динамических, дискретно-непрерывных математических моделей. исследование черт таковых моделей может проводиться или аналитическими способами, или методом имитационного моделирования.

Имитационная модель показывает стохастический процесс смены дискретных состояний СМО в непрерывном времени в форме моделирующего метода. При его реализации на ЭВМ делается скопление статистических данных по тем атрибутам модели, свойства которых являются предметом исследовательских работ. По окончании моделирования скопленная статистика обрабатывается, и результаты моделирования получаются в виде выборочных распределений исследуемых величин либо их выборочных моментов. Таковым образом, при имитационном моделировании систем массового обслуживания речь постоянно идет о статистическом имитационном моделировании.

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

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

Одним из более действенных и всераспространенных языков моделирования сложных дискретных систем является в истинное время язык GPSS (General Purpose Simulation System). Он быть может с большим фуррором применен для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка употребляются аналоги таковых обычных компонент СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор схожих компонент дозволяет конструировать сложные имитационные модели, сохраняя обычную терминологию СМО.

язык моделирования дискретных систем GPSS разработан компанией IBM сначала 70-х годов XX века и является одним из самых всераспространенных в мире специализированных языков программирования. Система моделирования GPSS/PC (разных версий) является торговой маркой конторы MINUTEMAN Software. Но необходимо отметить, что GPSS/PC предназначен для работы в операционной системе MS DOS. Потому имеются ограничения, которые в ряде всевозможных случаев не разрешают выполнить разработку и эксплуатацию моделей сложных систем с требуемой степенью детализации. Отмеченных недочетов фактически не имеет общецелевая система моделирования GPSS World, также разработанная компанией MINUTEMAN (США

GPSS — интегрирующая языковая система, применяющаяся для описания пространственного движения объектов. Такие динамические объекты в языке GPSS именуются транзактами
и представляют собой элементы потока. Транзакты «создаются» и «уничтожаются». Функцию всякого из их можно представить как движение через модель М с поочерёдным действием на её блоки. Многофункциональный аппарат языка образуют блоки, описывающие логику модели, сообщая транзактам, куда двигаться и что созодать далее. Данные для ЭВМ подготавливаются в виде пакета управляющих и определяющих карт, которым составляется по схеме модели, набранной из обычных знаков. Сделанная программка GPSS, работая в режиме интерпретации, генерирует и передаёт транзакты из блока в блок. Любой переход транзакта приписывается к определенному моменту системного времени.



1 Задание

Для обеспечения надежности АСУ ТП в ней употребляется две ЭВМ . 1-ая ЭВМ делает обработку данных о технологическом процессе и выработку управляющих сигналов, а 2-ая находится в «жарком резерве». Данные в ЭВМ поступают через 10 ± 2 с, обрабатываются в течении 3 с. свойства обоих ЭВМ схожи. Подключение запасной ЭВМ занимает 5 с, опосля чего же она подменяет основную до восстановления, а процесс ворачивается к нормальному темпу. Отказы ЭВМ происходят через 300 ± 30 с. Восстановление занимает 100 с. Запасная ЭВМ полностью надежна. Смоделировать 1 час работы системы. Найти среднее время нахождения технологического процесса в заторможенном состоянии и среднее число пропущенных из – за отказов данных.


2 Блок
-схема



3 Листинг
программки:

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

Programm TERM PAPER

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

1 GENERATE 10,2

2 GATE FV MAIN,A2

3 A1 SEIZE MAIN

4 ADVANCE 3

5 RELEASE MAIN

6 TERMINATE

7 A2 ADVANCE 5

8 SEIZE REZ

9 ADVANCE 3

10 RELEASE REZ

11 TERMINATE

12 GENERATE 300,30

13 FUNAVAIL MAIN

14 ADVANCE 100

15 FAVAIL MAIN

16 TERMINATE

17 GENERATE 3600

18 TERMINATE 1

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



4. Блоки языка
GPSS использованных в программке


4.1 Блок
GENERATE

Блок GENERATE (генерировать) служит для сотворения транзактов, входящих в модель. Он имеет последующий формат:

имя GENERATE A,B,C,D,E

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

Модификатор-интервал употребляется, когда интервал поступления транзактов является случайной величиной с равномерным законом распределения вероятностей. В этом случае в поле B быть может задан хоть какой СЧА, не считая ссылки на функцию, а спектр конфигурации интервала поступления имеет границы A-B, A+B.


4.2 Блок
GATE

Блок GATE (впустить) служит для задержки либо конфигурации маршрута транзактов зависимо от состояния аппаратных объектов. Блок имеет последующий формат:

имя GATE X A,B

Вспомогательный операнд X содержит код состояния проверяемого аппаратного объекта, а в поле A указывается имя либо номер этого объекта. Если проверяемый объект находится в данном состоянии, то блок GATE пропускает транзакт к последующем у блоку. Если же данное в блоке условие не производится, то транзакт перебегает к блоку, обозначенному в поле B, а если это поле пусто, то задерживается перед блоком GATE.

Операнд X может принимать последующие значения: U (устройство занято); NU (устройство свободно); I (устройство захвачено); NI (устройство не захвачено); SE (МКУ пусто); SNE (МКУ не пусто); SF (МКУ заполнено); SNF (МКУ не заполнено); LS ( ЛП включен), LR (ЛП выключен), FNV (ОКУ труднодоступно), FV (ОКУ доступно).


4.3 Блоки
SEIZE и RELEASE

Для моделирования ограниченных ресурсов СМО в модели должны находиться аппаратные объекты: одноканальные либо многоканальные устройства. Одноканальные устройства создаются в текущей модели при использовании блоков SEIZE (занять) и RELEASE (высвободить), имеющих последующий формат:

имя SEIZE A

имя RELEASE A

В поле A указывается номер либо имя устройства. Если транзакт заходит в блок SEIZE, то устройство, обозначенное в поле A, становится занятым и остаётся в этом состоянии до того времени, пока тот же транзакт не пройдёт соответственный блок RELEASE, освобождая устройство. Если устройство, обозначенное в поле A блока SEIZE, уже занято любым транзактом, то никакой иной транзакт не может войти в этот блок и остаётся в прошлом блоке. Транзакты, задержанные (заблокированные) перед блоком SEIZE, остаются в перечне текущих событий и при освобождении устройства обрабатываются с учетом ценностей и очередности поступления. Каждое устройство имеет последующие СЧА: F — состояние устройства (0 — свободно,1 — занято); FR — коэффициент использования в толиках 1000; FC — число занятий устройства; FT — целая часть среднего времени занятия устройства.


4.4 Блок
ADVANCE

Для задержки транзактов на определенный отрезок модельного времени, служит блок ADVANCE (задержать), имеющий последующий формат:

имя ADVANCE A,B

Операнды в полях A и B имеют этот же смысл, что и в соответственных полях блока GENERATE. Необходимо подчеркнуть, что транзакты, входящие в блок ADVANCE, переводятся из перечня текущих событий в перечень будущих событий, а по истечении вычисленного времени задержки ворачиваются вспять, в перечень текущих событий, и их продвижение по блок-схеме длится. Если вычисленное время задержки равно 0, то транзакт в этот же момент модельного времени перебегает в последующий блок, оставаясь в перечне текущих событий.

Лишь блоки GENERATE и ADVANCE разрешают поместить транзакты в перечень будущих событий. При помощи этих блоков моделируется длительность какого-нибудь действия либо просвет времени меж наступлениями каких-то событий.


4.5 Блок
TERMINATE

Блок TERMINATE (окончить) служит для удаления транзактов из модели, и имеет последующий формат:

имя TERMINATE A

Значение поля A показывает, на сколько единиц миниатюризируется содержимое так именуемого счетчика окончаний при входе транзакта в данный блок TERMINATE. Если поле A не определено, то оно считается равным 0, и транзакты, проходящие через та кой блок, не уменьшают содержимого счетчика окончаний.

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


4.6 Блок
FUNAVAIL

Блоком FUNAVAIL (эмблемой F обозначает ОКУ, UNAVAIL — труднодоступный) моделируется недоступность ОКУ. При использовании этого блока статистика ОКУ не искажается. Форма блока:

FUNAVAIL A, B, C, D, E, F, G, H

Блок делает труднодоступным ОКУ с именованием либо номером, указываемым операндом A.

Все транзакты, обрабатываемые блоком FUNAVAIL, делятся на три класса, которые и определяют предназначение операндов:

— транзакт, занимающий ОКУ (по SEIZE либо PREEMPT) в момент перевода его в труднодоступное состояние (операнды B, C, D);

— ранее прерванные транзакты, находящиеся в перечне прерываний (операнды E, F);

— транзакты, находящиеся в перечне отложенных прерываний и в перечне задержки ОКУ (операнды G, Н). Операндом В задаются режимы обработки транзакта, занимающего ОКУ в момент перевода его в труднодоступное состояние:

— СО — режим продолжения: продолжить обработку занимающего ОКУ транзакта во время недоступности;

— RE — режим удаления: удалить и навести занимающий ОКУ транзакт к блоку, метка которого обязана быть указана операндом С;

— по дефлоту — оборвать обработку и поместить в перечень прерываний ОКУ, опосля восстановления доступности этот транзакт может занять ОКУ и «дообслужиться».

Операнд С — метка блока, в который будет ориентирован в режиме удаления транзакт, занимавший ОКУ в момент перевода его в труднодоступное состояние.

Операнд D — номер либо имя параметра транзакта, занимавшего ОКУ в момент перевода его в труднодоступное состояние; если он будет удален (режим RE), т. е. исключен из СБС, в этот параметр будет записано время, оставшееся удаленному транзакту до конца обслуживания.

Операндом Е задаются режимы обработки транзактов, находящихся к моменту перевода ОКУ в труднодоступное состояние в перечне прерываний, т. е. тех транзактов, сервис которых на данном ОКУ было ранее прервано:

— СО — режим продолжения: продолжить работу ОКУ во время недоступности — обслуживать транзакты из перечня прерываний;

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

— по дефлоту — бросить ранее прерванные транзакты в перечне прерываний ОКУ и запретить им занимать его во время недоступности.

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

Операнд F может употребляться тогда и, когда отсутствует операнд Е (по дефлоту). В этом случае для перемещенных к новенькому блоку транзактов прерывание обслуживания сохраняется.

Операндом G задаются режимы обработки транзактов, находящихся к моменту перевода ОКУ в труднодоступное состояние в перечне отложенных прерываний, т. е. ожидающих выполнения с прерыванием, и в перечне задержки:

— СО — режим продолжения: продолжить работу ОКУ во время недоступности — обслуживать транзакты из перечня отложенных прерываний и перечня задержки;

— RE — режим удаления: удалить и навести транзакты из перечня отложенных прерываний и перечня задержки к новенькому блоку, метка которого долж­на быть указана операндом Н

— по дефлоту — бросить транзакты в перечне отложенных прерываний и перечне задержки ОКУ и запретить им занимать его во время недоступности. Операндом Н указывается метка новейшего блока, к которому в режиме удаления (RE) направляются транзакты из перечня отложенных прерываний и перечня задержки. Когда операнд G не употребляется, недозволено употреблять и операнд Н.


4.7 Блок
FAVAIL

Блок FAVAIL изменяет состояние ОКУ на доступное, т. е. восстанавливает обыденный режим вхождения транзактов в ОКУ. Блок имеет последующий формат:

FAVAIL А

Операнд A — имя либо номер ОКУ.

Все транзакты, ожидающие доступного состояния ОКУ, обозначенного операндом А, активируются и могут попробовать занять его.



5. Предназначение блоков программки


Строчка


Комментарий



1


генератор данных, которые поступают любые 10 ± 2 с



2


Проверка доступности главный ЭВМ , если доступна, то переход в последующий блок, если не доступна, то переход в блок с меткой А2



3


Занятие главный ЭВМ



4


Имитация обработки данных в главный ЭВМ за 3 с



5


Освобождение главный ЭВМ



6


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



7


Имитация включения запасной ЭВМ за 5 с



8


Занятие запасной ЭВМ



9


Имитация обработки данных в запасной ЭВМ за 3 с



10


Освобождение запасной ЭВМ



11


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



12


генератор сбоя главный ЭВМ



13


Выход из строя главный ЭВМ



14


Имитация восстановления главный ЭВМ за 100 с



15


Возвращение главный ЭВМ в строй



16


Удаление транзакта имитирующего сбой главный ЭВМ



17 — 18


Генерация времени моделирования






6. Обычный
отчет GPSS/PC

GPSS/PC Report file REPKURS.GPS. (V 2, # 38123) 12-08-2006 00:11:22 Page 1

START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY

0 3600 18 2 0 312960

LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY

1 1 GENERATE 363 0 0

2 2 GATE 363 0 0

3 A1 3 SEIZE 249 0 0

4 4 ADVANCE 249 0 0

5 5 RELEASE 249 0 0

6 6 TERMINATE 249 0 0

7 A2 7 ADVANCE 114 1 0

8 8 SEIZE 113 0 0

9 9 ADVANCE 113 0 0

10 10 RELEASE 113 0 0

11 11 TERMINATE 113 0 0

12 12 GENERATE 12 0 0

13 13 FUNAVAIL 12 0 0

14 14 ADVANCE 12 1 0

15 15 FAVAIL 11 0 0

16 16 TERMINATE 11 0 0

17 17 GENERATE 1 0 0

18 18 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY

MAIN 249 0.300 3.00 0 0 0 0 0 0

REZ 113 0.094 3.00 1 0 0 0 0 0

XACT_GROUP GROUP_SIZE RETRY

POSITION 0 0

7. Элементы обычного отчета

Строчка заголовка обычного отчета содержит имя файла модели, который сделал отчет. Также в нее включена дата и время прогона модели.


7.1 Общая информация о результатах работы модели

START_TIME — изначальное время. Абсолютное модельное время в момент начала моделирования. Устанавливается равным абсолютному модельному времени при помощи оператора REST либо CLEAR;

END_TIME — конечное время. Абсолютное модельное время, когда счетчик окончания воспринимает

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

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

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

FREE_MEMORY — размер памяти, остававшейся вольной при прогоне модели.


7.2 информация о блоках

LINE — номер строчки начальной программки для всякого блока;

LOC — имя либо номер данного блока в модели;

BLOCK_TYPE — тип блока GPSS;

ENTRY_COUNT — количество транзактов, вошедших в данный блок, с начала работы программки либо опосля крайнего выполнения оператора RESET либо CLEAR;

CURRENT_COUNT — количество транзактов, находящихся в данном блоке к моменту окончания моделирования;

RETRY — количество транзактов, ожидающих специального условия, зависящего от состояния данного блока.


7.3 информация о объектах типа “устройство”

FACILITY — имя либо номер устройства;

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

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

AVE._TIME — среднее время занятия устройства одним транзактом в течение времени моделирования с начала моделирования либо опосля выполнения оператора RESET либо CLEAR;

AVAILABLE — состояние устройства в конце моделирования (равно 1, если устройство доступно и 0 — если труднодоступно);

OWNER — номер транзакта, который занимает устройство (0 — устройство не занято);

PEND — количество транзатов, ожидающих выполнение с прерыванием остальных транзактов (т. е. вошедших в блоки PREEMPT в режиме прерывания);

INTER — количество транзактов, прерванных сейчас (количество транзактов в перечне прерываний);

RETRY — количество транзактов, ожидающих выполнения специального условия, зависящего от состояния данного устройства;

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


7.4 информация о группах транзактов

XACT_GROUP — имя либо номер объекта группы транзактов;

GROUP_SIZE — число транзактов в группе в конце моделирования;

RETRY — число транзактов, ожидающих выполнения специального условия, зависящего от состояния данной группы транзактов.


Выводы

В данной курсовой работе смоделирована работа АСУ ТП, в согласовании с критериями задания. Выводы по работе системы можно создать исходя из данных, приобретенных в обычном отчете GPSS.

Из отчета видно, что по окончании моделирования прошло 3600 секунд (END_TIME), потому что и было задано критериями. Найти загрузку запасной ЭВМ мы можем из той части обычного отчета, где помещена информация о объектах типа “устройство” – загрузка запасной ЭВМ равна 0.094. А коэффициент загрузки главный ЭВМ равен 0.300. Частоту отказов ЭВМ можно найти из дела числа отказов ЭВМ , к общему числу поступивших данных. Эти данные мы так же берем из обычного отчета, но уже из части, где помещена информация о блоках, потому что число поступивших данных – это то количество транзактов, которые прошли через блок GENERATE, а число отказов – это количество транзактов, прошедших через блок FUNAVAIL. Таковым образом частота отказов системы равна 12/363 = 0,033. Повторение моделирования дает несколько модифицированные значения из-за использования иной последовательности случайных чисел.

Функция распределения времени поступления данных в ЭВМ является равномерной, что видно из условия.



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

1. Советов Б.Я. Моделирование систем. Практикум. [текст]: Учебное пособие для вузов/Б.Я. Советов, С.А. Яковлев — 3-е изд., стер. — М.: Высш. шк., 2005. — 295 с.

2. Боев В.Д. Моделирование систем. Инструментальные средства GPSS World. [Текст]: Учебное пособие/В.Д. Боев — СПб: БХВ-Петербург, 2004. — 368 с.

3. Шрайбер Т.Д. Моделирование на GPSS.- M.: Машинострое ние,1980.

4. САПР, Лабораторный практикум, кн.7, под ред. И.П. Норенкова — М.: Высшая школа,1986.

5. Б.Я. Советов, С.А. Яковлев Моделирование систем: курсовое проектирование. — М.: Высшая школа,1988.

6. Наставление по моделированию на GPSS/PC, перевод под ред. к.н.т. Якимова И.М. — Казань,1989.

]]>