Автор работы: Пользователь скрыл имя, 11 Марта 2011 в 13:46, курсовая работа
Моделирование – это метод исследования сложных систем, основанный на том, что рассматриваемая система заменяется на модель и проводится исследование модели с целью получения информации об изучаемой системе. Под моделью исследуемой системы понимается некоторая другая система, которая ведет себя с точки зрения целей исследования аналогично поведению системы. Обычно модель проще и доступнее для исследования, чем система, что позволяет упростить ее изучение. Среди различных видов моделирования, применяемых для изучения сложных систем, большая роль отводится имитационному моделированию.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ
РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ
(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
Курсовая
работа
Тема:
«Моделирование на языке
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 - освобождает устройство.