Скачиваний:
8
Добавлен:
28.03.2019
Размер:
1.08 Mб
Скачать

Блок SPLIT выполняет функцию копирования входящего в него сообщения, которое называется исходным или порождающим. В поле А задается число создаваемых копий. Операнд А может быть именем, положительным целым, СЧА, СЧА*<параметр>. Если вычисленное значение аргумента поля А равно нулю, то блок SPLIT не выполняет никаких операций. После создания копий сообщение пытается перейти к следующему по номеру блоку. Все копии формируются в момент входа порождающего сообщения в блок SPLIT.

Поле

В задает

номер следующего блока, к которому переходят копии

исходного

сообщения,

причем

значение

вычисляется

для

каждой

копии

отдельно.

Операнд В

может

быть именем, положительным

целым,

СЧА,

СЧА*<параметр>.

 

 

 

 

 

 

В поле С может быть задан номер параметра, используемого

для присвоения

копиям

последовательных

номеров.

Операнд С

может

быть именем,

положительным целым, СЧА, СЧА*<параметр>. Пример:

SPLIT 2,MET,1

Создаются две копии, которые передаются по метке MET. Номер копии записан в параметре P1.

Блок ASSEMBLE

Блок ASSEMBLE имеет следующий формат:

ASSEMBLE <A>

Блок ASSEMBLE объединяет заданное число сообщений, принадлежащих к одному семейству, в одно сообщение (т.е. осуществляет сборку заданного числа сообщений). После сборки из блока ASSEMBLE выходит только одно сообщение, которое переходит в следующий по номеру блок. В одном и том же блоке ASSEMBLE возможна одновременная сборка сообщений нескольких семейств. Когда сообщение входит в блок ASSEMBLE, интерпретатор просматривает семейство, к которому принадлежит это сообщение, и проверяет, есть ли другое сообщение из того же семейства в данном блоке ASSEMBLE. Поле А задает число сообщений, участвующих в сборке. Операнд А может быть именем, положительным целым, СЧА, СЧА*<параметр>.

Блок MATCH

Блок MATCH имеет следующий формат:

MATCH <A>

Блок MATCH используется для синхронизации движения двух сообщений, принадлежащих к одному семейству, без удаления этих сообщений из модели.

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

59

семейств.

Возможна также одновременная синхронизации пар сообщений из

одного семейства в нескольких блоках MATCH.

 

Поле

А задает имя или номер другого блока MATCH,

называемого

"сопряженным блоком MATCH". Если такого блока нет, происходит останов по

ошибке.

Операнд А может быть именем, положительным

целым, СЧА,

СЧА*<параметр>.

 

Задание. Выполните в среде GPSS задание с использованием блоков SPLIT, ASSEMBLE, MATCH.

Некоторая фирма производит центробежные насосы, сборка которых осуществляется по заказу покупателей. Заказы поступают в случайные моменты времени равномерно с интервалом 16-22 мин. Когда поступает заказ, делается две его копии. Оригинал заказа используется для получения двигателя со склада и подготовки его для сборки (время выполнения 6-10 мин.). Первый экземпляр копии используется для заказа и адаптации насоса (время 8-12 мин.), а второй экземпляр для начала изготовления плиты основания (время 15 мин.).

Когда насос и плита основания готовы, производится пробная подгонка (время 4-6 мин.). Далее все три компонента собираются вместе (5-7 мин.). Промоделировать сборку 100 центробежных насосов. Единица модельного времени 1 секунда.

Лабораторная работа 11.

Изучение запоминающей категории блоков GPSS

На обработку по равномерному закону поступают два потока деталей: 1- ый поток со временем 9-11 мин., 2-ой поток – 23-27 минут. Причем второй поток прерывает изготовление деталей 1-го потока. Время обработки деталей первого потока 4-10 минут, второго потока – 14-16 минут. Смоделировать процесс обработки 100 деталей.

GENERATE 5,2

SEIZE FACIL1

ADVANCE 7,2

RELEASE FACIL1

TERMINATE 1

GENERATE 25,2

PREEMPT FACIL1

ADVANCE 11,2

RETURN FACIL1

TERMINATE 1

START 100

Блок PREEMPT

Блок PREEMPT имеет следующий формат : PREEMPT <A>,[<B>],[<C>],[<D>],[<E>]

Блок PREEMPT позволяет сообщению, в зависимости от условий, заданных в операндах блока, занять устройство. Блок PREEMPT может задержать сообщение на входе.

60

Поле А определяет номер или имя устройства, на котором генерируется прерывание. Операнд может быть именем, положительным целым, СЧА или СЧА*<параметр>.

Поле В задает приоритетный режим (PR) или режим прерывания, если операнд опущен.

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

Прерванное сообщение теряет управление устройством, но претендует на право его использования, если только не задан аргумент поля Е.

Поле D задает номер параметра, связанного с прерванным сообщением. Поле Е задает один из следующих режимов:

-режим удаления (RE); Задание этого режима означает, что прерванное сообщение более не претендует на пользование устройством. Прерванное сообщение пытается войти в блок, заданный полем С.

-если режим RE не задан, т.е. поле Е - пусто, то прерванное сообщение будет вновь пытаться занять устройство.

Блок RETURN

Блок RETURN имеет следующий формат:

RETURN <A>

Блок RETURN предназначен для освобождения ранее захваченного устройства.

В поле А задается номер устройства, с которого снимается прерывание.

Задание. Измените условие примера: детали первого потока, обработка которых прервана на время обработки деталей второго потока, выводятся из системы. Промоделируйте обработку 100 деталей. Сравните результаты моделирования системы для случая, когда детали первого потока не выводятся из системы в результате прерывания обработки и когда выводятся. Сделайте выводы.

Контрольные вопросы

Особенности работы с основными блоками GPSS: GENERATE, TERMINATE, SEIZE, RELEASE, ADVANCE, ENTER, LEAVE, TEST, TRANSFER, START, SPLIT, ASSEMBLE, PREMPT, RETURN, MATCH.

Лабораторная работа №12

Моделирование вычислительной системы средствами языка имитационного моделирования GPSS

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

61

Пример. Создать на языке моделирования GPSS стохастическую модель вычислительной системы, заданной концептуально (в лабораторной работе №1).

Получить сравнительные оценки моделей, созданных на универсальном языке программирования и на языке моделирования GPSS.

GPSS-модель имеет вид:

SIMULATE

*задание функции для генерации ПСЧ, имеющего экспоненциальный закон

*распределения с m=1

EXPON FUNCTION RN1, C24 0.0/.1,.104/.2,.222/.3,.35/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38 0.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.81

.096,3.2/.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

*задание функции для генерации ПСЧ, имеющего нормальный закон

*распределения с m=0, D=1

NORM FUNCTION RN2, C25 0,-5/.0003,-4/.00135,-3/.00621,-2.5/.02275,-2/.06681,-1.5

.11507,-1.2/.15866,-1/.21186,-.8/.27425,-.6/.34458,-4

.42074,-.2/.5,0/.57926,.2/.65542,.4/.72575,.6/.78814,.8

.84134,1/.88493,1.2/.93319,1.5/.97725,2/.99379,2.5/.99865,3

.99997,4/1,5

*приведение нормально распределенного ПСЧ к заданному интервалу

*(m=6, D=2)

TIBM1

FVARIABLE 6+1.414*FN$NORM

SUM

FVARIABLE FC$IBM1+FC+IBM2+X$KOT

*

 

FC – (СЧА) счетчик числа занятий прибора

*

 

Х – значение ячейки памяти

 

GENERATE

3,2 приход пользователей

 

TEST E

F$IBM1,0,ZANM2

*

 

F – (СЧА) состояние прибора

 

SEIZE

IBM1 занятие ЭВМ1, если она свободна

 

ADVANCE

V$TIBM1 обработка задания за данное время

 

 

V – (СЧА) значение арифметической переменной

 

RELEASE

IBM1 освобождение ЭВМ1

62

 

TRANSFER

, KON переход на метку

ZANM2 TEST E

F$IBM2,0, UDAL

 

SEIZE

IBM2 занятие ЭВМ2, если она свободна

 

ADVANCE

7,FN$EXPON обработка задания за данное время

 

RELEASE IBM2 освобождение ЭВМ2

 

TRANSFER

, KON

UDAL

SAVEVALUE

KOT+,1 отказ в обслуживании

KON

TERMINATE

 

удаление заявки из системы

сегмент программы, управляющий временем работы модели

 

GENERATE

 

, ,480

 

SAVEVALUE

PROZ, FC$IBM1*100/V$SUM

 

TERMINATE

 

1

 

START

 

 

1

 

END

 

 

 

Полученные оценки сведены в табл. 2.

Модель

Время создания модели

Объем исходного модуля

 

 

 

Модель на универсальном

2 часа

PAS – 4 Кб

языке программирования

 

С – 3,5 Кб

 

 

 

GPSS – модель

10 мин

1,5 Кб

 

 

 

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

Порядок выполнения работы

1.Изучить теоретический материал по данной теме /6/.

2.Создать на языке моделирования GPSS стохастическую модель вычислительной системы, заданной концептуально в лабораторной работе №1.

3.Сравнить GPSS-модель с ранее созданной моделью на универсальном языке программирования.

4.Оформить и защитить отчет по лабораторной работе.

63

NN

Закон

п/п

распре-

 

деления

 

случайной

 

величины

1.Равномерный

R(a,b)

2.Нормальный

(Гаусса)

N(m,σ)

3.Гаммараспре-

деление

G(α,b)

Сведения о непрерывных случайных величинах /4,5/

Аналитическое

График y=f(x)

Область

Опреде

Числовые характеристики

выражения плотности

 

значе-ний

ляющи

Матем

Дисперсия D

вероятности

 

случай-

е

 

атичес

 

 

 

 

 

 

 

ной

параме

 

кое

 

 

 

 

 

 

 

велич-ины

тры

ожида

 

 

 

 

 

 

 

 

 

 

ние m

 

 

 

f (x)

1

 

 

[a,b]

a,b

 

a b

 

 

(a b)2

| b a |

 

b>a

|a|<

 

2

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

|b|<

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

(x m)

2

( , )

|m|<

m

σ

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

 

e

2

2

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

f (x)

1

x

1

e

x

[0, )

α,β

αβ

αβ2

 

 

α>0

 

 

 

 

 

 

Г ( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

β>0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г ( ) t 1e t dt

- гамма-

 

 

 

 

0

 

 

 

 

 

 

 

 

 

функция

 

 

 

 

 

 

 

Приложение 1

Алгоритм получения случайной величины

xi=a+(b-a)zi

Для m=0,D=1(N(0,1))

 

 

 

 

 

 

 

k

 

 

a) xi

 

12 / k ( zi k / 2)

 

 

 

 

 

 

 

i 1

 

k=12, k=24;

 

 

 

 

b) xi

2ln z1 cos2 z2

x

 

 

2ln z

sin 2 z

2

i 1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

а)

x

i

 

 

ln z

j

 

 

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

б) xi ln z j

j 1

в) xi l j

j 1

4. Эрланга n-го

порядка

G(n,1/λ)

5.Показательно-

степенной

G(m+1,1)

6.Хи-квадрат

G(n/2,2)=

χ2(n)

7.Экспоненциальный

G(1,1/λ)=

Э(λ)

 

 

 

 

 

 

 

n

 

n 1

 

x

f (x)

 

x

e

Г (n)

 

 

 

 

 

 

 

f (x)

x

m

 

x

 

e

 

 

m!

 

 

 

 

 

 

 

1

 

 

 

(

n

1)

 

 

x

f (x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2

 

e

2

 

n

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22

Г (

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

f (x) e

x

 

 

 

 

 

 

 

 

 

 

[0,

[0,

[0,

[0,

)

)

)

)

λ>0

n/λ

n/λ2

n=

1,2,…

m=

m+1

m+1

1,2,3...

n=1,2, n

2n

 

λ>0

1/λ

1/λ2

 

 

 

 

 

 

 

 

1

 

n

 

 

 

а)

x

 

 

 

ln z

 

i

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

n

 

б)

xi

ln z j

 

 

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

n

 

 

 

 

в)

x

 

 

 

l

 

 

 

i

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m 1

 

 

 

 

 

а)

x

i

 

 

 

ln z

j

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m 1

 

 

б) xi

 

ln z j

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

m 1

 

 

 

 

 

в)

x

i

 

 

 

l

j

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

x

 

 

 

n

Y

2

 

 

 

 

а)

 

 

 

 

 

 

 

 

 

i

 

 

j

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

n / 2

 

 

 

 

 

 

б) xi

 

l j

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

x

 

 

1

ln z

 

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

65

8.

Рэлея

 

x

 

 

x

2

 

 

 

 

 

 

 

 

 

Re(0,σ)

f (x)

e

 

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

9. Бетараспреде-

ление

Be(α,β)

f (x)

B(

1

x 1

(1

x) 1

 

B( , )

 

 

 

,) Г ( )Г ( )

Г( )

[0,

)

σ>0

 

 

 

2

 

 

1,253

(2

 

)

2

 

 

 

 

 

 

 

 

2

 

 

 

 

0,429

2

 

 

 

 

 

а)

б) в)

x

 

 

2ln z

i

i

 

Y

 

 

Y

x

 

2

2

 

 

 

 

 

 

i

 

1

2

x

 

 

2l

i

 

 

i

 

 

 

 

 

(0,1)

α,β

 

 

 

 

2

 

 

 

α>0

 

 

 

 

Yi2

 

 

( )2 ( 1)

xi

 

 

 

β>0

 

 

 

i 1

 

 

 

 

 

2

 

2 2

 

 

 

 

 

 

Yi

2

Yi

2

 

 

 

 

 

i 1

 

i 2 1

 

66

10. Лапласа

L(μ,λ)

f (x)

 

e

|x |

 

2

 

 

 

 

(-

, +

)

λ>0

μ

2/λ2

|μ|<

x

 

 

1

sign(z

 

 

1

)ln z

 

i

 

1

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

Примечание.

zi – имеет равномерное распределение в интервале (0,1)

li – имеет экспоненциальное распределение с параметром λ=1 уi – имеет нормальное распределение с параметрами m=0, D=1

 

 

 

 

 

 

 

 

Приложение 2

 

 

 

Сведения о дискретных случайных величинах

 

 

 

NN

Закон

Аналитическое

График

Область

Определяю

Числовые

Алгоритм получения

п/п

распре

выражение

y=f(x)

значений

щие

характеристики

случайной величины

 

деления

плотности

 

случайной

парамет

Матема

Дисперс

 

 

случайной

вероятности

 

величины

ры

тическое

ия D

 

 

величины

 

 

 

 

ожидание

 

 

 

 

 

 

 

 

m

 

 

67

1.

Биноми

P

(x) C

n

p

x

(1 p)

n x

 

 

 

 

 

 

 

альный

n

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

(Бернулли)

 

 

 

 

 

 

 

 

Bi(n,p)

 

 

 

 

 

 

 

2. Пуассона

Po(λ)

3.

Геометрии

Pn(x)=p(1-p)x

 

ческий

 

 

(Фарри)

 

 

Ф(р)

 

Примечание.

zi – имеет равномерное распределение в интервале (0,1)

x=0,1,2,…,n

n, p

0≤p≤1

n=1,2,3,…

x=0,1,2,… λ>0

x=0,1,2,… 0≤p≤1

np

λ

1 p p

np(1-p)

λ

1 p

p

2

 

а) х0

 

 

 

 

 

 

xi

x

i

1

, z

i

p

 

 

 

 

xi , zi

p

б) х=0; 1

 

 

 

xi

0, zi p

 

 

 

 

 

 

 

1, zi p

x

 

 

 

x

 

ti

t

ti

i 1

 

 

 

i 1

 

ti – экспоненциально распределенные СЧ с параметром λ

ln z

i

1

x

ln z

i

 

 

 

 

 

 

ln(1 p)

 

 

ln(1 n)

68