Форум программистов, компьютерный форум, киберфорум
GPSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 18
1

Промоделировать тракт передачи данных, состоящий из n каналов

02.06.2015, 23:34. Показов 1386. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! у меня курсовая работа, а я толком не разобрался в GPSS
задание:
Промоделировать тракт передачи данных, состоящий из n
каналов. Исходное сообщение передается по трем различным
каналам, выбираемым случайным образом. Известна вероятность
возникновения ошибки в канале pош, средняя длина сообщения и
скорость передачи данных по каналу. Прием сообщений
осуществляется по мажоритарному принципу. Оценить вероятность
не приема сообщения, передаваемого по тракту и среднее время
доставки принятых сообщений.

я попробовал составить модель и еще не смогу прокомментировать т.к не понимаю, пожалуйся кто может выручите
Код
	SIMULATE
1			FUNCTION	RN$1,C13
			0,0/0.1,0.104/0.2,0.222/0.3,0.357/0.4,0.511/0.5,0.693/
			0.6,0.915/0.7,1.304/0.8,1.610/0.9,2.303/0.97,3.507/
			0.995,5.298/0.999,7
1			VARIABLE	3600000/X$1
3 			VARIABLE  3600*X$11
4			FVARIABLE	P$1*FN$1*1000/X$7
1			TABLE		M$1,0,1000,20
2			TABLE		M$1,0,1000,20
3			TABLE		M$1,0,1000,20
1   	    STORAGE	   3 
			GENERATE	V$1,FN$1
			SPLIT		2
  			TRANSFER	PICK
			TRANSFER 	0.3
			ASSIGN		1,X$4
			QUEUE	1
			ENTER 	1
			DEPART	1
			ADVANCE	V$4
			LEAVE	1
			TABULATE	PR$1
			TERMINATE	1
			INITIAL	X$1,100
			INITIAL	X$4,10000
			INITIAL	X$7,14400
			INITIAL	X$11,100
			START	1000
			END
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2015, 23:34
Ответы с готовыми решениями:

Использование каналов передачи данных
Сервер вводит в режиме диалога некоторое сообщение строкового типа и печатает его. С помощью...

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

Тракт данных, определение типа устройства
Пожалуйста, помогите решить проблему. На экзамене досталась задача(см. Изображение) Нужно...

комп работает очень медленно, в одном из первичных каналов текущий режим передачи pio и его не изменить
комп работает очень медленно, даже после переустановки винды хр, радио даже играет пошагово и...

9
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
03.06.2015, 07:29 2
Рекомендую. Кудрявцев имитационное моделирование на GPSS. Почитайте и составите комментарии на основе подобных зада разобранных в книге.
0
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 18
03.06.2015, 11:15  [ТС] 3
Код
	SIMULATE	Начало моделирования
1	FUNCTION	RN$1,C13
0,0/0.1,0.104/0.2,0.222/0.3,0.357/0.4,0.511/0.5,0.693/
0.6,0.915/0.7,1.304/0.8,1.610/0.9,2.303/0.97,3.507/
0.995,5.298/0.999,7							Описание закона распределения случайных величин
1	VARIABLE	3600000/X$1					Вычисление среднего времени между 
	
	
4	FVARIABLE	P$1*FN$1*1000/X$7			Вычисление времени обслуживания заявок (передачи сообщений) 
1	TABLE	M$1,0,1000,20
2	TABLE	M$1,0,1000,20
3	TABLE	M$1,0,1000,20					Описание выходных данных
1   	    STORAGE	   3 					Задание числа каналов (обслуживающих приборов)
			GENERATE	V$1,FN$1			Генерация заявок 
			ASSIGN		1,X$4				Назначение длины заявки (сообщения) 
			SPLIT       2,abc,1				Копия сообшения 	
  	abc		TRANSFER	PICK,MET1			случайное рапсределения по каналам
	MET1	QUEUE		1			Занятие очереди
			SEIZE		1			Занятие прибора (начало передачи сообщения)
			DEPART		1			Освобождение очереди
			ADVANCE		V$4			Задержка заявки на приборе (передача сообщения по каналу)
			RELEASE		1			Освобождение прибора (окончание передачи сообщения)
			TABULATE	PR$1		Сбор статистики
			TERMINATE	1			Удаление заявки из модели
			INITIAL		X$1,100		Описание исходных данных
			INITIAL		X$4,10000	
			INITIAL		X$7,14400	
			START		1000	Задание числа заявок
			END					Конец моделирования
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
03.06.2015, 12:44 4
Краткие комментарии, но отражают в принципе суть блоков.

Ну вот например лучше описать поподробнее
SPLIT 2,abc,1 Копия сообшения
сказать, что 2 копии, оригинал или копии идут в метку abc? что такое 1.

Добавлено через 2 минуты
P.S. А это какая разновидность GPSS? Синтаксис вроде World но обращение параметрами и величинам с номерами не верное. т.е. доллары идут только к именам, к цифрам это не применяется M$1 -> M1 P$1 -> P1 X$1 -> X1
0
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 18
03.06.2015, 12:46  [ТС] 5
это порядковый номер, а можете подсказать как поставить условие для канала?
имеется введу, что если из 3х каналов будет принято 2-3 сообшения то все хорошо а если 1 то отказ?
и как в канале создать вероятность ошибки?

Добавлено через 1 минуту
хах,gpss очень старой модели и это не gpss world, а очень старый модель где 80 года
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
03.06.2015, 12:53 6
Не понятно условие.

Про отказы - после обслуживания в каждом канале сделать перенаправление заявки на метку отказ с заданной вероятностью, например так:

Код
TRANSFER вероятность(0.х),metka2,metka   ;/ С вероятностью перенаправляет заявки в metka, иначе заявки идут в метку2
Добавлено через 3 минуты
я не уверен что у вас это смоделировано верно.
Исходное сообщение передается по трем различным каналам, выбираемым случайным образом.
по ТРЁМ, а не по одному из трёх!
по различным - то есть в различной последовательности

это значит каждая заявка не делится на копии, а идёт по своему пути Последовательно например 321 (обслуживание в таких каналах, выбранных случайно), например следующая идет случайным образом 132 и так далее. Суть в том, что гдето в системе, когда много заявок, могут образовываться случайные очереди к каналам.
1
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 18
03.06.2015, 13:00  [ТС] 7
тогда должно быть так?
Код
	SIMULATE
1			FUNCTION	RN$1,C13
			0,0/0.1,0.104/0.2,0.222/0.3,0.357/0.4,0.511/0.5,0.693/
			0.6,0.915/0.7,1.304/0.8,1.610/0.9,2.303/0.97,3.507/
			0.995,5.298/0.999,7
1			VARIABLE	3600000/X$1
3 			VARIABLE  3600*X$11
4			FVARIABLE	P$1*FN$1*1000/X$7
1			TABLE		M$1,0,1000,20
2			TABLE		M$1,0,1000,20
3			TABLE		M$1,0,1000,20
1   NAK	    STORAGE		3 
			GENERATE	V$1,FN$1
			SPLIT		2
			ENTER		NAK		
  			TRANSFER 	PICK,KAN1,KAN3
	KAN1	SEIZE		CAN1
			ASSIGN		1,X$4
			TRANSFER	0,3,COME,OTK
			SEIZE		CAN2
			ASSIGN		1,CAN2
			TRANSFER	0,3,COME,OTK
	KAN3	SEIZE		CAN3
			ASSIGN		1,CAN3
			TRANSFER	0,3,COME,OTK
	COME	LEAVE		NAK
			ADVANCE	V$4
			TEST
			RELEASE	P$1
			TABULATE	PR$1
	OTK		TERMINATE	1
			INITIAL	X$1,100
			INITIAL	X$4,10000
			INITIAL	X$7,14400
			INITIAL	X$11,100
			START	1000
			END
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
03.06.2015, 13:07 8
TRANSFER 0,3,COME,OTK
почему 03 ? Не факт, что завяка пройдёт все фазы обслуживания, может раньше выйти в COME и из системы.
0
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 18
03.06.2015, 20:57  [ТС] 9
случайно взятая цифра, просто я троешник)) вот и решил что вероятность 30 процент будет проходить сообшения,
Кликните здесь для просмотра всего текста
почему 03 ? Не факт, что завяка пройдёт все фазы обслуживания, может раньше выйти в COME и из системы.

а что тогда сделать?

Добавлено через 5 минут
если сделаю так тогда у меня получится 3 заявки сразу и конечно уберу с модели SPLIT

Код
GENERATE    V$1,FN$1,,3
Добавлено через 56 минут
примерно так мой код работает но в нем нету мажоритарного принципа как его построить?
мажоритарный принцип - к примеру когда есть 3 заявки и из них проходить 2-3 то значить заявка проходит а если только 1 то тогда заявка отменяется
Код
			SIMULATE
		1			FUNCTION	RN$1,C13
					0,0/0.1,0.104/0.2,0.222/0.3,0.357/0.4,0.511/0.5,0.693/
					0.6,0.915/0.7,1.304/0.8,1.610/0.9,2.303/0.97,3.507/
					0.995,5.298/0.999,7
		1			VARIABLE	3600000/X$1
		3 			VARIABLE  3600*X$11
		4			FVARIABLE	P$1*FN$1*1000/X$7
		1			TABLE		M$1,0,1000,20
		2			TABLE		M$1,0,1000,20
		3			TABLE		M$1,0,1000,20
		6			STORAGE		3 
					GENERATE	V$1,FN$1,,3
					ENTER		6		
		  			TRANSFER 	PICK,7,9
			7		SEIZE		1
					ASSIGN		1,X$4
					TRANSFER	0,3,10,11
					SEIZE		2
					ASSIGN		1,X$4
					TRANSFER	0,3,10,11
			9		SEIZE		3
					ASSIGN		1,X$4
					TRANSFER	0,3,10,11
			10		LEAVE		6
					ADVANCE	V$4
					RELEASE	P$1
					TABULATE	PR$1
			11		TERMINATE	1
					INITIAL	X$1,100
					INITIAL	X$4,10000
					INITIAL	X$7,14400
					INITIAL	X$11,100
					START	1000
					END
Добавлено через 2 часа 47 минут
доработал тут уже многое работает но, проблема в том что, не совсем понимаю как работает условие и вообще он у меня правильный?
кто может подсказать заранее спасибо

Код
	SIMULATE
1	FUNCTION	RN$1,C13
0,0/0.1,0.104/0.2,0.222/0.3,0.357/0.4,0.511/0.5,0.693/
0.6,0.915/0.7,1.304/0.8,1.610/0.9,2.303/0.97,3.507/
0.995,5.298/0.999,7
1	VARIABLE  	3600000/X$1
4	FVARIABLE	P$1*FN$1*1000/X$7
1	TABLE		M$1,0,10,20
2	TABLE		M$1,0,10,20
3	TABLE		M$1,0,10,20
1	STORAGE		3
	GENERATE	V$1,FN$1
	ENTER		1
	QUEUE		1
  	TRANSFER 	PICK,KAN1,KAN3   *случайное распределение по каналам
KAN1	SEIZE		1             *канал №1 
	ASSIGN		1,1				
	TRANSFER	0.7,L,OTK			*вероятность ошибки в канале
	SEIZE		2
	ASSIGN		1,2
	TRANSFER	0.7,L,OTK			*вероятность ошибки в канале
KAN3	SEIZE		3
	ASSIGN		1,3
	TRANSFER	0.7,L,OTK			*вероятность ошибки в канале

L	LEAVE		1
	ADVANCE	V$4
	TEST_LE M,2,OTK            * условие если число поступивших заявок <2 то Отказ
M	RELEASE	P$1
	TABULATE	1
OTK	TERMINATE	1
	INITIAL	X$1,100
	INITIAL	X$4,10000
	INITIAL	X$7,14400
	INITIAL	X$11,100
	START	1000
	END
Добавлено через 3 часа 55 минут
ПРОГРАММА заработала даже мажоритарную принцип сделал
вот единственная во время симуляции выдает вот такую ошибку

Код
          SYMBOL     VALUE          SYMBOL     VALUE
          ======     =====          ======     =====

          A1             4          A2             8
          A3            12          L             16
          OTK           20
GPS -- *FATAL*  BLOCK 0  No Future Events

GPS -- *INFOR*    Maximum Concurrent Transactions Used: 2


  GPSSR/PC  V1.1		3-JUN-2015  20:56			PAGE 3
  model4.LST=model4.gps

   RELATIVE CLOCK        26408   ABSOLUTE CLOCK        26408

   BLOCK COUNTS
   BLOCK CURRENT  TOTAL    BLOCK CURRENT  TOTAL    BLOCK CURRENT  TOTAL

      1     1         5       2     1         4       3     0         3 
      4     0         1       5     0         1       6     0         1 
      7     0         1       8     0         1       9     0         1 
     10     0         1      11     0         1      12     0         1 
     13     0         1      14     0         1      15     0         1 
     16     0         3      17     0         3      18     0         3 
     19     0         3      20     0         3 

   FACILITY       AVERAGE     NUMBER         AVERAGE    SEIZING     PREEMPTING
               UTILIZATION    ENTRIES       TIME/TRAN   TRANS.NO.   TRANS.NO.
         1           1.00          1        26407.00          1              
         2           0.93          1        24640.00          2              
         3           0.74          1        19527.00          1              


   STORAGE CAPACITY  AVERAGE    AVERAGE  ENTRIES   AVERAGE  CURRENT  MAXIMUM
                     CONTENT    UTILIZ.            TIME/TR  CONTENT  CONTENT
      1          3      1.00       0.65       12   4322.75        3        3


   CONTENTS OF (NONZERO) FULLWORD SAVEVALUES
   XF   LOC      VALUE     LOC      VALUE     LOC      VALUE     LOC      VALUE

         1        1000      2         300      3        5600      4         560
         5         100      6         300

  GPSSR/PC  V1.1		3-JUN-2015  20:56			PAGE 4
  model4.LST=model4.gps



   TABLE NO. 1
   ENTRIES IN TABLE   MEAN ARGUMENT     STANDARD DEVIATION    SUM OF ARGUMENTS
                 3           83.67                  121.53              251.0

   UPPER   OBSERVED  PER CENT  CUMULATIVE  CUMULATIVE  MULTIPLE  DEVIATION
   LIMIT  FREQUENCY  OF TOTAL  PERCENTAGE   REMAINDER   OF MEAN  FROM MEAN
      0         0      0.00        0.00       100.00      0.00       -0.69
     50         2     66.67       66.67        33.33      0.60       -0.28
    100         0      0.00       66.67        33.33      1.20        0.13
    150         0      0.00       66.67        33.33      1.79        0.55
    200         0      0.00       66.67        33.33      2.39        0.96
    250         1     33.33      100.00         0.00      2.99        1.37
 REMAINING VALUES ARE ZERO
Код
	SIMULATE
1	TABLE M$1,0,50,50
1	FUNCTION		RN$1,C13
0,0/0.1,0.104/0.2,0.222/0.3,0.357/0.4,0.511
0.5,0.693/0.6,0.915/0.7,1.304/0.8,1.610
0.9,2.303/0.97,3.507/0.995,5.296/0.999,7
1	VARIABLE 3600000/X$1
2	FVARIABLE P$1*FN$1*1000/X$3
1B	STORAGE 	3
	GENERATE 	V$1, FN$1
	ENTER		1B,3
	TRANSFER ALL,A1,A3,4
A1	SEIZE		1C				
	ASSIGN 		1,X$4				
	ADVANCE 	10,3
	TRANSFER	.3,L,OTK
A2	SEIZE		2C
	ASSIGN 		1,X$5				
	ADVANCE 	8,6
	TRANSFER	.3,L,OTK
A3	SEIZE		3C
	ASSIGN 		1,X$6
	ADVANCE 	10,4
	TRANSFER	.3,L,OTK
L	LEAVE 		1,3
	TEST_LE 	P$2,2
	ADVANCE 	V$2
	TABULATE	1
OTK	TERMINATE 	1
	INITIAL		X$1,1000,X$2,300
	INITIAL		X$3,5600
	INITIAL		X$4,560,X$5,100,X$6,300
	START 		1000
	END
0
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 18
06.06.2015, 00:39  [ТС] 10
эту часть уже выполнил тему можно закрыть
0
06.06.2015, 00:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2015, 00:39
Помогаю со студенческими работами здесь

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

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

Передача данных между процессами. Использование каналов
Написать приложение (клиент), которое передает математическое выражение, а второе (сервер)...

Организация 8 параллельных SPI каналов приема данных
Добрый день. У меня есть 8 гироскопов, подключаю их сейчас к Ардуино. Канал SPI там один. Из-за...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru