Я хотел узнать все ли верно в коде программе,если нет,то в чем ошибка,задание в документе
Код:
generate 10,5 ; поступление пакетов
assign 1,0 ; инициализация первого параметра транзакта;
test l q1,10,lost_a ; если количество пакетов в очереди q1 не меньше 10, то - вывод пакета из системы (потеря на накопителе A)
; маршрут A - B
queue 1 ; помещение пакета в очередь накопителя A
transfer both,lab2 ; если линия AB1 занята, пакет передаётся по линии AB2, или ждёт освобождения, если заняты обе линии
; линия передачи AB1
seize ab1 ; пакет занимает линию AB1
depart 1 ; вывод пакета из очереди
assign 1,1 ; пакет помечается как принадлежащий линии AB1, чтобы потом передать его по линии BC3
advance 20,2 ; передача пакета по линии AB1
release ab1 ; пакет освобождает линию AB1
transfer ,lbc ; пакет отправляется по маршруту BC
; линия передачи AB2
lab2 seize ab2 ; пакет занимает линию AB2
depart 1 ; вывод пакета из очереди
advance 20,5 ; передача пакета по линии AB2
release ab2 ; пакет освобождает линию AB2
; маршрут B - C
lbc test l q2,10,lost_b ; если количество пакетов в очереди q2 не меньше 10, то - вывод пакета из системы (потеря на накопителе B)
queue 2 ; пакет помещается в очередь накопителя B
test l q2,8,lbc5 ; если количество пакетов в буфере B не меньше порогового, подключение резервной линии BC5
test e p1,1,lbc4 ; пакет переданный по линии AB1, поступает по линии BC3; переданный по линии AB2 - по линии BC4
; линия передачи BC3
seize bc3 ; пакет занимает линию BC3
depart 2 ; пакет покидает очередь накопителя B
advance 25.3 ; передача пакета по линии BC3
release bc3 ; пакет освобождает линию BC3
savevalue no_bc5+,1 ; подсчёт количества пакетов, прошедших без подключения резервной линии
transfer ,quit
; линия передачи BC4
lbc4 seize bc4 ; пакет занимает линию BC4
depart 2 ; пакет покидает очередь накопителя B
advance 25.5 ; передача пакета по линии BC4
release bc4 ; пакет освобождает линию BC4
savevalue no_bc5+,1 ; подсчёт количества пакетов, прошедших без подключения резервной линии
transfer ,quit
; резервная линия передачи BC5
lbc5 seize bc5 ; пакет занимает линию BC5
depart 2 ; пакет покидает очередь накопителя B
advance 15.5 ; передача пакета по линии BC5
release bc5 ; пакет освобождает линию BC5
savevalue using_bc5+,1 ; подсчёт количества пакетов, прошедших по резервной линии BC5
transfer ,quit
lost_a savevalue losted_a+,1 ; потеряно пакетов в пункте A
transfer ,losted
lost_b savevalue losted_b+,1 ; потеряно пакетов в пункте B
losted terminate 1
quit terminate 1
start 500