SIMULATE
* --- МОДЕЛЬ МУЛЬТИПЛЕКСОРНОГО КАНАЛА И 6 МИНИ-ЭВМ ---
* --- ФУНКЦИИ ---
EXP_FUNC FUNCTION RN1,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915
.7,1.2/.75,1.38/.8,1.6/.84,1.83/.88,2.12/.9,2.3
.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9
.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
* --- ПАРАМЕТРЫ СИСТЕМЫ ---
SAVEVALUE K,50
SAVEVALUE SS1,20
SAVEVALUE SS2,5
SAVEVALUE SS3,130
SAVEVALUE SS4,3
SAVEVALUE REFUSED,0
SAVEVALUE AVAR_TIME,0
SAVEVALUE TOTAL_COST,0
* --- НАКОПИТЕЛИ ДЛЯ МИНИ-ЭВМ ---
S_EVM1 STORAGE 5
S_EVM2 STORAGE 5
S_EVM3 STORAGE 5
S_EVM4 STORAGE 5
S_EVM5 STORAGE 5
S_EVM6 STORAGE 5
* --- ОЧЕРЕДИ К МИНИ-ЭВМ ---
QUEUE Q_EV1
QUEUE Q_EV2
QUEUE Q_EV3
QUEUE Q_EV4
QUEUE Q_EV5
QUEUE Q_EV6
* --- ПОСТУПЛЕНИЕ СООБЩЕНИЙ ---
GEN GENERATE 30,10
ASSIGN 1,0
ASSIGN 2,0
QUEUE Q_CHAN
SEIZE CHAN
DEPART Q_CHAN
ADVANCE 25,5
RELEASE CHAN
* --- ВЫБОР ЭВМ С НАИМЕНЬШЕЙ ОЧЕРЕДЬЮ ---
ASSIGN 3,Q$Q_EV1 ; Длина очереди ЭВМ1
ASSIGN 4,Q$Q_EV2 ; Длина очереди ЭВМ2
ASSIGN 5,Q$Q_EV3 ; Длина очереди ЭВМ3
ASSIGN 6,Q$Q_EV4 ; Длина очереди ЭВМ4
ASSIGN 7,Q$Q_EV5 ; Длина очереди ЭВМ5
ASSIGN 8,Q$Q_EV6 ; Длина очереди ЭВМ6
ASSIGN 2,1
ASSIGN 9,P3
TEST LE P4,P9,CHK2
ASSIGN 2,2
ASSIGN 9,P4
CHK2 TEST LE P5,P9,CHK3
ASSIGN 2,3
ASSIGN 9,P5
CHK3 TEST LE P6,P9,CHK4
ASSIGN 2,4
ASSIGN 9,P6
CHK4 TEST LE P7,P9,CHK5
ASSIGN 2,5
ASSIGN 9,P7
CHK5 TEST LE P8,P9,TRY_ENTER
ASSIGN 2,6
ASSIGN 9,P8
* --- ПРОВЕРКА СВОБОДНОГО МЕСТА ---
TRY_ENTER TEST E P2,1,TRY1
TEST E P2,2,TRY2
TEST E P2,3,TRY3
TEST E P2,4,TRY4
TEST E P2,5,TRY5
TRANSFER ,TRY6
TRY1 GATE SNF S_EVM1,REFUSAL
ENTER S_EVM1
TRANSFER ,TO_EVM
TRY2 GATE SNF S_EVM2,REFUSAL
ENTER S_EVM2
TRANSFER ,TO_EVM
TRY3 GATE SNF S_EVM3,REFUSAL
ENTER S_EVM3
TRANSFER ,TO_EVM
TRY4 GATE SNF S_EVM4,REFUSAL
ENTER S_EVM4
TRANSFER ,TO_EVM
TRY5 GATE SNF S_EVM5,REFUSAL
ENTER S_EVM5
TRANSFER ,TO_EVM
TRY6 GATE SNF S_EVM6,REFUSAL
ENTER S_EVM6
* --- ОБРАБОТКА НА ЭВМ ---
TO_EVM TEST E P2,1,QUE1
TEST E P2,2,QUE2
TEST E P2,3,QUE3
TEST E P2,4,QUE4
TEST E P2,5,QUE5
TRANSFER ,QUE6
QUE1 QUEUE Q_EV1
TRANSFER ,SEIZE_EVM
QUE2 QUEUE Q_EV2
TRANSFER ,SEIZE_EVM
QUE3 QUEUE Q_EV3
TRANSFER ,SEIZE_EVM
QUE4 QUEUE Q_EV4
TRANSFER ,SEIZE_EVM
QUE5 QUEUE Q_EV5
TRANSFER ,SEIZE_EVM
QUE6 QUEUE Q_EV6
SEIZE_EVM SEIZE EVM
TEST E P2,1,DEP1
TEST E P2,2,DEP2
TEST E P2,3,DEP3
TEST E P2,4,DEP4
TEST E P2,5,DEP5
DEPART Q_EV6
TRANSFER ,CHECK_AVAR
DEP1 DEPART Q_EV1
TRANSFER ,CHECK_AVAR
DEP2 DEPART Q_EV2
TRANSFER ,CHECK_AVAR
DEP3 DEPART Q_EV3
TRANSFER ,CHECK_AVAR
DEP4 DEPART Q_EV4
TRANSFER ,CHECK_AVAR
DEP5 DEPART Q_EV5
CHECK_AVAR ASSIGN 10,Q$Q_EV1 ; Сумма длин очередей
ASSIGN 10+,Q$Q_EV2
ASSIGN 10+,Q$Q_EV3
ASSIGN 10+,Q$Q_EV4
ASSIGN 10+,Q$Q_EV5
ASSIGN 10+,Q$Q_EV6
TEST GE P10,18,AVAR
ASSIGN 1,188
TRANSFER ,PROC
AVAR ASSIGN 1,188
ASSIGN 1-,X$K
SAVEVALUE AVAR_TIME+,1
PROC ADVANCE P1
RELEASE EVM
* Освобождение места
TEST E P2,1,OUT1
TEST E P2,2,OUT2
TEST E P2,3,OUT3
TEST E P2,4,OUT4
TEST E P2,5,OUT5
LEAVE S_EVM6
TERMINATE 1
OUT1 LEAVE S_EVM1
TERMINATE 1
OUT2 LEAVE S_EVM2
TERMINATE 1
OUT3 LEAVE S_EVM3
TERMINATE 1
OUT4 LEAVE S_EVM4
TERMINATE 1
OUT5 LEAVE S_EVM5
TERMINATE 1
* --- ОТКАЗ В ОБСЛУЖИВАНИИ ---
REFUSAL SAVEVALUE REFUSED+,1
TERMINATE
* --- УПРАВЛЕНИЕ ВРЕМЕНЕМ ---
TIMER GENERATE 1000000
TERMINATE 1
* --- РАСЧЕТ ЗАТРАТ ---
CALC GENERATE ,,,1
ASSIGN 20,X$REFUSED
ASSIGN 21,X$SS3
ASSIGN 22,0
LOOP1 TEST E P20,0,END1
ASSIGN 22+,P21
ASSIGN 20-,1
TRANSFER ,LOOP1
END1 SAVEVALUE TOTAL_COST+,P22
TEST E X$AVAR_TIME,0,NOAVAR
ASSIGN 23,X$SS4
ASSIGN 24,X$AVAR_TIME
ASSIGN 25,X$K
ASSIGN 26,0
LOOP2 TEST E P24,0,END2
ASSIGN 26+,P23
ASSIGN 24-,1
TRANSFER ,LOOP2
END2 ASSIGN 27,P26
LOOP3 TEST E P25,0,END3
ASSIGN 27+,P26
ASSIGN 25-,1
TRANSFER ,LOOP3
END3 SAVEVALUE TOTAL_COST+,P27
NOAVAR TERMINATE
* --- ЗАПУСК ---
START 1000
END
ICAgICAgICAgIFNJTVVMQVRFCiogLS0tINCc0J7QlNCV0JvQrCDQnNCj0JvQrNCi0JjQn9Cb0JXQmtCh0J7QoNCd0J7Qk9CeINCa0JDQndCQ0JvQkCDQmCA2INCc0JjQndCYLdCt0JLQnCAtLS0KCiogLS0tINCk0KPQndCa0KbQmNCYIC0tLQpFWFBfRlVOQyBGVU5DVElPTiBSTjEsQzI0CjAsMC8uMSwuMTA0Ly4yLC4yMjIvLjMsLjM1NS8uNCwuNTA5Ly41LC42OS8uNiwuOTE1Ci43LDEuMi8uNzUsMS4zOC8uOCwxLjYvLjg0LDEuODMvLjg4LDIuMTIvLjksMi4zCi45MiwyLjUyLy45NCwyLjgxLy45NSwyLjk5Ly45NiwzLjIvLjk3LDMuNS8uOTgsMy45Ci45OSw0LjYvLjk5NSw1LjMvLjk5OCw2LjIvLjk5OSw3Ly45OTk4LDgKCiogLS0tINCf0JDQoNCQ0JzQldCi0KDQqyDQodCY0KHQotCV0JzQqyAtLS0KICAgICAgICAgIFNBVkVWQUxVRSBLLDUwCiAgICAgICAgICBTQVZFVkFMVUUgU1MxLDIwCiAgICAgICAgICBTQVZFVkFMVUUgU1MyLDUKICAgICAgICAgIFNBVkVWQUxVRSBTUzMsMTMwCiAgICAgICAgICBTQVZFVkFMVUUgU1M0LDMKICAgICAgICAgIFNBVkVWQUxVRSBSRUZVU0VELDAKICAgICAgICAgIFNBVkVWQUxVRSBBVkFSX1RJTUUsMAogICAgICAgICAgU0FWRVZBTFVFIFRPVEFMX0NPU1QsMAoKKiAtLS0g0J3QkNCa0J7Qn9CY0KLQldCb0Jgg0JTQm9CvINCc0JjQndCYLdCt0JLQnCAtLS0KU19FVk0xICAgU1RPUkFHRSAgNQpTX0VWTTIgICBTVE9SQUdFICA1ClNfRVZNMyAgIFNUT1JBR0UgIDUKU19FVk00ICAgU1RPUkFHRSAgNQpTX0VWTTUgICBTVE9SQUdFICA1ClNfRVZNNiAgIFNUT1JBR0UgIDUKCiogLS0tINCe0KfQldCg0JXQlNCYINCaINCc0JjQndCYLdCt0JLQnCAtLS0KICAgICAgICAgIFFVRVVFICAgIFFfRVYxCiAgICAgICAgICBRVUVVRSAgICBRX0VWMgogICAgICAgICAgUVVFVUUgICAgUV9FVjMKICAgICAgICAgIFFVRVVFICAgIFFfRVY0CiAgICAgICAgICBRVUVVRSAgICBRX0VWNQogICAgICAgICAgUVVFVUUgICAgUV9FVjYKCiogLS0tINCf0J7QodCi0KPQn9Cb0JXQndCY0JUg0KHQntCe0JHQqdCV0J3QmNCZIC0tLQpHRU4gICAgICBHRU5FUkFURSAzMCwxMAogICAgICAgICBBU1NJR04gMSwwCiAgICAgICAgIEFTU0lHTiAyLDAKICAgICAgICAgCiAgICAgICAgIFFVRVVFICAgIFFfQ0hBTgogICAgICAgICBTRUlaRSAgICBDSEFOCiAgICAgICAgIERFUEFSVCAgIFFfQ0hBTgogICAgICAgICBBRFZBTkNFICAyNSw1CiAgICAgICAgIFJFTEVBU0UgIENIQU4KCiogLS0tINCS0KvQkdCe0KAg0K3QktCcINChINCd0JDQmNCc0JXQndCs0KjQldCZINCe0KfQldCg0JXQlNCs0K4gLS0tCiAgICAgICAgIEFTU0lHTiAgIDMsUSRRX0VWMSAgICAgIDsg0JTQu9C40L3QsCDQvtGH0LXRgNC10LTQuCDQrdCS0JwxCiAgICAgICAgIEFTU0lHTiAgIDQsUSRRX0VWMiAgICAgIDsg0JTQu9C40L3QsCDQvtGH0LXRgNC10LTQuCDQrdCS0JwyCiAgICAgICAgIEFTU0lHTiAgIDUsUSRRX0VWMyAgICAgIDsg0JTQu9C40L3QsCDQvtGH0LXRgNC10LTQuCDQrdCS0JwzCiAgICAgICAgIEFTU0lHTiAgIDYsUSRRX0VWNCAgICAgIDsg0JTQu9C40L3QsCDQvtGH0LXRgNC10LTQuCDQrdCS0Jw0CiAgICAgICAgIEFTU0lHTiAgIDcsUSRRX0VWNSAgICAgIDsg0JTQu9C40L3QsCDQvtGH0LXRgNC10LTQuCDQrdCS0Jw1CiAgICAgICAgIEFTU0lHTiAgIDgsUSRRX0VWNiAgICAgIDsg0JTQu9C40L3QsCDQvtGH0LXRgNC10LTQuCDQrdCS0Jw2CgogICAgICAgICBBU1NJR04gICAyLDEKICAgICAgICAgQVNTSUdOICAgOSxQMwogICAgICAgICAKICAgICAgICAgVEVTVCBMRSAgUDQsUDksQ0hLMgogICAgICAgICBBU1NJR04gICAyLDIKICAgICAgICAgQVNTSUdOICAgOSxQNApDSEsyICAgICBURVNUIExFICBQNSxQOSxDSEszCiAgICAgICAgIEFTU0lHTiAgIDIsMwogICAgICAgICBBU1NJR04gICA5LFA1CkNISzMgICAgIFRFU1QgTEUgIFA2LFA5LENISzQKICAgICAgICAgQVNTSUdOICAgMiw0CiAgICAgICAgIEFTU0lHTiAgIDksUDYKQ0hLNCAgICAgVEVTVCBMRSAgUDcsUDksQ0hLNQogICAgICAgICBBU1NJR04gICAyLDUKICAgICAgICAgQVNTSUdOICAgOSxQNwpDSEs1ICAgICBURVNUIExFICBQOCxQOSxUUllfRU5URVIKICAgICAgICAgQVNTSUdOICAgMiw2CiAgICAgICAgIEFTU0lHTiAgIDksUDgKCiogLS0tINCf0KDQntCS0JXQoNCa0JAg0KHQktCe0JHQntCU0J3QntCT0J4g0JzQldCh0KLQkCAtLS0KVFJZX0VOVEVSIFRFU1QgRSAgUDIsMSxUUlkxCiAgICAgICAgICBURVNUIEUgIFAyLDIsVFJZMgogICAgICAgICAgVEVTVCBFICBQMiwzLFRSWTMKICAgICAgICAgIFRFU1QgRSAgUDIsNCxUUlk0CiAgICAgICAgICBURVNUIEUgIFAyLDUsVFJZNQogICAgICAgICAgVFJBTlNGRVIgLFRSWTYKClRSWTEgICAgIEdBVEUgU05GIFNfRVZNMSxSRUZVU0FMCiAgICAgICAgIEVOVEVSICAgU19FVk0xCiAgICAgICAgIFRSQU5TRkVSICxUT19FVk0KVFJZMiAgICAgR0FURSBTTkYgU19FVk0yLFJFRlVTQUwKICAgICAgICAgRU5URVIgICBTX0VWTTIKICAgICAgICAgVFJBTlNGRVIgLFRPX0VWTQpUUlkzICAgICBHQVRFIFNORiBTX0VWTTMsUkVGVVNBTAogICAgICAgICBFTlRFUiAgIFNfRVZNMwogICAgICAgICBUUkFOU0ZFUiAsVE9fRVZNClRSWTQgICAgIEdBVEUgU05GIFNfRVZNNCxSRUZVU0FMCiAgICAgICAgIEVOVEVSICAgU19FVk00CiAgICAgICAgIFRSQU5TRkVSICxUT19FVk0KVFJZNSAgICAgR0FURSBTTkYgU19FVk01LFJFRlVTQUwKICAgICAgICAgRU5URVIgICBTX0VWTTUKICAgICAgICAgVFJBTlNGRVIgLFRPX0VWTQpUUlk2ICAgICBHQVRFIFNORiBTX0VWTTYsUkVGVVNBTAogICAgICAgICBFTlRFUiAgIFNfRVZNNgoKKiAtLS0g0J7QkdCg0JDQkdCe0KLQmtCQINCd0JAg0K3QktCcIC0tLQpUT19FVk0gICBURVNUIEUgIFAyLDEsUVVFMQogICAgICAgICAgVEVTVCBFICBQMiwyLFFVRTIKICAgICAgICAgIFRFU1QgRSAgUDIsMyxRVUUzCiAgICAgICAgICBURVNUIEUgIFAyLDQsUVVFNAogICAgICAgICAgVEVTVCBFICBQMiw1LFFVRTUKICAgICAgICAgIFRSQU5TRkVSICxRVUU2CgpRVUUxICAgICBRVUVVRSAgIFFfRVYxCiAgICAgICAgIFRSQU5TRkVSICxTRUlaRV9FVk0KUVVFMiAgICAgUVVFVUUgICBRX0VWMgogICAgICAgICBUUkFOU0ZFUiAsU0VJWkVfRVZNClFVRTMgICAgIFFVRVVFICAgUV9FVjMKICAgICAgICAgVFJBTlNGRVIgLFNFSVpFX0VWTQpRVUU0ICAgICBRVUVVRSAgIFFfRVY0CiAgICAgICAgIFRSQU5TRkVSICxTRUlaRV9FVk0KUVVFNSAgICAgUVVFVUUgICBRX0VWNQogICAgICAgICBUUkFOU0ZFUiAsU0VJWkVfRVZNClFVRTYgICAgIFFVRVVFICAgUV9FVjYKClNFSVpFX0VWTSBTRUlaRSAgRVZNCiAgICAgICAgICBURVNUIEUgUDIsMSxERVAxCiAgICAgICAgICBURVNUIEUgUDIsMixERVAyCiAgICAgICAgICBURVNUIEUgUDIsMyxERVAzCiAgICAgICAgICBURVNUIEUgUDIsNCxERVA0CiAgICAgICAgICBURVNUIEUgUDIsNSxERVA1CiAgICAgICAgICBERVBBUlQgUV9FVjYKICAgICAgICAgIFRSQU5TRkVSICxDSEVDS19BVkFSCgpERVAxICAgICBERVBBUlQgUV9FVjEKICAgICAgICAgVFJBTlNGRVIgLENIRUNLX0FWQVIKREVQMiAgICAgREVQQVJUIFFfRVYyCiAgICAgICAgIFRSQU5TRkVSICxDSEVDS19BVkFSCkRFUDMgICAgIERFUEFSVCBRX0VWMwogICAgICAgICBUUkFOU0ZFUiAsQ0hFQ0tfQVZBUgpERVA0ICAgICBERVBBUlQgUV9FVjQKICAgICAgICAgVFJBTlNGRVIgLENIRUNLX0FWQVIKREVQNSAgICAgREVQQVJUIFFfRVY1CgpDSEVDS19BVkFSIEFTU0lHTiAxMCxRJFFfRVYxICAgICA7INCh0YPQvNC80LAg0LTQu9C40L0g0L7Rh9C10YDQtdC00LXQuQogICAgICAgICAgIEFTU0lHTiAxMCssUSRRX0VWMgogICAgICAgICAgIEFTU0lHTiAxMCssUSRRX0VWMwogICAgICAgICAgIEFTU0lHTiAxMCssUSRRX0VWNAogICAgICAgICAgIEFTU0lHTiAxMCssUSRRX0VWNQogICAgICAgICAgIEFTU0lHTiAxMCssUSRRX0VWNgogICAgICAgICAgIAogICAgICAgICAgIFRFU1QgR0UgUDEwLDE4LEFWQVIKICAgICAgICAgICBBU1NJR04gMSwxODgKICAgICAgICAgICBUUkFOU0ZFUiAsUFJPQwpBVkFSICAgICAgQVNTSUdOIDEsMTg4CiAgICAgICAgICAgQVNTSUdOIDEtLFgkSwogICAgICAgICAgIFNBVkVWQUxVRSBBVkFSX1RJTUUrLDEKClBST0MgICAgICBBRFZBTkNFIFAxCiAgICAgICAgICAgUkVMRUFTRSBFVk0KCiog0J7RgdCy0L7QsdC+0LbQtNC10L3QuNC1INC80LXRgdGC0LAKICAgICAgICAgICBURVNUIEUgUDIsMSxPVVQxCiAgICAgICAgICAgVEVTVCBFIFAyLDIsT1VUMgogICAgICAgICAgIFRFU1QgRSBQMiwzLE9VVDMKICAgICAgICAgICBURVNUIEUgUDIsNCxPVVQ0CiAgICAgICAgICAgVEVTVCBFIFAyLDUsT1VUNQogICAgICAgICAgIExFQVZFIFNfRVZNNgogICAgICAgICAgIFRFUk1JTkFURSAxCgpPVVQxICAgICAgTEVBVkUgU19FVk0xCiAgICAgICAgICAgVEVSTUlOQVRFIDEKT1VUMiAgICAgIExFQVZFIFNfRVZNMgogICAgICAgICAgIFRFUk1JTkFURSAxCk9VVDMgICAgICBMRUFWRSBTX0VWTTMKICAgICAgICAgICBURVJNSU5BVEUgMQpPVVQ0ICAgICAgTEVBVkUgU19FVk00CiAgICAgICAgICAgVEVSTUlOQVRFIDEKT1VUNSAgICAgIExFQVZFIFNfRVZNNQogICAgICAgICAgIFRFUk1JTkFURSAxCgoqIC0tLSDQntCi0JrQkNCXINCSINCe0JHQodCb0KPQltCY0JLQkNCd0JjQmCAtLS0KUkVGVVNBTCAgU0FWRVZBTFVFIFJFRlVTRUQrLDEKICAgICAgICAgVEVSTUlOQVRFCgoqIC0tLSDQo9Cf0KDQkNCS0JvQldCd0JjQlSDQktCg0JXQnNCV0J3QldCcIC0tLQpUSU1FUiAgICBHRU5FUkFURSAxMDAwMDAwCiAgICAgICAgIFRFUk1JTkFURSAxCgoqIC0tLSDQoNCQ0KHQp9CV0KIg0JfQkNCi0KDQkNCiIC0tLQpDQUxDICAgICBHRU5FUkFURSAsLCwxCiAgICAgICAgIEFTU0lHTiAyMCxYJFJFRlVTRUQKICAgICAgICAgQVNTSUdOIDIxLFgkU1MzCiAgICAgICAgIEFTU0lHTiAyMiwwCkxPT1AxICAgIFRFU1QgRSBQMjAsMCxFTkQxCiAgICAgICAgIEFTU0lHTiAyMissUDIxCiAgICAgICAgIEFTU0lHTiAyMC0sMQogICAgICAgICBUUkFOU0ZFUiAsTE9PUDEKRU5EMSAgICAgU0FWRVZBTFVFIFRPVEFMX0NPU1QrLFAyMgogICAgICAgICBURVNUIEUgWCRBVkFSX1RJTUUsMCxOT0FWQVIKICAgICAgICAgQVNTSUdOIDIzLFgkU1M0CiAgICAgICAgIEFTU0lHTiAyNCxYJEFWQVJfVElNRQogICAgICAgICBBU1NJR04gMjUsWCRLCiAgICAgICAgIEFTU0lHTiAyNiwwCkxPT1AyICAgIFRFU1QgRSBQMjQsMCxFTkQyCiAgICAgICAgIEFTU0lHTiAyNissUDIzCiAgICAgICAgIEFTU0lHTiAyNC0sMQogICAgICAgICBUUkFOU0ZFUiAsTE9PUDIKRU5EMiAgICAgQVNTSUdOIDI3LFAyNgpMT09QMyAgICBURVNUIEUgUDI1LDAsRU5EMwogICAgICAgICBBU1NJR04gMjcrLFAyNgogICAgICAgICBBU1NJR04gMjUtLDEKICAgICAgICAgVFJBTlNGRVIgLExPT1AzCkVORDMgICAgIFNBVkVWQUxVRSBUT1RBTF9DT1NUKyxQMjcKTk9BVkFSICAgVEVSTUlOQVRFCgoqIC0tLSDQl9CQ0J/Qo9Ch0JogLS0tCiAgICAgICAgIFNUQVJUIDEwMDAKICAgICAgICAgRU5E