Занятие пользователями ЭВМ и принтера имитируется блоком SEIZ А, где в поле А записывается номер устройства. Для ЭВМ в поле А записываем 1, для принтера - 2.
Обслуживание пользователей имитируется блоком ADVA А,В, где в поле А записывается математическое ожидание времени обслуживания, в нашем случае для ЭВМ 15 мин, для принтера 3 мин, а в поле В – величина отклонения от математического ожидания в нашем случае равная 5 мин и 2 мин, для ЭВМ и принтера, соответственно.
Освобождение ЭВМ и принтера имитируется блоком RELE А, где в поле А записывается номер устройства (1- для ЭВМ, 2- для принтера).
ВЦ содержит очередь, которая возникает на входе ЭВМ. Имитируется она следующим образом: постановка пользователя в очередь осуществляется блоком QUEU, покидание пользователем очереди - блоком DEPA.
Блок TERM А предназначен для уничтожения транзактов, прошедших через модель. В поле А указывается число уничтожаемых и вычитаемых транзактов из содержимого оператора STAR.
С помощью блока STAR А имитируется начало и конец сбора информации в модели. В поле А указывается число прогонов модели, в нашем случае число прогонов равно 100.
Блок SIMU необходим для запуска модели на исполнение.
Блок EQU устанавливается в начале алгоритма и необходим для присвоения символам численного значения.
Для завершения моделирования используется блок END.
Правила обслуживания. Имитация правил и условий обслуживания осуществляется блоком TEST_R А,В,С и TRAN A,B,C,D.
Блок TEST_R А,В,С используется для передачи управления транзактам по результатам сравнения двух стандартных числовых атрибутов (СЧА). В поле R устанавливается условие сравнения, в полях A и B записываются СЧА, подлежащие сравнению. Если условие поля R выполнимо, то транзакт входит в блок TEST и далее по программе. Если условие не выполнено, транзакт пытается войти в блок, указанный в поле С.
Для нашего случая блок TEST имеет формат TEST_L Q$1,7,
где L – означает условие сравнения «<» - меньше;
Q$1– текущая длина очереди 1.
Таким образом, в данном блоке проверяется условие: если текущая очередь меньше 7 человек, то пользователь встает в очередь, т.е. следует далее по программе, иначе пользователь не обслуживается.
Блок TRAN A,B,C,D. В поле А указывается режим передачи (условие) куда поступит пользователь после окончания решения задачи на ЭВМ. В нашем случае это вероятность 0,67. В поле В указывается номер следующего блока. В нашем случае это блок SEIZ 2, имеющий метку m2. В поле С указывается номер блока, в который должен перейти транзакт если блок указанный в поле В занят. В нашем случае это блок TERM 1, который имеет метку m3.
в) составление структуры.
1
2
3
4
5
6
7
1
8
9
10
11
12
г) описание алгоритма.
Данный алгоритм предназначен для описания процесса функционирования работы ВЦ, с целью выявить среднюю длину очереди и коэффициенты загрузки ЭВМ и устройства печати при обслуживании 100 пользователей. Очередь для доступа к ЭВМ не должна превышать 7-ми человек.
В начале алгоритма ставится оператор SIMU, необходимый для запуска модели на исполнение. Следующим идёт оператор EQU. Он устанавливается для присвоения функции с именем EXP значения 1. Функция EXP определяет время, через которое формируются задания. Далее стоит оператор FUNC. С его помощью описывается функция с именем EXP: тип функции, закон распределения. Формирование входного потока осуществляет блок 1. Блоком 2 проверяется условие: если очередь меньше 7-ми человек, то пользователь встает в очередь - блок 3, если нет, то пользователь не обслуживается. Блок 4 предназначен для того, чтобы пользователь занял ЭВМ. Блоком 5 имитируется обслуживание путём выделения транзакту определённого времени нахождения в блоке. Вывод из устройства обслуженного транзакта осуществляется блоком 6. Вывод задания из очереди осуществляет блок 7. Следующий идёт 8 блок с помощью которого имитируется правило обслуживания. Данный блок по вероятности распределяет пользователей, после прохождения этого блока 1/3 пользователей идет на принтер, т.е. он следует далее по алгоритму и обслуживается операторами 9,10, 11,12 (устройство 2), а 2/3 идут непосредственно на блок 12, где происходит уничтожение транзактов.
8. Листинг программы
Simu ;запуск модели на исполнение
exp equ 1 ;присвоение функции числового значения
exp func rn$1,c24 ;задание экспотенциальной функции
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38/.8,1.6/
.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9/.99,4.6/
.995,5.3/.998,6.2/.999,7.0/.9997,8
gene 10,5 ;генерация потока пользователей
test_l q$1,7 ;если текущая длина очереди меньше 7,то
перейти к следующему блоку
queu 1 ;присоединить транзакт к очереди 1
seiz 1 ; транзакту занять устройство 1
adva 15,5 ;процесс решения задачи на ЭВМ
rele 1 ; покинуть устройство 1
depa 1 ;покинуть очередь 1
tran .67,m2,m3 ;с вероятностью .67 транзакт передается в
блок с меткой m3, с вероятностью .33 в блок с
меткой m2
m2 seiz 2 ;транзакту занять устройство 2
adva 3,2 ;процесс решения задачи на принтере
rele 2 ; покинуть устройство 2
m3 term 1 ;удалить транзакт из модели, уменьшив
значение счетчика завершения 100 на
1(оператор STAR 100)
star 100
end ;окончание моделирования.
Программа и результаты моделирования в стандартном отчете системы статистического моделирования GPSS/РС:
Из полученного отчета можно решить поставленную в задании цель, т.е. определить среднюю длину очереди =6.63, коэффициент загрузки ЭВМ
Kз ЭВМ=0.99, коэффициент загрузки принтера Kз принт=0.06
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.