powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / GPSS нужна консультация
2 сообщений из 2, страница 1 из 1
GPSS нужна консультация
    #37386523
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем день добрый!
Подскажите пожалуйста - правильно ли реализована система?


и сам код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
;========СОХРАНЯЕМЫЕ ПАРАМЕТРЫ ЗАЯВОК============================================================
; 1  - хранит время поступления запроса
; 2  - хранит время завершения измерения
; 3  - хранит время записи заявки в БД
; 13  - хранит время измерения
; 14  - хранит флаг прохождения устройства S4.  1 -первое попадание в устройство.  2  - второе.

;========СТАТИСТИЧЕСКИЕ ТАБЛИЦЫ==================================================================
TABQ1	 QTABLE	OCH1, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди OCH1
TABQ2	 QTABLE	OCH2, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди OCH2
TABQ3	 QTABLE	OCH3, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди OCH3
TABQ4	 QTABLE	OCH4, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди OCH4
TABQIZM QTABLE	IZM, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди IZM
GIST1	 TABLE	(M1), 0 , 1980 , 20  	;Таблица регистрации времени пребывания заявок типа  1 	

;========ВХОДНЫЕ ПОТОКИ==========================================================================
	GENERATE	(Exponential( 1 , 0 , 5 )) 	;генерация заявки по внешнему запросу
	MARK  1 			;Запись времени поступления заявки в  1  параметр
	ASSIGN 	 14 , 1 		;Установка флага в  1  в  14  параметре
	TRANSFER 	,V_US4O		;Переход заявки в устройство S4 для обработки запроса

;=========УСТРОЙСТВА СИСТЕМЫ=====================================================================
V_US4O 	QUEUE 	OCH4 		;вход заявки в устройство S4 
	SEIZE 	U4 		;проверка занятости устройства S4  
	DEPART 	OCH4 		;выход заявки из очереди устройства S4 
	TEST E 	P14, 1 ,V_US4Z 		;Заявка переходит по метке в очередь устройства S4 для записи 
	ASSIGN 	 14 , 2  		;Установка флага, что заявка прошла блок S4
	ADVANCE 	(Exponential( 1 , 0 , 1 )) 	;генерация времени обслуживания в устройстве S4 
	RELEASE 	U4 		;освобождение устройства S4
	TRANSFER 	,V_USIZM 		;Переход в устройство ИЗМЕРЕНИЕ

V_USIZM	QUEUE	IZM		;вход заявки в устройство ИЗМЕРЕНИЕ 
	SEIZE	UIZM		;проверка занятости устройства ИЗМЕРЕНИЕ 	
	DEPART	IZM		;выход заявки из очереди устройства ИЗМЕРЕНИЕ
	ADVANCE	(Exponential( 1 , 0 , 0 . 667 )) 	;генерация времени обслуживания в устройстве ИЗМЕРЕНИЕ 
	MARK  2 			;Запись времени завершения измерения заявки в  11  параметр
	ASSIGN 	 13 ,(P2-P1)		;Запись в  13  параметр времени измерения
	RELEASE 	UIZM		;освобождение устройства ИЗМЕРЕНИЕ 
	TRANSFER 	,V_US1		;Заявка переходит по метке в очередь устройства S1

V_US1	QUEUE	OCH1		;вход заявки в устройство S1 
	SEIZE	U1		;проверка занятости устройства S1 	
	DEPART	OCH1		;выход заявки из очереди устройства S1
	ADVANCE	(Exponential( 1 , 0 , 0 . 4 )) 		;генерация времени обслуживания в устройстве S1 
	SPLIT 	 1 ,V_US2		;Создаем копию транзакта и отправляем ее в устройство S2. Сам транзакт идет дальше
	RELEASE 	U1		;освобождение устройства S1			
	TRANSFER  ,V_US3		;Заявка переходит по метке в очередь устройства S3

V_US2	QUEUE	OCH2		;вход заявки в устройство S2 
	SEIZE	U2		;проверка занятости устройства S2 	
	DEPART	OCH2		;выход заявки из очереди устройства S2
	ADVANCE	(Exponential( 1 , 0 , 0 . 2 )) 		;генерация времени обслуживания в устройстве S2 
	RELEASE 	U2		;освобождение устройства S2 и вывод заявки из СМО 
	TRANSFER 	,GOEXIT 		;Заявка-копия передается в систему управления

V_US3	QUEUE	OCH3		;вход заявки в устройство S3 
	SEIZE	U3		;проверка занятости устройства S3 	
	DEPART	OCH3		;выход заявки из очереди устройства S3
	ADVANCE	(Exponential( 1 , 0 , 0 . 2 )) 		;генерация времени обслуживания в устройстве S3 
	RELEASE 	U3		;освобождение устройства S3
	TRANSFER 	,V_US4O		;Заявка переходит по метке в очередь устройства S4 для записи в БД

V_US4Z	ADVANCE	 1 . 8 , 0 . 2 	 	;генерация времени обслуживания в устройстве S4 
	MARK  3 	 		;Запись времени записи заявки в БД, в  3  параметр
	RELEASE 	U4	 	;освобождение устройства S4
	TRANSFER 	,GOEXIT 		;Переход в устройство ИЗМЕРЕНИЕ

GOEXIT	TABULATE	GIST1	 	;Заявка-копия табулируется в GIST1
	TERMINATE 		;Выход заявок, завершивших обслуживание в СМО, из системы

;====БЛОК ГЕНЕРАЦИИ ВРЕМЕНИ МОДЕЛИРОВАНИЯ========================================================
	GENERATE	 39600   		;Задание времени моделирования ( 396  = 39600  сек.= 11  часов)    
	TERMINATE	 1 		;Выход из цикла моделирования заявки-инициатора начала 
				;отсчета времени моделирования
	START  1 			;Выполнение одного цикла моделирования 

Здесь каждая тварь мнит себя гением,
Здесь каждый хочет стать похожим на Ленина,
А я хочу стать похожим на Сталина,
Половину к стенке, остальных - по камерам!
...
Рейтинг: 0 / 0
GPSS нужна консультация
    #37387749
LcF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал еще такой вариант.
Что из 2 правильней?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
;========СОХРАНЯЕМЫЕ ПАРАМЕТРЫ ЗАЯВОК============================================================
; 1  - хранит время поступления запроса
; 2  - хранит время завершения измерения
; 3  - хранит время записи заявки в БД
; 13  - хранит время измерения
; 14  - хранит флаг прохождения устройства S4.  1 -первое попадание в устройство.  2  - второе.
;========ЕМКОСТИ=================================================================================
S4O STORAGE  1 		;емкость очереди S4 для обслуживания заявок
S4Z STORAGE  1 		;емкость очереди S4 для записи результатов
;========СТАТИСТИЧЕСКИЕ ТАБЛИЦЫ==================================================================
TABQ1	 QTABLE	OCH1, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди OCH1
TABQ2	 QTABLE	OCH2, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди OCH2
TABQ3	 QTABLE	OCH3, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди OCH3
TABQ4	 QTABLE	OCH4, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди OCH4
TABQIZM QTABLE	IZM, 0 , 1 , 20  	;Таблица регистрации времени пребывания заявок в очереди IZM
GIST1	 TABLE	(M1), 0 , 1980 , 20  	;Таблица регистрации времени пребывания заявок типа  1 	

;========ВХОДНЫЕ ПОТОКИ==========================================================================
	GENERATE	(Exponential( 1 , 0 , 5 )) 	;генерация заявки по внешнему запросу
	MARK  1 			;Запись времени поступления заявки в  1  параметр
	ASSIGN 	 14 , 1 		;Установка флага в  1  в  14  параметре
	TRANSFER 	,V_US4		;Переход заявки в устройство S4 для обработки запроса

;=========УСТРОЙСТВА СИСТЕМЫ=====================================================================
V_US4	QUEUE 	OCH4 		;вход заявки в устройство S4
	SEIZE	U4		;проверка занятости устройства S4
	ENTER 	S4O		;заявка помещается в накопитель
	QUEUE 	OCH4O 		;заявка становится в очередь для обработки
	DEPART 	OCH4O 		;выход заявки из очереди устройства S4 	
	ASSIGN 	 14 , 2  		;Установка флага, что заявка прошла блок S4
	ADVANCE 	(Exponential( 1 , 0 , 1 )) 	;генерация времени обслуживания в устройстве S4  
	LEAVE 	S4O		;заявка освобождает накопитель
	DEPART 	OCH4		;выход заявки из очереди устройства S4 
	RELEASE 	U4		;устройство S4 освобождается
	TRANSFER 	,V_USIZM 		;Переход в устройство ИЗМЕРЕНИЕ

V_USIZM	QUEUE	IZM		;вход заявки в устройство ИЗМЕРЕНИЕ 
	SEIZE	UIZM		;проверка занятости устройства ИЗМЕРЕНИЕ 	
	DEPART	IZM		;выход заявки из очереди устройства ИЗМЕРЕНИЕ
	ADVANCE	(Exponential( 1 , 0 , 0 . 667 )) 	;генерация времени обслуживания в устройстве ИЗМЕРЕНИЕ 
	MARK  2 			;Запись времени завершения измерения заявки в  11  параметр
	ASSIGN 	 13 ,(P2-P1)		;Запись в  13  параметр времени измерения
	RELEASE 	UIZM		;освобождение устройства ИЗМЕРЕНИЕ 
	TRANSFER 	,V_US1		;Заявка переходит по метке в очередь устройства S1

V_US1	QUEUE	OCH1		;вход заявки в устройство S1 
	SEIZE	U1		;проверка занятости устройства S1 	
	DEPART	OCH1		;выход заявки из очереди устройства S1
	ADVANCE	(Exponential( 1 , 0 , 0 . 4 )) 		;генерация времени обслуживания в устройстве S1 
	SPLIT 	 1 ,V_US2		;Создаем копию транзакта и отправляем ее в устройство S2. Сам транзакт идет дальше
	RELEASE 	U1		;освобождение устройства S1			
	TRANSFER  ,V_US3		;Заявка переходит по метке в очередь устройства S3

V_US2	QUEUE	OCH2		;вход заявки в устройство S2 
	SEIZE	U2		;проверка занятости устройства S2 	
	DEPART	OCH2		;выход заявки из очереди устройства S2
	ADVANCE	(Exponential( 1 , 0 , 0 . 2 )) 		;генерация времени обслуживания в устройстве S2 
	RELEASE 	U2		;освобождение устройства S2 и вывод заявки из СМО 
	TRANSFER 	,GOEXIT 		;Заявка-копия передается в систему управления

V_US3	QUEUE	OCH3		;вход заявки в устройство S3 
	SEIZE	U3		;проверка занятости устройства S3 	
	DEPART	OCH3		;выход заявки из очереди устройства S3
	ADVANCE	(Exponential( 1 , 0 , 0 . 2 )) 		;генерация времени обслуживания в устройстве S3 
	RELEASE 	U3		;освобождение устройства S3
	TRANSFER 	,V_US4Z		;Заявка переходит по метке в очередь устройства S4 для записи в БД

V_US4Z	QUEUE 	OCH4		;вход заявки в устройство S4
	SEIZE	U4		;проверка занятости устройства S4
	ENTER 	S4Z		;заявка помещается в накопитель
	QUEUE 	OCH4Z 		;заявка становится в очередь для обработки
	DEPART 	OCH4Z 		;выход заявки из очереди устройства S4 
	ADVANCE	 1 . 8 , 0 . 2 	 	;генерация времени обслуживания в устройстве S4 
	MARK  3 	 		;Запись времени записи заявки в БД, в  3  параметр
	LEAVE 	S4Z		;заявка освобождает накопитель
	DEPART 	OCH4		;выход заявки из очереди устройства S4 
	RELEASE 	U4	 	;освобождение устройства S4
	TRANSFER 	,GOEXIT 		;Выход в СМО

GOEXIT	TABULATE	GIST1	 	;Заявка-копия табулируется в GIST1
	TERMINATE 		;Выход заявок, завершивших обслуживание в СМО, из системы

;====БЛОК ГЕНЕРАЦИИ ВРЕМЕНИ МОДЕЛИРОВАНИЯ========================================================
	GENERATE	 39600   		;Задание времени моделирования ( 396  = 39600  сек.= 11  часов)    
	TERMINATE	 1 		;Выход из цикла моделирования заявки-инициатора начала 
				;отсчета времени моделирования
	START  1 			;Выполнение одного цикла моделирования 
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / GPSS нужна консультация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]