Курсовая

Курсовая Моделирование на языке GPSS PC-2

Работа добавлена на сайт bukvasha.net: 2015-10-25

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 13.1.2025





МИНИСТЕРСТВО ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ

РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

 
Курсовая работа
Тема: «Моделирование на языке
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 - освобождает устройство.

RELEASE А

Транзакт А - номер устройства (числовое или символьное имя освобождаемого устройства).

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

70          RELEASE      P1
4.9. Блок ADVANCE

ADVANCE - задерживает транзакт.

ADVANCE А,В

Транзакты:

А - среднее время задержки (константа, если В не задано);

В - разброс относительно среднего значения, должен быть меньше или равен А.

Блок ADVANCE моделирует временною задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Если поле В не является FN$, т время задержки является случайным числом, распределенным равномерно на интервале от (А + В) до (А - В). Если поле В является функцией FN$, то время задержки определяете произведением поля А на значение функции в поле В. Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящим от А.

60          ADVANCE      30,19

Такая запись означает, что для каждого транзакта, входящего в этот блок, возможные значения интервалов времени находятся в пределах 11-49 включительно.
4.10. Блок TERMINATE

Транзакты удаляются из модели, попадая в блок TERMINATE. В модели может быть любое число этих блоков. Информация для этого блока задается с помощью единственного операнда А - он определяет величину, которая вычитается из специального счетчика, называемого счетчиком завершений, каждый раз, когда транзакт входит в блок TERMINATE. Если операнд А не задан, то по умолчанию подразумевается значение 0. В этом случае вход транзакта в такой блок не вызывает уменьшения содержания счетчика. При достижении счетчиком значения 0 (ноль) моделирование завершается.

75 OUT      TERMINATE       

Транзакт удален, но значение счетчика завершений не изменяется.    

80                TERMINATE    1

Значение счетчика завершений уменьшается на 1.

     




5. Окно устройств

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

На рисунках представлена работа модели в разный момент времени.






Построение графиков развития событий во времени

 

Построим график для первой и второй очереди. Зададим команды:

PLOT  Q1 20 0 100000

PLOT  Q2 20 0 100000


1. Реферат История развития страхования. Виды страхования
2. Реферат Календарний план робіт
3. Реферат Объекты гражданских прав 7
4. Курсовая на тему Маркетингові дослідження на підприємстві
5. Реферат на тему Пореформенная Россия 1861-1900 годов
6. Реферат Необхідність та сутність і склад позабюджетних фондівУкраїни
7. Реферат Управление маркетинговой деятельностью предприятия на примере Procter amp Gamble
8. Контрольная работа Конкуренция и её виды 9
9. Реферат на тему Streetcar Named Desire Essay Research Paper 1Tennessee
10. Курсовая на тему Аудит валютных средств и валютных операций