Смекни!
smekni.com

Имитационное моделирование (стр. 1 из 2)

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

Имитационное моделирование


Введение

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

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

Динамические объекты, соответствующие заявкам в системах массового обслуживания, называются в GPSS транзактами. Транзакт – это элемент системы массового обслуживания. Они "создаются" и "уничтожаются" так, как это необходимо по логике модели в процессе моделирования. С каждым транзактом может быть связано произвольное число параметров, несущих в себе необходимую информацию об этом транзакте.

Блоки в GPSS подразделяются на три типа:

· выполняемые, через которые проходят транзакты;

· описательные, на этапе выполнения отсутствуют;

· управляющие работой системы GPSS;

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


1.Породить Транзакт

GENERATE

Среднее_значение_времени_между_транзактами[,Отклонение_от_среднего][,Время_до_первого_транзакта],Количество_порождаемых_транзактов][,Приоритет_транзактов][,Количество_параметров_транзакта][,F|H]. Среднее значение времени по умолчанию

1. Отклонение по умолчанию

0.Время до первого транзакта вычисляется на основании первых двух аргументов. Если оно равно 0, то приравнивается

1. Значение приоритета в интервале от 0 до 127. По умолчанию 0. Значение количества параметров в интервале от 0 до 100. По умолчанию 12. По смыслу блока транзакты не должны входить в GENERATE.

2.Присвоить начальное значение

Описательный блок

INITIAL XНомер_хранимого_значения,

Значениеконстанта

INITIAL XHНомер_хранимого_значения,

Значениеконстанта

INITIAL X$Имя_хранимого_значения,

Значениеконстанта

Пример: INITIAL X4,17

INITIALX$RATE,19

3. Отметить транзакт в очереди

[Метка] QUEUE Имя_очереди[,Число_прибавляемое_

к_длине_очереди]

4. Освободить устройство

[Метка] RELEASE Устройство

Пример: RELEASEIBM5

5. Сохранить значение

[Метка] SAVEVALUE Номер_хранимого_значения[+|],

Значение

Пример: SAVEVALUE 3+,P2

6. Занять без приоритета устройство

[Метка] SEIZE Устройство

Пример: SEIZE IBM5

7. Сравнить значения

[Метка] TEST Операция Первый_операнд,Второй_операнд,

[Метка_передачи_транзакта]

Операция > E|NE|GE|LE|G|L

Пример: TESTEP1,3,BRAK

8. Уничтожить транзакт

[Метка] TERMINATE [Значение_вычитаемое_из_

счетчика_в_START]

Пример: TERMINATE 1

9. Задержать транзакт

[Метка] ADVANCE Среднее_значение_задержки

[,Отклонение_от_среднего]

Пример: ADVANCE 37,7

10. Присвоение параметру транзакта значения

[Метка] ASSIGN Номер_параметра_транзакта,Значение

Пример: ASSIGN 3,1

11. Описать булевскую переменную

Имя_переменной BVARIABLE Логическое_выражение

Пример: BOOL1 BVARIABLESE3 + LR7

12. Покинуть очередь

[Метка] DEPART

Имя_очереди[,Количество_единиц]

Пример: DEPARTQTOWRK

13. Направить транзакт на другую часть модели [Метка] TRANSFER|BOTH| Вероятность Метка1[,Метка2]

Пример: TRANSFER ,LABL2

14. Начать моделирование

Описательный блок.

START Значение_счетчика

Пример: START 200

Целью проектирования является углубленное изучение языка программирования GPSS и приобретение навыков решения прикладных задач на основе моделирования.

Основные возможности разработки: Изучение языка GPSS и создание имитационной модели для системы передачи цифровой информации, позволяющая определить параметры ее функционирования.

GPSSWorldStudentVersion 4.1.3


Задание на курсовое проектирование

Задание 4.

В системе передачи цифровой информации передается речь в цифровом виде. Речевые пакеты передаются через два транзитных канала, буферизуясь в накопителях перед каждым каналом. Время передачи пакета по каналу составляет 5 мс. Пакеты поступают через 6 ± 3 мс. Пакеты, передававшиеся более 10 мс, на выходе системы уничтожаются, так как их появление в декодере значительно снизит качество передаваемой речи. Уничтожение более 30% пакетов недопустимо. При достижении такого уровня система за счет ресурсов ускоряет передачу до 4 мс на канал. При снижении уровня до приемлемого происходит отключение ресурсов.

Смоделировать 10 с работы системы. Определить частоту уничтожения пакетов и частоту подключения ресурса.

Система обозначений объектов моделируемой системы

BOL - метка

KANAL1 – первый канал

KANAL2 – второй канал

MET1 - метка

METBOL - метка

METTERM- метка

METTERM1 метка

OCH_KANAL1 - очередь к первому каналу

OCH_KANAL2 - очередь ко второму каналу

PVREMA1 - метка

PVREMA2 - метка

VREM - метка

VSEGO - метка

VVREMA - метка

Диаграмма IDEF0


Правила и процедуры


Речевые пакеты Выход


Декодер

Рис 1.Контекстная диаграмма

поток на Правила и процедуры

Выбор обработку

канала

Выход

Речевые пакеты

Декодер

Рис 2.Диаграмма декомпозиций


Текст программы

VVrema variable 5

INITIAL X$Vrem,5

GENERATE 6,3

SAVEVALUE Vsego+,1

ASSIGN PVrema1,V$VVrema

ASSIGN PVrema2,V$VVrema

QUEUE Och_kanal1

SEIZE kanal1

DEPART Och_kanal1

ADVANCE P$PVrema1

RELEASE kanal1

QUEUE Och_kanal2

SEIZE kanal2

DEPART Och_kanal2

ADVANCE P$PVrema2

RELEASE kanal2

TEST LE (P$PVrema1+P$PVrema2),10,MetBol

TEST L (X$Bol/X$Vsego),.3,MetTerm

SAVEVALUE Vrem,5

MetTerm TERMINATE

MetBol SAVEVALUE Bol+,1

TEST GE (X$Bol/X$Vsego),.3,Met1

SAVEVALUE Vrem,4

MetTerm1 TERMINATE

Met1 SAVEVALUE Vrem,5

TRANSFER, MetTerm1

GENERATE 100

TERMINATE 1

START 1

Результатымоделирования (листинг)

GPSS World Simulation Report - Untitled Model 1.1.1

Thursday, June 14, 2007 12:06:24

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 100.000 26 2 0

NAME VALUE

BOL 10009.000

KANAL1 10006.000

KANAL2 10008.000

MET1 23.000

METBOL 19.000

METTERM 18.000

METTERM1 22.000

OCH_KANAL1 10005.000

OCH_KANAL2 10007.000

PVREMA1 10003.000

PVREMA2 10004.000

VREM 10001.000

VSEGO 10002.000

VVREMA 10000.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 16 0 0

2 SAVEVALUE 16 0 0

3 ASSIGN 16 0 0

4 ASSIGN 16 0 0

5 QUEUE 16 0 0

6 SEIZE 16 0 0

7 DEPART 16 0 0

8 ADVANCE 16 1 0

9 RELEASE 15 0 0

10 QUEUE 15 0 0

11 SEIZE 15 0 0

12 DEPART 15 0 0

13 ADVANCE 15 1 0

14 RELEASE 14 0 0

15 TEST 14 0 0

16 TEST 14 0 0

17 SAVEVALUE 14 0 0

METTERM 18 TERMINATE 14 0 0

METBOL 19 SAVEVALUE 0 0 0

20 TEST 0 0 0

21 SAVEVALUE 0 0 0

METTERM1 22 TERMINATE 0 0 0

MET1 23 SAVEVALUE 0 0 0

24 TRANSFER 0 0 0

25 GENERATE 1 0 0

26 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

KANAL1 16 0.768 4.798 1 17 0 0 0 0

KANAL2 15 0.730 4.865 1 16 0 0 0 0

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

OCH_KANAL1 1 0 16 9 0.118 0.737 1.684 0

OCH_KANAL2 1 0 15 15 0.000 0.000 0.000 0

SAVEVALUE RETRY VALUE

VREM 0 5.000

VSEGO 0 16.000

BOL 0 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

16 0 102.024 16 13 14

PVREMA2 5.000

PVREMA1 5.000

17 0 103.228 17 8 9