pX1 EQU 30 ;число байт в кадре
pX2 EQU 5 ;число ПК в сети
pX3 EQU 35 ;интервал поступления сообщений в систему
pX4 EQU 230 ;число байт в сообщении
pX7 EQU 10 ;задержка маркера с собщением
pX8 EQU 8 ;объём информации маркера
TABL1 TABLE MP10,10,100,100
TABL2 TABLE MP10,10,100,100
GENERATE (Exponential(1,0,pX3#1000)) ;поступление сообщений
SAVEVALUE Tran,(uniform(3,1,pX2)1) ;равновероятным способом определяется ПК-передатчик
SAVEVALUE Recepter,(uniform(4,1,pX2)1) ;равновероятным способом определяется ПК-приемник
SAVEVALUE ChisloKadrov,(Exponential(5,0,pX4)pX1) ;вычисляем число кадров в сообщении
SPLIT (X$ChisloKadrov),VSPISOK1 ;разделение сообщения на кадры
ASSIGN Prochlo,0 ;фиксируется тот факт, что первый кадр ещё не отправлялся соседним узлам
ASSIGN Tran,X$Tran ;кадру присваивается номер ПК-передатчика
ASSIGN Recep,X$Recepter ;кадру присваивается номер ПК-приемника
ASSIGN Next,P$Tran ;дублируем номер ПК в другом параметре
JOIN GDUT
;ASSIGN ChKa,X$ChisloKadrov ; дублируем число кадров сообщения в другом параметре
BEFORE_AG MARK 10 ;отметка времени начала передачи
TEST E F$MAGISTRAL,0,VSPISOK1 ; проверяется идёт ли уже передача с других ПК
AGAIN QUEUE OCH_PERED ;в очередь кадров на передачу
SEIZE MAGISTRAL ;занять магистраль передачи
DEPART OCH_PERED ;из очереди
ADVANCE (64+pX1) ;передача кадра
ADVANCE (64+pX8) ;передача маркера
ADVANCE pX7 ;задержка кадра и маркера в ПК
RELEASE MAGISTRAL ;освободить магистраль передачи
ASSIGN Prochlo+,1 ;зафиксировать факт передачи кадра соседнему ПК
ASSIGN Next,((P$Next'L'pX2)#(P$Next+1)+(P$Next'E'pX2)) ;передача идёт по часовой стрелке, поэтому номер соседнего узла больше номера текущего
TEST GE Prochlo,(pX2/2),PROVERKA
TABULATE TABL2
PROVERKA TEST E F$MAGISTRAL,1,IZVLECH ; проверяем занята ли ещё магистраль другими кадрами
TEST E P$Next,P$Recep,VSPISOK2 ; если нет, то проверяем достиг ли кадр ПК-приёмника
REMOVE GDUT
SCAN E GDUT,Tran,P$Tran,111,Tran ;поиск любого другого кадра из сообщения в ПК
TEST NE P$Tran,0,ENDER1 ;если не найден такой кадр, то считаем всё сообщение переданным
TABULATE TABL1 ;фиксируем время передачи сообщения
ENDER1 TERMINATE ;удаляем кадр, если да
VSPISOK1 JOIN GDUT
ASSIGN Tran,X$Tran ;присваиваем каждому кадру сообщения свой ПК-передатчик
ASSIGN Recep,X$Recepter ;присваиваем каждому кадру сообщения свой ПК-приемник
ASSIGN Prochlo,0 ;учитываем тот факт, что кадры ещё не передавались по кольцу
ASSIGN Next,P$Tran ;дублируем номер ПК в другом параметре
;ASSIGN ChKa,X$ChisloKadrov ; дублируем число кадров сообщения в другом параметре
MARK 10 ;отметка времени появления в системе
LINK OCH1_KADROV,FIFO ;заносим кадр в список1 новых кадров
VSPISOK2 LINK OCH2_KADROV,FIFO ;заносим кадр в список2 уже отправляемых кадров
IZVLECH UNLINK E OCH1_KADROV,AGAIN,1,Tran,P$Next ;? извлекаем из списка1 любой кадр, который принадлежит текущему ПК, к которому перешёл маркер
UNLINK OCH2_KADROV,AGAIN,ALL ;извлекаем все передаваемые кадры из списка2 для передачи далее по кольцу
TEST E P$Next,P$Recep,AGAIN ;проверяем достиг ли кадр ПК-приёмника
REMOVE GDUT
SCAN E GDUT,Tran,P$Tran,111,Tran ;поиск любого другого кадра из сообщения в ПК
TEST NE P$Tran,0,ENDER2 ;если не найден такой кадр, то считаем всё сообщение переданным
TABULATE TABL1 ;фиксируем время передачи сообщения
ENDER2 BUFFER
TEST E F$MAGISTRAL,0,ENDER3
TRANSFER ,AGAIN
ENDER3 TERMINATE
GENERATE 1000000
TERMINATE 1
start 1
В страховую компанию с интервалом 8+-5 минут приходят клиенты. Каждый подходит к терминалу, дожидается очереди, получает талончик. 52% всех приходящих уходят на получение ДМС, остальные на страхование жизни, страхование имущества, автострахование. У каждого вида страхования […]
В страховую компанию с интервалом 8+-5 минут приходят клиенты. Каждый подходит к терминалу, дожидается очереди, получает талончик. 52% всех приходящих уходят на получение ДМС, остальные на страхование жизни, страхование имущества, автострахование. У каждого вида страхования […]
Имеется N-е количество компьютеров (количество задается пользователем), у каждого компьютера есть 2 параметра: CPU и память. Также каждый компьютер требует некоторое количество CPU и памяти для работы (количество также задается пользователем, у каждого компьютера разное […]
Имеется N-е количество компьютеров (количество задается пользователем), у каждого компьютера есть 2 параметра: CPU и память. Также каждый компьютер требует некоторое количество CPU и памяти для работы (количество также задается пользователем, у каждого компьютера разное […]
Разработка e-магазинов и модулей на cms. Интеграция cms и retailcrm, и мойсклад.
Работаю с Opencart/WordPress.
@ladokk
lablow@mail.ru
Для начала работы нужно пообщаться. Достаточно
рассказать о своем проекте, указать контакты,
и мы свяжемся, чтобы все обсудить.
Давайте не расставаться! Новые материалы
и всяческие анонсы - вам на почту.