Моделирование на языке GPSS/PC-2
Курсовая работа, 11 Марта 2011, автор: пользователь скрыл имя
Описание работы
Моделирование – это метод исследования сложных систем, основанный на том, что рассматриваемая система заменяется на модель и проводится исследование модели с целью получения информации об изучаемой системе. Под моделью исследуемой системы понимается некоторая другая система, которая ведет себя с точки зрения целей исследования аналогично поведению системы. Обычно модель проще и доступнее для исследования, чем система, что позволяет упростить ее изучение. Среди различных видов моделирования, применяемых для изучения сложных систем, большая роль отводится имитационному моделированию.
Файлы: 1 файл
Курсовая работа по моделированию.doc
— 112.50 Кб (Скачать файл)МИНИСТЕРСТВО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ
РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ
(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
Курсовая
работа
Тема:
«Моделирование на языке
GPSS/PC-2»
Дисциплина:
Моделирование систем
Группа: ВУВ 8-05
Выполнили: Ляпина Елена
Маслова Вера
Такиулина Анастасия
Преподаватель: Колесников
Г.С.
Москва – 2009
Содержание
1. Введение
Моделирование – это метод исследования сложных систем, основанный на том, что рассматриваемая система заменяется на модель и проводится исследование модели с целью получения информации об изучаемой системе. Под моделью исследуемой системы понимается некоторая другая система, которая ведет себя с точки зрения целей исследования аналогично поведению системы. Обычно модель проще и доступнее для исследования, чем система, что позволяет упростить ее изучение. Среди различных видов моделирования, применяемых для изучения сложных систем, большая роль отводится имитационному моделированию.
Имитационное моделирование – это метод исследования, при котором изучаемая система заменяется моделью с достаточной точностью описывающей реальную систему и с ней проводятся эксперименты с целью получения информации об этой системе. Такую модель можно «проиграть» во времени как для одного испытания, так и заданного их множества. При этом результаты будут определяться случайным характером процессов. По этим данным можно получить достаточно устойчивую статистику.
Реализация имитационных моделей на ЭВМ происходит с помощью общецелевых или специализированных языков моделирования. К общецелевым
языкам моделирования относится язык GPSS.
GPSS (англ. General Purpose Simulation System – общецелевая система моделирования) – язык программирования, используемый для имитационного моделирования различных систем, ориентированный на исследование систем массового обслуживания (СМО).
Программа
на языке GPSS состоит из блоков, которые
имитируют различные параметры
«устройств» в модели. Как ожидание,
выполнение работы и другие. Блок начинает
выполняться при попадании в него транзактов
— активных, неделимых элементов модели.
К транзактам применяются различные правила
описанные в блоках программы.
2. Постановка задачи
Система содержит мультиплексный канал и три ЭВМ. Сигналы поступают на вход канала через 10+3 мсек. В канале они накапливаются и предварительно обрабатываются в течении 9+5 мсек. Затем они поступают на обработку в ту ЭВМ, где входная очередь – наименьшая по длине. Очереди к ЭВМ имеют наибольшую емкость 10 сигналов. Сигнал, заставший все очереди заполненными, уходят из системы необработанными. Время обработки сигналов на ЭВМ равно 30+19 мсек.
Написать модель на языке GPSS/PC-2.
ОПРЕДЕЛИТЬ:
Основные характеристики времени реакции
системы.
Схематичное представление
модели
Система обслуживания с несколькими приборами и очередями представляет собой систему обслуживания с несколькими каналами, перед которыми образуются отдельные очереди.
Блок-схема
3.
Модель программы на
языке GPSS/PC-2
; GPSS/PC Program File ZADANIE.GPS. (V 2, # 40550) 12-15-2009 11:55:49
10
******************************
12
*
14 * Barber Shop Simulation *
16
*
18
******************************
20 GENERATE 10,3 ;Create next customer.
25 ADVANCE 9,5
27 SELECT MIN 1,1,3,,Q
29 TEST L Q1,10,OUT
29.1 TEST L Q2,10,OUT
29.2 TEST L Q3,10,OUT
30 QUEUE P1
40 SEIZE P1
50 DEPART P1
60 ADVANCE 30,19
70 RELEASE P1
75 OUT TERMINATE
80 TERMINATE 1
4.
Основные сведения о
блоках, используемых
для создания GPSS-модели.
4.1. Блок GENERATE
GENERATE - это блок, через который транзакты входят в модель. В одной модели может быть несколько различных таких блоков.
GENERATE А,B,C,D,E
Операнды:
А – Средний интервал времени прибытия (среднее время между последовательными приходами транзактов в блоке GENERATE);
B – Половина поля допуска равномерно распределенного интервала. Понимамать как А+В;
C – Смещение интервалов (момент времени, в который в блоке должен появиться первый транзакт);
D – Ограничитель (граничное значение общего числа транзактов, которые могут войти в модель через данный блок в течение времени моделирования. Когда это число достигнуто, данный блок GENERATE перестает быть активным);
E – Уровень приоритета (уровень или класс приоритета каждого из транзактов, входящих в модель через данный блок).
Операнды А и В в блоке являются основными (их наличие обязательно), операнды С, D и E - дополнительными. Все эти операнды не обязательно должны быть заданы явно. Но когда операнды заданы в виде констант, то они должны быть неотрицательными целыми числами.
Использование блока GENERATE в нашей программе:
20 GENERATE 10,3
Здесь
заданы операнды А и В (10 и 3 соответственно).
Такая запись означает, что интервал
времени прибытия равен 5 плюс-минус
3.
4.2. Блок SELECT
Блок SELECT применяется для нахождения номера первого объекта (из определенного диапазона объектов), удовлетворяющего заданному условию.
SELECT lo A, B, C, D, E
где lo – логический оператор;
A
– номер параметра входящего
транзакта, в который
B – номера первого объекта;
C – номер последнего объекта.
Если заданы также поля D и E, то логический оператор lo является оператором сравнения, т.е. имеет вид L, или LE, E, NE и т.д. В поле D тогда задается некоторая величина, а в поле E – СЧА объектов, сравниваемый с величиной поля E.
Логический оператор здесь может быть задан не только теми обозначениями, но также еще двумя: MIN и MAX.
27 SELECT MIN 1,1,3,,Q
Здесь
будет найден номер самой короткой
очереди из трех (с первой по третью)
и записан в первый параметр транзакта.
4.3. Блок QUEUE
QUEUE – помещает транзакт в конец очереди.
QUEUE А,В
Операнды:
А - номер очереди (числовое или символьное имя очереди);
В - число добавляемых к очереди элементов (по умолчанию 1).
Увеличивает текущее содержимое очереди, указанной в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно.
30 QUEUE P1
Это означает присоединить транзакт к очереди P1,увеличив ее длину на единицу.
P1
– номер очереди, в которую поступает
сигнал, и номер ЭВМ, в которой этот сигнал
обрабатывается.
4.5. Блок TEST
TEST - сравнивает два стандартных числовых атрибута.
TEST_r А,В,С
r
- внутренний операнд,
Е - равно; NE - не равно; L - меньше чем; LE - меньше чем или равно;
G - больше чем; GE - больше чем или равно;
А - стандартный числовой атрибут;
В - стандартный числовой атрибут;
С - номер альтернативного блока.
Значения стандартных числовых атрибутов, указанных в поле А и В, сравниваются отношением, определяемым операндом г. Если условие выполняется, транзакт вводится в блек. Если условие не выполняется и определено поле С, транзакт переходит в указанный блок, если же С не задано, транзакт задерживается в предыдущем блоке.
29 TEST L Q1,10,OUT
Если
очередь 1 меньше 10, транзакт входит в
блок TEST, в противном случае транзакт
перейдет в блок с меткой OUT.
4.6. Блок DEPART
DEPART - удаляет транзакт из очереди.
DEPART А,В
А - номер (имя) очереди;
В - число удаляемых из очереди элементов.
Удаляет текущий транзакт из очереди, указанной в поле А, и уменьшает содержимое очереди на значение поля В. Транзакт может находиться одновременно в двух различных очередях.
50 DEPART P1
Текущий
транзакт удаляется из очереди P1, а длина
очереди уменьшается на единицу.
4.7. Блок SEIZE
Блок SEIZE обладает следующими свойствами:
1. Если прибор уже используют, транзакт не может войти в блок, и он должен ждать в очереди.
2. Если прибор не используют, транзакт может войти в блок. В результате произойдет изменение статуса прибора из "незанято" в "занято".
SEIZE А
Транзакт А - имя занимаемого прибора. Имя прибора может быть символическим или числовым.
40
SEIZE P1
4.8. Блок RELEASE
Блок RELEASE - освобождает устройство.