e, Phƣơng pháp nghiên cứu:
4.3.6 TRẠNG THÁI ĐIỀU KHIỂN
Việc phát triển mạng mô phỏng là để kết hợp trạng thái mô tả mạng với trạng thái điều khiển cần thiết. Trạng thái điều khiển cung cấp thông tin về thử nghiệm
71
mô phỏng đƣợc thực hiện. Trạng thái điều khiển phải bao gồm GENERALS, LIMITS, FINISH. Trạng thái điều khiển khác nhƣ PRIORITY, MONTR, INITIALIZE cũng đƣợc bao gồm do yêu cầu để xác định các hoạt động mô phỏng. Trạng thái TIMST đƣợc sử dụng để thu thập các thống kê trên các biến và trạng thái ENTRY chèn các đối tƣợng vào các file.
Trạng thái điều khiển:
+Trạng thái chung :GENERAL
Câu lệnh : GEN,NAME,PROJECT,MONTH/DAY/YEAR,NNRNS;
Phạm vi trên trạng thái GEN là tên của mô phỏng, tên dự án, ngày hoạt động mô phỏng. Chỉ định giá trị cho NNRNS là số mô phỏng đƣợc làm.
+Định dạng của LIMITS : trạng thái giới hạn: Câu lệnh : LIM,MFIL,MATR,MNTRY;
MFIL là số file lớn nhất đƣợc sử dụng, MATRY là số lƣợng lớn nhất của các đặc tính đƣợc quy định cho đối tƣợng, và MNTRY là số ƣớc lƣợng lớn nhất của các đối tƣợng trùng nhau trong tất cả các file. MNTRY đƣợc ƣớc lƣợng từ biểu đồ mô phỏng.
+Định dạng cho trạng thái INTLC : Câu lệnh : INTLC, VAR=value, repeats;
INTLC đƣợc sử dụng để gán các giá trị ban đầu cho biến SLAM II Định dạng thu gọn cho trạng thái này là :
Câu lệnh : INIT, TTBEG, TTFIN, JJCRL; TTBEG : thời gian bắt đầu mô phỏng TTFIN: thời gian kết thúc mô phỏng
JJCLR: đƣợc sử dụng để chỉ định nếu bản thống kê đƣợc lƣu vào mỗi mô hình + Định dạng cho trạng thái TIMST:
Câu lệnh : TIMST,VAR,ID;
VAR : giá trị của biến trong SLAM II gán cho thời gian gia công vd XX(1) ID : in chữ số lên bản báo cáo của SLAM II để xác định kết quả thống kê cuối cùng cho VAR
72
+ Định dạng cho trạng thái ENTRY: (SỬ DỤNG CHO CÁC FILE CHỨA) Câu lệnh : ENTRY/IFILE, ATRIB(1), ATRIB(2),…, ATRIB(MATR)/repeats; Trạng thái ENTRY đƣợc sử dụng để đặt các đối tƣợng ban đầu vào file. Một đối tƣợng đƣợc chỉ định bằng việc nhập vào file, IFILE, tiếp đó là các đặc tính của đối tƣợng đƣợc ngăn cách bởi dấu phẩy. Dấu gạch chéo đƣợc sử dụng để kí hiệu bắt đầu đặc điểm kỹ thuật của đối tƣợng mới.
+ Định dạng cho trạng thái PRIORITY
Câu lệnh : PRIORITY/IFILE, ranking/repeats;
IFILE : file cho chỉ định sắp xếp ƣu tiên, và sắp xếp theo đặc điểm kĩ thuật. Các lựa chọn sắp xếp : FIFO, VÀO TRƢỚC RA TRƢỚC; LIFO, RA TRƢỚC VÀO SAU; HVF(N), các đối tƣợng với giá trị cao hơn của các đặc tính N đƣợc ƣu tiên trƣớc, ƣu tiên đầu vào có giá trị cao; và LVF(N), các đối tƣợng với giá trị thấp của đặc tính N đƣợc ƣu tiên trƣớc, ƣu tiên đầu vào có giá trị thấp.
+ Định dạng cho trạng thái MONTR
Câu lệnh : MONTR, lựa chọn, TFRST, TSEC, các biến; Chỉ lựa chọn TRACE và CLEAR đƣợc xem xét.
TRACE : danh sách các sự kiện đƣợc in bắt đầu từ thời gian TFRST và kết thúc tại thời gian TSEC. Các biến là giá trị của danh sách các biến trong SLAM II đƣợc nhìn thấy tại mỗi sự kiện
CLEAR : các thống kê sẽ bị xóa tại thời gian TFRST. + Định dạng cho trạng thái FIN :
kí hiệu trạng thái cuối ở đầu vào của SLAM II + Định dạng cho trạng thái SIM:
kí hiệu trạng thái cuối ở đầu vào của SLAM II cho mô hình hoạt động.
4.4.MÔ PHỎNG MẠNG 4.4.1.GIỚI THIỆU
Trong mô phỏng mạng, đối tƣợng đƣợc đặt theo thời gian hoạt động. Đối tƣợng di chuyển theo quy định của trạng thái serve (hoạt động hoặc đang chờ đối tƣợng đến. Khi server bận, đối tƣợng chờ tại hàng cho tới khi server chuyển sang trạng
73
thái chờ đối tƣợng đến. Server là 1 loại đặc biệt của nguồn cố định.
Đối tƣợng yêu cầu nguồn đợi tại nút AWAIT, tại đây số lƣợng đối tƣợng đƣợc chỉ định. Khi đối tƣợng đến nút AWAIT, nó tiếp tục đi qua nút nếu nút n còn chỗ trống. Nếu không nó sẽ bị chặn lại. 1 file sẽ lƣu lại số đối tƣợng đang đợi trong nút.
Để cho phép phân chia nguồn hiện tại cho đối tƣợng đƣợc ƣu tiên thấp hơn thì nút PREEEMPT đƣợc đặt. Nếu nguồn không đƣợc ƣu tiên thì đối tƣợng sẽ chờ đƣợc lƣu vào file đã định sẵn tại nút PREEMPT tƣơng tự với nút AWAIT. Nút PREEMPT chỉ đƣợc sử dụng cho nguồn có khả năng chứa là 1 đối tƣợng.
Nguồn lực đƣợc phân bố lệnh cho đối tƣợng đang chờ tại nút PREEMPT hay AWAIT. Lệnh này đƣợc đƣa ra thông qua việc sử dụng RESOURCE BLOCK. Ngoài ra, khả năng chứa ban đầu của 1 loại nguồn đƣợc xác định tại RESOURCE BLOCK.
Khi đối tƣợng không còn sử dụng nguồn nữa, nó sẽ đƣợc chuyển sang nút FREE – số lƣợng các đơn vị nguồn còn lại. Nút PREEMPT và AWAIT kết hợp với loại nguồn sẽ đƣợc hỏi để xác định nếu đơn vị free có thể đƣợc phân tới đối tƣợng đang chờ.
Khả năng chứa của nguồn sẽ có thể đƣợc thay đổi nhờ di chuyển các đối tƣợng qua nút ALTER. Nút ALTER đƣợc sử dụng để tăng hoặc giảm nguồn có sẵn và đƣợc sử dụng để mô phỏng thay đổi dung lƣợng nguồn do phải bảo trì máy, dụng cụ bị hỏng hoặc thay ca làm việc.
Trong SLAM II, phƣơng tiện để hoàn thành việc dừng hoặc bắt đầu các đối tƣợng là CỔNG. Đối tƣợng di chuyển tới nút AWAIT, nút này sẽ yêu cầu 1 cổng mở trƣớc khi đối tƣợng qua nút AWAIT. Nếu cổng đƣợc nối với AWAIT bị đóng thì đối tƣợng đợi ở 1 file cho tới khi nào cổng đƣợc mở. Cổng mở khi đối tƣợng đi qua nút OPEN. Nó có thể bị đóng khi đối tƣợng đi qua nút CLOSE. Đối tƣợng tại file này có thể chờ tại cổng cho tới khi mở đƣợc xác định tại GATE block. Khi cổng mở, tất cả đối tƣợng tại nút AWAIT chờ cổng này đƣợc phép đi qua nút AWAIT và di chuyển tới nhánh ra khỏi nút AWAIT. VD, 1 cổng có thể đƣợc sử dụng để dừng các đối tƣợng qua hệ thống cho tới khi các đối tƣợng đến nút OPEN. Khi các đối
74
tƣợng qua hệ thống thì các đối tƣợng di chuyển qua nút CLOSE để ngăn cản các đối tƣợng sau đó vào hệ thống.
Di chuyển của đối tƣợng đƣợc điều khiển thông qua yêu cầu của đối tƣợng cho 1 đơn vi nguồn cho 1 cổng mở. Trong thực tế thì chỉ các hoạt động thông thƣờng đƣợc sử dụng khi mô tả hệ thống với nguồn và cổng.
4.4.2.RESOURCE BLOCK
RESOURCE BLOCK đƣợc sử dụng khi xác định : tên của nguồn hoặc nhẵn, RLBL; dung lƣợng chứa ban đầu của nguồn-số lƣợng các đơn vị mà nguồn có, CAP; và lệnh ở trong file kết hợp với nút AWAIT và PREEMPT để phân nguồn còn trống cho các đối tƣợng. Từ ” block” đƣợc dùng thay thế cho từ “nút” bởi vì RESOURCE BLOCK không là đầu vào hay đầu ra khi đối tƣợng không qua nó. Do vậy, RESOURCE BLOCK là phƣơng tiện để chỉ ra tên của nguồn (RLBL), số lƣợng đơn vị có sẵn cho từng loại nguồn, và phân bố cho các đối tƣợng đang chờ các đơn vị này. Trên biểu đồ network, các block có thể đặt với nhau theo hình thức ghi chú. Slam II gán số cho tên mỗi nguồn. Thứ tự nguồn đƣợc ghi theo số thứ tự từ 1,2…ngƣời sử dụng có thể chỉ định số lƣợng nguồn RNUM, trực tiếp thay đổi hình thức cho RESOURCE BLOCK.
RESOURCE, kí hiệu là RES, đƣợc sử dụng trong nút AWAIT, PREEMPT, FREE, ALTER để xác định loại nguồn kết hợp với các nút. Tên RLBL có thể có chữ số bắt đầu là chữ số và không bao gồm các kí tự đặc biệt [,/()+-*;]. Tuy nhiên chỉ có 8 kí tự đầu đƣợc dùng. Slam II gán mã số cũng có thể đƣợc sử dụng để chỉ nút RESOURCE tại AWAIT, PREEMT, FREE và ALTER. Ngoài ra đặc tính của đối tƣợng đến những nút này có thể mang mã số để xác định RESOURCE.
Khả năng chứa ban đầu của nguồn, CAP, là số lƣợng đơn vị nguồn đƣợc sử dụng khi bắt đầu mô phỏng. Trong quá trình chạy mô phỏng, dung lƣợng của nguồn có thể tăng hay giảm bởi đối tƣợng qua nút ALTER. Số lƣợng đơn vị của 1 nguồn cụ thể đƣợc sử dụng để phân cho các đối tƣợng tại nút AWAIT hay PREEMPT và đối tƣợng này chƣa qua nút FREE. Biến NRUSE(RES) giữ giá trị về số lƣợng đơn vị nguồn đang sử dụng. NNRSC(RES) là giá trị của số lƣợng đơn vị nguồn hiện tại
75
đang có sẵn. Việc thống kê sẽ đƣợc thu thập tự động về mức độ sử dụng của nguồn và các nguồn có sẵn rồi in ra màn hình nhƣ 1 phần báo cáo của SLAM II.
Tại RESOURCE BLOCK, số lƣợng file đƣợc liệt kê theo thứ tự các nút PREEMPT và AWAIT cho loại nguồn đƣợc dùng. Kí hiệu của RESOURCE BLOCK và trạng thái nguồn thay đổi đƣợc đƣa ra ở dƣới :
Câu lệnh : RESOURCE/RLBL(CAP), IFLs; Hoặc RESOURCE/RNUM, RLBL(CAP), IFLs;
Nhƣ ví dụ trạng thái Resource block, xem xét nguồn với tên MACHINE có khả năng chứa 2 và muốn nó đƣợc lƣu trong file 3 sau đó file 7 đƣợc lƣu cho các đối tƣợng đang chờ MACHINE. Trạng thái RESOURCE BLOCK nhƣ ở dƣới :
RESOURCE/MACHINE(2), 3, 7;
Máy có dung lƣợng 2 ; file 3 và 7 đƣợc đặt cho đối tƣợng đang chờ cho 1 máy. RESOURCE/1, MACHINE(2), 3, 7;
Nếu nó là RESOURCE BLOCK đầu tiên trong danh sách trạng thái, MACHINE sẽ đƣợc xác định trong Slam nhƣ nguồn số 1. Ví dụ, số lƣợng đơn vị MACHINE có thể đƣợc kết nối vào mạng Slam II bằng NRUSE(MACHINE) hoặc NRUSE(2).
Nếu muốn xác định rõ ràng MACHINE là nguồn 1 sau đó định nghĩa trạng thái RESOURCE BLOCK thay đổi sẽ đƣợc sử dụng nhƣ sau :
RESOURCE/1, MACHINE(2), 3, 7;
Nếu giá trị đã chỉ định không đƣợc gán cho nguồn thì nó đƣợc gán một số theo thứ tự trạng thái RESOURCE xuất hiện trong mô hình và số tiếp theo nếu nguồn vừa đƣợc chỉ định đƣợc gán một số.
4.4.3 NÚT AWAIT
Nút AWAIT đƣợc sử dụng để lƣu trữ các đối tƣợng đang chờ cho đơn vị UR của nguồn RES hay chờ cho cổng GATE để mở. Khi đối tƣợng đến tới nút AWAIT và các đơn vị của nguồn đƣợc yêu cầu đang có sẵn hoặc cổng GATE đƣợc mở, đối
76
tƣợng đi qua nút và di chuyển theo số M đƣợc quy định cho nút. Nếu đối tƣợng phải chờ tại nút thì nó đƣợc đặt vào file IFL theo thứ tự ƣu tiên lƣu vào các file. Các hoạt động thông thƣờng phát ra từ nút AWAIT
Câu lệnh : AWAIT(IFL/QC), RES/UR, BLOCK or BALK(NLBL), M;
HOẶC AWAIT(IFL/QC), GATE, BLOCK or BALK(NLBL), M;
Thông thƣờng, RES đƣợc chỉ định bởi nhãn nguồn RLBL, và tên cổng GLBL.Số file, IFL, dung lƣợng của hàng đợi, QC, và đặc điểm kĩ thuật về ngăn chặn và ngăn cản đƣợc sử dụng cho nút QUEUE. IFL có thể chỉ định nhƣ các đặc tính của đối tƣợng đến, ATRIB(I)=J,K. I là số lƣợng các đặc tính và từ J đến K là số file đƣợc cho phép đƣợc chỉ định bằng ATRIB(I). Theo số file, nút AWAIT và nút QUEUE khác nhau là do với cùng 1 số file có thể kết hợp với nhiều hơn 1 nút AWAIT. RES-nguồn và số lƣợng đơn vị-UR có thể là nguyên hoặc số các đối tƣợng chỉ định nhƣ ATRIB(I).
Xem xét đối tƣợng đến nút AWAIT :
AWAIT(1),BOOKS/2,,1;
Đối tƣợng đến yêu cầu 2 đơn vị nguồn sách. Nếu 2 đơn vị của nguồn sách có sẵn tại thời gian đến của đối tƣợng, 2 quyển sách đƣợc đặt vào đối tƣợng và các nhánh phát ra từ nút AWAIT theo trình tự với số M=1. Nếu 2 quyển sách không có sẵn thì đối tƣợng chờ trong file 1.
77
đối tƣợng đến đƣợc quy định bởi giá trị của ATRIB(4). Do vậy, mỗi đối tƣợng có thể yêu cầu số sách khác nhau trƣớc khi đƣợc xử lý. Nguồn sách chỉ đƣợc đặt cho đối tƣợng đầu tiên trong file 1 khi sách đƣợc yêu cầu. Vì vậy, nếu một đối tƣợng yêu cầu 3 quyển sách thì nó có quyền ƣu tiên cao hơn đối tƣợng yêu cầu 1 quyển sách; sau đó đối tƣợng yêu cầu sách đợi ngay cả khi một trong số sách có sẵn đƣợc đặt.
AWAIT(1), BOOKS/ATRIB(4),,1;
Nút AWAIT ở dƣới minh họa nguồn có thể đƣợc chỉ định bằng đặc tính của đối tƣợng đến và khả năng chứa có thể đƣợc đặt số lƣợng đối tƣợng đang chờ tại nút AWAIT.
78
Đặc biệt, đối tƣợng đến yêu cầu 1 đơn vị của nguồn xác định bởi giá trị của ATRIB(3). Nếu đối tƣợng phải đợi, nó sẽ đợi ở file 2. Nếu có 4 đơn vị đang chờ ở file 2 và có 1 đối tƣợng mới đến thì đối tƣợng mới sẽ di chuyển vào nút QUEUE 2.
FILE lƣu các đối tƣợng đến đang chờ đƣợc sắp xếp giá trị cho trƣớc bởi ATRIB(2). Đối tƣợng đến yêu cầu 1 đơn vị của nguồn TELEX và RESOURCE BLOCK cho TELEX để chỉ khả năng chứa 3 đơn vị với điều kiện ƣu tiên cho thứ nhất cho đối tƣợng đang chờ ở file 4 và sau đó các đối tƣợng file 5 kế tiếp các đối tƣợng ở file 3. Trong trƣờng hợp này, đối tƣợng đang chờ tại nút AWAIT đƣợc đặt vào file 3,4,5 tùy thuộc vào giá trị ATRI(2). Các đối tƣợng ƣu tiên ở file 3,4 và 5 đƣợc chỉ định trên bảng kê các đối tƣợng ƣu tiên. Khi 1 đơn vị TELEX sẵn có thì nó sẽ đƣợc phân tới đối tƣợng đầu tiên ở file 4. Nếu không có đối tƣợng nào đợi ở file 4, thì các đối tƣợng ở file 5 sẽ đƣợc xem xét. Tƣơng tự thế, các đối tƣợng của file 3 sẽ phải đợi cho tới khi tất cả các đối tƣợng ở file 4,5 đƣợc giải phóng.
AWAIT(ATRIB(2)=3,5), TELEX/1,,1;
4.4.4 NÚT FREE
Nút FREE sử dụng để giải phóng các đơn vị của từng nguồn khi đối tƣợng đến nút. Đối tƣợng qua nút FREE giải phóng UF đơn vị của từng nguồn RES. UF và RES sẽ đƣợc chỉ định giá trị cho nút FREE. UF có thể là 1 hằng số hoặc biến của SLAM II. Đơn vị đƣợc giải phóng sẽ đƣợc theo phân cho các đối tƣợng đang chờ tại nút PREEMPT và AWAIT theo quy định của RESOURCE BLOCK. Đối tƣợng đến nút FREE sau đó di chuyển tới M nhánh nối với nút FREE.
79 Câu lệnh : FREE, RES/UF,M;
Nguồn RES có thể là ten nguồn hoặc số đặc tính đƣợc chỉ định nhƣ ATRIB(I). Xem xét đối tƣợng đến nút FREE tiếp theo :
FREE, BOOKS/2,1;
Tại nút này, 2 quyển sách có sẵn cho việc phân lại khi các đối tƣợng đến. việc phân lại cho đối tƣợng theo danh sách của số file trong đặc điểm kĩ thuật của RESOURCE BLOCK. Số lƣợng file đƣợc thăm dò nếu các đối tƣợng đang chờ, các đối tƣợng đƣợc phân sách và chúng đƣợc đặt theo hoạt động thích hợp kế tiếp nút AWAIT. Đối tƣợng đến nút FREE đƣợc dẫn từ nút FREE. Đƣờng dẫn của đối tƣợng này đƣợc tạo ra trƣớc khi hoàn thành hoạt động cho bất cứ đối tƣợng nào đƣợc đặt lại vào nguồn sách.
Nút FREE
80
làm số ATRIB(4) của sách có sẵn cho việc đặt lại trong đó ATRIB(4) là giá trị của đặc tính 4 của đối tƣợng tới nút FREE.
Nút FREE
FREE,ATRIB(3)/1,1;
giải phóng một đơn vị của nguồn xác định bằng đặc tính 3 của đối tƣợng đến. Việc đặt lại các đơn vị nguồn là quá trinh phức tạp do có các đối tƣợng đang chờ trong các file khác nhau, nó yêu cầu nguồn, các đối tƣợng trong cùng file đang yêu cầu đơn vị khác nhau của nguồn hoặc các đối tƣợng trong các file khác đang yêu cầu các đơn vị khác của nguồn. Thủ tục mô tả tiếp theo sử dụng trong Slam II cho việc đặt lại nguồn đƣợc thực hiện. Đầu tiên, nguồn đƣợc giải phóng đƣợc cộng vào số lƣợng nguồn cùng loại chƣa sử dụng tại thời điểm hiện tại. Các nguồn có thể chƣa sử dụng và các đối tƣợng đang chờ nếu số lƣợng các đơn vị thiếu không có sẵn. Một tổ hợp của các file với loại nguồn đƣợc khởi tạo sau đó. Các file đƣợc kiểm tra theo trình tự liệt kê trên RESOURCE BLOCK. Đối với mỗi file, đối tƣợng đầu tiên trong file đƣợc gọi để xác định nếu nguồn đủ có sẵn để thỏa mãn nhu cầu