Trạng thái điều khiển

Một phần của tài liệu Nghiên cứu phần mềm SLAM II phục vụ cho kỹ thuật mô hình mô (Trang 57)

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 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;

58

Đị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

+ Đị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), TRIB(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

59

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.

2.3.5.1. Mô phỏng mạng

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 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.

60

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 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.

2.3.5.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

61

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 đ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).

62

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ố.

2.3.5.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 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).

63

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.

Nút AWAIT tiếp theo giống như nút ở trên ngoại trừ số sách được yêu cầu do đố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.

64

AWAIT(2/4), ATRIB(3)/1, BALK(QUE2),1;

Đặ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.

65

AWAIT(ATRIB(2)=3,5), TELEX/1,,1;

2.3.5.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.

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

66

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

FREE,BOOKS/ATRIB(4),1;

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á trình 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

67

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

Một phần của tài liệu Nghiên cứu phần mềm SLAM II phục vụ cho kỹ thuật mô hình mô (Trang 57)

Tải bản đầy đủ (PDF)

(98 trang)