Cú pháp Giải thích Ý nghĩa
Label GENERATE A, B, C, D, E
A: thời gian trung bình xuất hiện một giao tác.
B: xác định độ thay đổi của khoảng thời gian trung bình xuất hiện một giao tác. Độ thay đổi này có thể là thay đổi theo khoảng nếu nó tuân theo phân bố đều, hoặc thay đổi theo hàm khi nó tuân theo các phân bố khác. C: xác định thời điểm xuất hiện giao tác đầu tiên.
D: xác định số các giao tác mà khối GENERATE sẽ tạo ra. Mặc định là ∞
E: thiết lập độ ƣu tiên của các giao tác. Mặc định là số 0
sinh ra các giao tác tƣơng lai đi vào mô phỏng.
TERMINATE A A: là lƣợng giảm của Termination Count (Termination Count đƣợc thiết lập bởi lệnh START và mô phỏng sẽ dừng khi Termination Count <=0)
Hủy một giao tác
ADVANCE A,B A: số gia thời gian trung bình (bắt buộc)
B: tùy chọn thời gian khoảng biến thiên giao độ (không bắt buộc)
Để giữ các giao tác lại trong một khoảng thời gian nào đó, tức là mô phỏng khoảng thời gian phục vụ các yêu cầu ASSIGN A,B,C A: số hiệu tham số của giao tác
hoạt động (Active Transaction)
Khi một giao tác nhập vào một khối ASSIGN, giá trị của tham số định nghĩa
B: giá trị C: số hiệu hàm
trong A đƣợc thiết lập theo B và C. Sau A có thể sử dụng dấu + hoặc –, khi đó giá trị tại tham số đƣợc +(-) giá trị trong B. Nếu C đƣợc chỉ định thì giá trị của hàm trong C đƣợc đánh giá sau đó nhân với B và thêm vào hoặc trừ vào giá trị tại tham số của hàm tùy thuộc vào hậu tố của A là + hay -
Ví dụ:
GENERATE 5,2; Tạo giao tác sau mỗi khoảng thời gian
; ngẫu nhiên theo quy luật phân bố đều trong khoảng [3;7]. GENERATE (Exponential(1,0,5.5)) ;Tạo các giao tác theo phân phối mũ.
Đoạn codes GPSS đƣợc giới hạn bởi cặp Blocks GENERATE – TERMINATE gọi là
một segment.
Hình 2. 2- Một segment điển hình [6]
Ví dụ:
GENERATE 0.1 ;cứ sau mỗi 1/10 tick thì có 1 “yêu cầu”- transaction. ADVANCE 10 ; 10 ticks sau khi chuyển đến block khác.
38 Khi một mô phỏng đƣợc bắt đầu, giao tác (Transaction) đầu tiên đƣợc tạo bởi một khối GENERATE, tuy nhiên mỗi giao tác trƣớc khi đi vào khối bất kỳ đã đƣợc sinh ra trƣớc đó và đặt vào chuỗi sự kiện tƣơng lai FEC. Các giao tác trong FEC đi vào Block theo một kế hoạch. Toán hạng C có thể đƣợc sử dụng để xác định thời gian trễ với giao tác đầu tiên. Nếu không, lần tăng đầu tiên đƣợc tính từ các toán hạng A và B.
Chuỗi các sự kiện hiện tại (Current Events Chain - CEC) là tập các giao tác nhập vào các khối tại thời gian hiện thời. Tại một thời điểm, giao tác đƣợc lấy từ CEC và đi vào khối có thể. Khi không còn giao tác nào trong CEC, GPSS World sẽ tăng đồng hồ hệ thống.
Khi một giao tác đi đến khối ADVANCE, nó dừng lại trong khoảng thời gian đƣợc thiết lập (toán hạng A), sau đó đi đến khối tiếp theo. Một khối ADVANCE thông qua các tham số sẽ tính toán đƣợc một số gia thời gian và đặt giao tác đi vào FEC tƣơng ứng với khoảng thời gian trên.
Giao tác gặp khối TERMINATE sẽ đƣợc hủy khỏi chuỗi sự kiện.
2.3.5.2 Các khối làm việc với thực thể thiết bị
Facilities Entity trong GPSS là thực thể thiết bị, là các thực thể mô phỏng cho cơ sở vật chất của hệ thống nhƣ là các máy phục vụ, các kênh phục vụ: chẳng hạn nhƣ các bàn giao dịch trong ngân hàng, đƣờng băng sân bay phục vụ cho việc cất cánh và hạ cánh của máy bay,… Trong quá trình mô phỏng, nếu thiết bị ở trạng thái rảnh (idle) thì các giao tác mới đƣợc phép sở hữu nó. Một số khối làm việc với các thiết bị gồm có: