5. . GPSS World
36. GPSS.
"___" ___________ 2011 .
___
1. GPSS
2. .
3. .
4. .
2 . .
-
: .., .. . . ., , 2005.
: .
I. ~10 .
II.
1. _________ _ __ ~15 .
2. GPSS ~15 .
3. .~15
4. . _~25 .
IV. ~ 10 .
1. -
. , .
.
, .
- . .
5. : , GPSS , GPSS.
- .
.
, . . .
.
|
|
2.
, .
, , . , .
.
.
.
:
, , .
:
- ;
- ;
- . , ;
- ();
- ;
- ;
- ;
- .
:
- ;
- ;
- ;
- ;
- ;
- . ;
- .
, .
, , 2-3 .
( ) .
4. .
:
1. .
2. LINK UNLINK. .
3. 4-6
4. , 4, 2000 .
GPSS
GPSS. - pea .
GPSS ( ()) (. 1). GPSS . (), , , . , . , - (). , , . .
|
|
( ). . ( ), .
( START, GPSS-) } GENERATE . , . , , , . - , ADVANCE, . ADVANCE, .
, EVENTS GPSS/PC GPSS World.
, (, ). , . , , , .
, , , . , , , . , , , , .
, . - , . .
, , , . , , , .
|
|
- , . , ; , , , . , , . , , , , , , . .
(), , , . . .
() , . , SPLIT, -, . : MATCH ( ), ASSEMBLE ( - ), GATHER ( , ). SPLIT .
, .
() , LINK ( ). , UNLINK.
. 1
, , START, .
LINK ( ). LINK . , , .
:
LINK A,B|,C|
, . , , , *.
. LJFO, FIFO, , , *.
:
FIFO - ;
LIFO - ;
- ;
R - ( );
Ml - ;
, , . , , , *.
, , , 1. , , , , , , .
, . 1, , , . λ, 1, , .
|
|
1
LINK LIST,F1FO
, , LIST.
, LINK:
< >, $< > - ;
< >, $< > - ;
< >, $< > - ;
< >, $< > - ;
< >, $< > - .
UNLINK ( ). UNLINK . GPSS .
:
UNLINK [X] A,B,IC],[D],IE],[F]
, X, , () . , .
:
G () - , , D, , ;
GE ( ) - , I , D, , , ;
L () , , D, , ;
LE ( ) - , , D, , , ;
() , , D, , ;
NE ( ) - , , D, , .
, . , , *.
, . , , , *.
, ( ). , , , * ALL ( ).
D , , , *, BACK. , UNLINK, , D. D , BACK.
. , . , . , , , .
BVj . BVj=l, ( ). BVj=0 , , F. F , - i .
D , . BVj - , , UNLINK .
BACK. , , , . . , ( one D). , , , *.
F , UNLINK , , D (.. , ). F , , , *.
2
UNLINK LIST,FORW,I
LIST FORW. . , UNLINK, .
|
|
, UNLINK. , A-F UNLINK , .
1. , , , D, E, F . () . , . , λ, , , .
, ( ), , . , , . , . , UNLINK, .
2. , , F , D . 1, , . λ, , UNLINK, , F, .
3. , , D , F , D Pj. 1. , Pj Pj , UNLINK. , ( ) . , UNLINK. , UNLINK, .
4. , , D , F , D BACK. 1, , , .
5. , , D - , F - , D BVj. 3, , BVj . , BVj=l.
1. BVj - , , , .
2. , D UNLINK BVj BACK, , - .
6. , , , D F , . 3, , (CHj=0), , BVj=0 . , UNLINK, , F, . λ , .
7. , , , D , F .
. , , . , Pj ( D) , . ( ), . , ( ) . , UNLIPIK, , .
8. , , , D F . 5, , ( CHj=0) . , UNLINK, , F, . - , , , . , λ.
3
FIFO :
GENERATE 1000,FN1
QUEUE QUE1
LINK CHAIN,FIFO,CAN
CAN SEIZE FC_1
DEPART QUE1
ADVANCE 700,FN1
RELEASE FC_1
UNLINK CHAIN,CAN,1
TERMINATE
, GENERATE, QUEUE. , , LINK. LINK , CHAIN ( LINK). λ, 1 , - SEJZE. 1, , LINK, CHAIN. FIFO, .
, , , , , UNLINK. , UNLINK.
SEIZE, , . DEPART, , ADVANCE, , ADVANCE.
ADVANCE RELEASE. . UNLINK.
UNLINK , :
1) , CH$CHAIN=0, λ , TERMINATE;
2) , CHSCHAIN 0, , UNLINK ( SEIZE, CAN). , UNLINK, TERMINATE.
, :
1) , GENERATE, , . CHAIN;
2) , , FC_1, CHAIN, . : , LINK - UNLINK, ;
3) , GPSS;
4) LINK - UNLINK , , , - UNLINK.
4
, () (), . 50 , - 10 . , 50060 . . 1500+500 , .
1000 .
:
* .
* , . 2
NUMBKS FUNCTION RN1.D4; ,
.25,1/.5,2/.75,3/.9999,4;
OPROS FUNCTION P1,D4;,
1,2/2,3/3,4/4,1;
*
GENERATE 10,,,1; ,
ASSIGN 1,4;
;
NEXT ASSIGN 1,FN$OPROS;
SEIZE VK;
ADVANCE 50;
TEST NE CH*1,0,MREL; ?
UNLINK P1,MESS,1;
MREL RELEASE VK;
ADVANCE 10;
TRANSFER,NEXT;
*
GENERATE 1500,500;
ASSIGN1,FN$NUMBKS; , ;
LINK P1,FIFO;
MESS SEIZE VK;
ADVANCE 500,60;
RELEASE MPD;
TERMINATE 1
START 1000; 1000
5
55 , . - LIFO. , 40 . 30 , - 20 5 . 100 .
:
10 FUNCTION RN1,C24
0,0/.100,.104/.200,.222/JOO,.355/.400,.S09.500,.690/.600,.915/.700,1.200/.750,1.380.800,1.600/.840,1.830/.880,2.120/.900,2.300.920,2.520/.940,2.810/.950,2.990/.960,3.200.970,3.500/.980,3.900/.990,4.600/.995,5.300
.998,6.2007.999,7/1,8
;
20 GENERATE 55,FN$EXP
30 TEST L CH$SP1,4,TER1; SP1
; ?; - .
40 QUEUE OCH1; - .
50 LINK SP1,LIFO,MUS1
60 MUSI SEIZE USTR1
70 DEPART OCH1
80 ADVANCE 30
90 RELEASE USTR1
100 UNLINK SP1,MUS1
110 ASSIGN TOCH2,C1;
120 ASSIGN TOCH2+,40; 40
130 LINK SP2,LIFO,MUS2
140 MUS2 SEIZE USTR2
150 ADVANCE 20,5
160 RELEASE USTR2
170 UNLINK LE SP2,TER1,ALL,TOCH2,C1; < 40 ?
180 UNLINK SP2,MUS2,1;
190 TER1 TERMINATE I
200 start 100
. LINK (1), , SP1 SP2 (LIFO), . (λ - ) - , MUSI MUS2. , USTR2, UNLINK ( 170).
6
I, . 5- 13- . , , , . . () . . - (), .
:
; Author: V. Tomashevskiy
TPOLK FUNCTION...;
;
;
;
;
EXP1 FUNCTION RN1,C21; ),
0/. 0078,0/. 2556,2/. 4544,4/. 7081,6/. 8023,8; 8694,10/. 9151,12/. 9418,14/. 9625,16/. 9763,18; )
9859,20/. 9896,22/. 9933,24/. 9955,26/. 9963,28
974,30/. 9981,32/. 9989,34/. 9996,36/1,96
;
MEST_VP FUNCTION X$CARVP,D2; 9
9,5/18,13; 9 - 13-
;
GENERATE 30,18;
; 18 .
; 30
SAVEVALUE CARVP+,1;
ASSIGN MESTOVP,FN$MEST_VP;
;
VOZVR ADVANCE 120,20;
EV TEST LE CH$EVAC_POL,P$MESTOVP,BOLVP
; , ,
UNLINK EVAC_POL,VPPG,CH$EVAC_POL
TRANSFER,VOZVR;
BOLVP UNLINK EVAC_POL,VPPG,P$MESTOVP
; ,
TRANSFER,VOZVR;
;
GENERATE FN$EXP1,,100; :
; ,
; 100
SAVEVALUE SV_P1+,1;
TRANSFER,NAK;
;
GENERATE 8,FNSEXP,100
ASSIGN 1,2
ASSIGN TRAN,FN$TPOLK
SAVEVALUE SV_P2+,1
TRANSFER,NAK
;
GENERATE 10,FN$EXP,100
ASSIGN 1,3
ASSIGN TRAN,FN$TPOLK
SAVEVALUE SV_P3+,1
TRANSFER,NAK
;
GENERATE 10,FN$EXP,100
ASSIGN 1,4
ASSIGN TRAN,FN$TPOLK
SAVEVALUE SV_P4+,1
NAK LINK EVAC_POL,FIFO
; '
VPPG ADVANCE 60,10;
;
ADVANCE 2,1;