Форум программистов, компьютерный форум, киберфорум
GPSS
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
1

Задача передачи данных

15.11.2015, 15:54. Показов 3762. Ответов 30
Метки нет (Все метки)

В системе передачи данных осуществляется обмен пакетами данных между пунктами A и B по дуплексному каналу связи.Пакеты поступают в пункты системы от абонентов с интервалами времени между ними в среднем 10мс(экспотенциальный закон распределения). Передача пакета занимает 10 мс. В пунктах имеются буферные регистры, которые могу хранить два пакета(включая передаваемый). В случае прихода пакета в момент занятости регистров пунктам системы предоставляется выход на спутниковую полудуплексную линию свзяи, которая осуществляет передачу пакетов данных в среднем за 8 мс(экспотенциальный закон распределения). При занятости спцтниковой линии пакет получает отказ. Необходимо смоделировать обмен информацией в системе передачи данных в течении 1 мин.
Помогите пожалуйста, а то никак не получается.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2015, 15:54
Ответы с готовыми решениями:

Задача "система передачи данных"
Программа работает, но почему-то 6 транзактов остаются в блоке ТРАНСФЕР, и 19 в блоке ТЕСТ. Что не...

Модель магистрали передачи данных
Магистраль передачи данных состоит из двух каналов (основного и резервного) и общего накопителя....

Модель системы передачи данных
В систему передачи данных через интервалы времени, распределенные экспоненциально со средним...

Модель магистрали передачи данных. Альтернативная реализация
Магистраль передачи данных состоит из двух каналов (основного и резервного) и общего накопителя....

30
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
15.11.2015, 16:12 2
никак не получается.
Странно, давайте разбираться что не получается. Данная задачка легко решается с минимальным объёмом знаний по книге Кудрявцев имитационное моделирование на GPSS.
0
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
15.11.2015, 18:59  [ТС] 3
Только начал осваивать gpss, поэтому возникает много вопросов с чего начать и тд.
0
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
15.11.2015, 19:09 4
Попробуйте начать с указанной книги. там на примерах поясняется логика воспроизведения условий задач, думаю что довольно быстро разберётесь. Лучше и быстрее чем там вам никто не объяснит. Если останутся нерешёнными, непонятными какието частные вопросы, то обязательно поможем.
0
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
17.11.2015, 06:34  [ТС] 5
Передача пакетов из пункта A в пункт B
Код
GENERATE(Exponential(1,0,10)) ; Поступление пакетов от абонентов
GATE SNF    BUF_A,HDUP ; Если буфер заполнен не полностью
* (в противном случае переход на полудуплексный канал связи)
ENTER   BUF_A ; Помещение пакета в буфер
ADVANCE 10 ; Передача пакета по каналу связи
LEAVE   BUF_A ; Удаление пакета из буфера

* Передача пакетов из пункта B в пункт A
GENERATE(Exponential(1,0,10))  ; Поступление пакетов от абонентов
GATE SNF    BUF_B,HDUP ; Если буфер заполнен не полностью
* (в противном случае переход на полудуплексный канал связи)
ENTER   BUF_B ; Помещение пакета в буфер
ADVANCE 10 ; Передача пакета по каналу связи
LEAVE   BUF_B ; Удаление пакета из буфера
 
* Передача пакетов по полудуплексному каналу связи
HDUP    GATE NU HDUP_LINE,OUT   ; Если полудуплексный канал связи не занят
ASSIGN 2,AC1;запоминаем время начала обслуживания
SEIZE   HDUP_LINE ; Занятие полудуплексного канала связи
SAVEVALUETime,FT$PDup;запоминаем среднее время обслуживания в вспом.связи
ADVANCE 8; Передача пакета
RELEASE HDUP_LINE ; Освобождение полудуплексного канала связи
SEIZEPDup;Занимаемвспом. связь
**********Сегмент времени**********
GENERATE 60000; время работы 1мин=60000мс
TERMINATE 1;уменьшаем счетчик на 1 через 60000мс
START 1;задание значения счетчика завершения
Добавлено через 17 секунд
подскажите пожалуйста что не так?

Добавлено через 12 часов 28 минут
Зачем в передачи по полудеплекмному каналу два раза seizep? Этого кода хватит для выполнения задания?
0
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
17.11.2015, 10:27 6
strausik, смогу посмотреть ваш код попозже, тогда и отвечу на поставленные вопросы.

Добавлено через 3 часа 40 минут
В пунктах имеются буферные регистры, которые могу хранить два пакета(включая передаваемый).
У вас не реализовано это условие.
Что у вас сделано - вместо последовательной передачи с накоплением - параллельная передача
Код
ENTER   BUF_A ; Помещение пакета в буфер
ADVANCE 10 ; Передача пакета по каналу связи
LEAVE   BUF_A ; Удаление пакета из буфера
возможная одновременная передачи нескольких сообщений, seize-release может помочь в данной ситуации.

Добавлено через 3 минуты
Зачем в передачи по полудеплекмному каналу два раза seizep? Этого кода хватит для выполнения задания?
SEIZEPDup;Занимаемвспом. связь
странный вопрос, сами написали и не знаете?

Правильный ответ - незачем так делать.

подскажите пожалуйста что не так?
Код
HDUP    GATE NU HDUP_LINE,OUT   ; Если полудуплексный канал связи не занят
ASSIGN 2,AC1;запоминаем время начала обслуживания
SEIZE   HDUP_LINE ; Занятие полудуплексного канала связи
SAVEVALUETime,FT$PDup;запоминаем среднее время обслуживания в вспом.связи
ADVANCE 8; Передача пакета
RELEASE HDUP_LINE ; Освобождение полудуплексного канала связи
SEIZEPDup;Занимаемвспом. связь
**********Сегмент времени**********
Нет Terminate, нет метки OUT, ёмкости буферов А и B не определены ....
Это макет модели который нужно допиливать!
0
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
17.11.2015, 11:21  [ТС] 7
Да я понимаю, что макет. Начал ращбираться и вот что получилось. Seize-release надо вставить в каждый из блоков передачи связи?терминайт есть же. А емкость буферов в начале задается?
0
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
17.11.2015, 11:39 8
терминайт есть же.
не вижу 4 terminate!
0
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
17.11.2015, 13:13  [ТС] 9
Код
GENERATE(Exponential(1,0,10)) ; Поступление пакетов от абонентов
Assign 2,1; 
Test_E Buf_A, 0, HDUP;Если очереди нет
* (в противном случае переход на полудуплексный канал связи)
Seize BUF_A ; Помещение пакета
ADVANCE 10 ; Передача пакета по каналу связи
ReLease BUF_A ; Удаление пакета
Tabulate rez1; для подсчета времени
 
* Передача пакетов из пункта B в пункт A
GENERATE(Exponential(1,0,10))  ; Поступление пакетов от абонентов
Assign 2,2;
Test_E  BUF_B, 0,HDUP ; Если очереди нет
* (в противном случае переход на полудуплексный канал связи)
Seize BUF_B ; Помещение пакета
ADVANCE 10 ; Передача пакета по каналу связи
Release BUF_B ; Удаление пакета
Tabulate Rez 2;

 
* Передача пакетов по полудуплексному каналу связи
HDUP    GATE U HDUP_LINE; Если полудуплексный канал связи не занят
SEIZE   HDUP_LINE ; Занятие полудуплексного канала связи
SAVEVALUE 1+,1;запоминаем среднее время обслуживания в вспом.связи
ADVANCE (exponential (1,0,8); Передача пакета
RELEASE HDUP_LINE ; Освобождение полудуплексного канала
**********Сегмент времени**********
Задание таблиц rez1 и rez2.
GENERATE 60000; время работы 1мин=60000мс
TERMINATE 1;уменьшаем счетчик на 1 через 60000мс
Добавлено через 23 секунды
Что еще не хватает?
0
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
17.11.2015, 14:10 10
Ничего не изменилось (даже ухудшилось).
Начните запускать программу и последовательно разбирайтесь с проблемами, так и поймёте ошибки, иначе их очень долго описывать.
0
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
19.11.2015, 11:31  [ТС] 11
TEST_L BUF_A,1,HDUP;
что неправильно в это строчке?
если полудуплексная свзяь занята, как пакет отправить обратно откуда он пришел, т.е. либо в А либо в B?
0
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
19.11.2015, 12:41 12
TEST_L BUF_A,1,HDUP;
что неправильно в это строчке?
лишнее подчёркивание
блок TEST а L это параметр сравнения
TEST L ...

далее что такое BUF_A - по сути это имя которому GPSS назначит номер при запуске модели и этот номер вы будете сравнивать с 1, тоже самое касается HDUP.

Вам нужно обращаться не к именам каких-то блоков в модели, а к их параметрам , например
Q$och - значение параметра текущего размера очереди с именем och

F$device - значение параметра занятости устройства с именем device (мб 0 или 1, если занят)
0
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
19.11.2015, 13:31  [ТС] 13
Спасибо, а второй вопрос, не подскажите?

Добавлено через 22 минуты
Код
*******Передача изA в B*******
GENERATE(Exponential(1,0,10));
TEST L Q$BUF_A,1,MET1;
QUEUE BUF_A;
SEIZE CANAL_AB;
DEPART BUF_A;
ADVANCE 10;
RELEASE CANAL_AB;
TERMINATE;
*******Передача из B в A*******
GENERATE(Exponential(1,0,10));
TEST L Q$BUF_B,1,MET1;
QUEUE BUF_B;
SEIZE CANAL_BA;
DEPART BUF_B;
ADVANCE 10;
RELEASE CANAL_BA;
TERMINATE;
*******Передача по полудуплексной связи*******
MET1 GATE NU SPUTNIK,MET2
SEIZE SPUTNIK;
ADVANCE (Exponential(1,0,8));
RELEASE SPUTNIK;
TERMINATE;
*******Если занята спутниковая********
MET2 TERMINATE;
GENERATE 60000;
TERMINATE 1;
Добавлено через 2 минуты
Вот сейчас программа работает, но вот несколько вопросов:
1) уже задавал как вернуться обратно в блок А или B, послет отказа спутниковой связи? сейчас в коде, если отказ то пакет выводится из модели.
2) как подсчитать частоту вызовов спутниковой линии и ее загрузку?
0
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
19.11.2015, 18:11 14
1) уже задавал как вернуться обратно в блок А или B, послет отказа спутниковой связи? сейчас в коде, если отказ то пакет выводится из модели.
Отвечаю. Смысла в этом нету.
Допустим А занят - идём в спутник - занят, возвращаем в А - занят, в спутник - занят, .... до бесконечности. задержек у вас в этой цепочке проверок нету.

Добавлено через 2 минуты
2) как подсчитать частоту вызовов спутниковой линии и ее загрузку?
загрузка в отчёте есть по устройству SPUTNIK
частота вызовов - количество вызовов делим на время моделирования

Код
GENERATE 60000;
Здесь можно расчитать
SAVEVALUE CHASTOTA,(N23/AC1) ; заявок побывавших в блоке №23 делим на текущее время (т.е. время завершения модели)
TERMINATE 1;
P.S. Оформляйте код в своих сообщения в тэгах [_CODE] код [_/CODE] без нижнего подчёркивания_.
0
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
19.11.2015, 20:24  [ТС] 15
1) зачем проверки? Просто будет так до бесконечности стучаться пока не освободиться.
2)N23 это присвоилось автоматически?
0
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
19.11.2015, 21:24 16
1. ..?!
2. У вас в коде увидел за 23ей строчкой RELEASE SPUTNIK; НО нужно смотреть реально какой номер у блока ( любого что связан с обслуживанием спутника - эта инфа в отчете GPSS ), либо введите метку у любого блока и обращайтесь по имени N$SPUT.
0
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
19.11.2015, 21:42  [ТС] 17
1) какую проверку тогда слелать?
2)что за метку? Пример
0
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
19.11.2015, 21:49 18
1. Никакой проверкой это не сделать я сказал что не нужно вам это, не по условию задачи это.
2. Кудрявцев имитационное моделирование на GPSS !!! Пошли уже вопросы из разряда "странные", т.е. модель сделана, метки есть, а понимания их нет -> в книгу.
0
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 54
19.11.2015, 23:29  [ТС] 19
1) я вам задал вопрос как сделать так чтобы пакет не вызодил из модели а так и проверял свободно или нет? Причем злесь то, что мне не нудно И так далее.
2)как определить распределение времени передачи пакета в системе по дуплексному каналу? Таблицы неоьходимо создать?
0
1815 / 1029 / 285
Регистрация: 13.02.2012
Сообщений: 3,338
20.11.2015, 09:15 20
2. Да, именно таблицы. заносить в таблицу время нахождения заявки в системе - параметр M1 (время от генерации заявки и до момента когда вы будете фиксировать(заносить) его в таблицу командой TABULATE)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2015, 09:15

Промоделировать тракт передачи данных, состоящий из n каналов
Здравствуйте! у меня курсовая работа, а я толком не разобрался в GPSS задание: Промоделировать...

Анализ эффективности модели системы передачи данных
Добрый день! пишу курсовую работу, и возникла проблема при анализе эффективности СМО. Задача...

Моделирование системы передачи данных по дуплексному каналу связи
Подскажите как исправить программу, нужно чтоб пакеты переходили на дополнительную линии связи если...

Анализ сети передачи данных методом имитационного моделирования
добрый день! помогите пожалуйста.нужно написать программу для gpss по моим данным.чуток...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.