Các thực thể trong GPSS

Một phần của tài liệu Nghiên cứu về hệ thống hàng đợi và các công cụ mô phỏng hệ thống hàng đợi (Trang 30)

GPSS được xây dựng xung quanh các khái niệm trừu tượng gọi là các thực thể (Entities). Để có thể tạo ra mô hình phức tạp, người sử dụng phải hiểu về các thực thể, các thuộc tính và các thao tác trên các thực thể đó. Các thực thể GPSS là những đối tượng trừu tượng tồn tại trong một mô phỏng. Các loại thực thể nổi bật nhất là các giao tác (transactions) và các khối (blocks). Một mô phỏng có qui mô lớn sẽ bao gồm nhiều giao tác di chuyển từ một khối vào khối tiếp theo. Giao tác là loại thực thể duy nhất có thể được xóa khỏi mô phỏng.

Các thực thể GPSS được đánh số, GPSS World thường gán một giá trị duy nhất lớn hơn hoặc bằng đến 10.000 vào tên của thực thể. Hầu hết các thực thể GPSS được tạo ra tự động khi cần thiết. Một số thực thể phải được khai báo cụ thể trước khi sử dụng chúng như: các biến, các thực thể lưu trữ, ma trận, bảng, các hàm…

Trong GPSS, các đối tượng có thể được phân ra 6 kiểu: các thực thể động, các thực thể khối, các thực thể thiết bị, các thực thể tính toán, các thực thể lưu trữ và các thực thể nhóm.

3.2.5.1. Các thực thể động

Các thực thể động là các giao tác (transactions), nó có thể xem như là một “yêu cầu”, hay một “sự kiện” trong hệ thống phục vụ đám đông. Trong quá trình mô phỏng, các giao tác được “tạo ra” (ứng với loại yêu cầu đến) và “kết thúc” (ứng với loại yêu cầu ra khỏi hệ thống phục vụ”. Mỗi giao tác trong quá trình mô phỏng luôn thuộc vào một khối (BLOCK) xác định nào đó, nhưng hầu hết các khối đều có thể chứa cùng lúc nhiều giao tác khác nhau. Mỗi giao tác dịch chuyển vào một khối, sau đó đến khối tiếp theo, cứ thế cho đến khi nó bị xóa bỏ, tức là rơi vào trạng thái TERMINATED hoặc quá trình mô phỏng dừng. Thời gian giao tác lưu lại trong mỗi khối là đại lượng ngẫu nhiên, được xác định bởi tính chất của hệ thống và trong GPSS cho phép sinh ra các đại lượng này theo các quy luật khác nhau.

3.2.5.2. Các thực thể khối

Các thực thể khối (Block Entities) là thành phần cấu trúc cơ bản của một chương trình mô phỏng GPSS. Mỗi loại khối tương ứng với một hành động trong mô phỏng. Mỗi giao tác trong mô hình được chứa chính xác trong một khối, nhưng hầu hết các khối có thể chứa nhiều giao tác.

3.2.5.3. Các thực thể thiết bị

Các thực thểthuộc về thiết bị (Facility Entities) tương tự như các máy phục vụ và các thiết bị khác của hệ thống thực. Một thiết bị là một thực thể có một số thuộc tính, trong đó quan trọng nhất là thuộc tính trạng thái của thiết bị, đó là quyền sở hữu. Một thiết bị có thể được sở hữu bởi một giao tác duy nhất, trong trường hợp này thiết bị ở trạng thái là “bận”,

ngược lại thiết bị đó không được sở hữu bởi một giao tác nào thì nó ở trạng thái là “rảnh”. Không giống như thực thể lưu trữ (Storage Entity), một thiết bị không có thể được giải phóng bởi một giao tác mà không sở hữu nó. Giao tác có quyền sở hữu một thiết bị bằng cách nhập vào thành công khối SEIZE hoặc khối PREEMPT. Nếu một giao tác không được cấp quyền sở hữu, nó sẽ “nghỉ” trên chuỗi giao tác thiết bị (Facility Transaction Chain).

Mỗi thiết bị có một vài dòng chờ cho các giao tác đang chờ một thiết bị, đó là:

PENDING CHAIN

chuỗi treo là danh sách các giao tác chờ đợi đến khi có lệnh PREEMPTY thiết bị, trong chế độ ngắt (Interrupt Mode)

INTERRUPT CHAIN

chuỗi ngắt là danh sách các giao tác đã chiếm được quyền sở hữu thiết bị đó

DELAY CHAIN chuỗi trễ là chuỗi các giao tác đang chờ quyền sở hữu thiết bị đó.

RETRY CHAIN chuỗi thử lại là danh sách các giao tác đang chờ đợi sự thay đổi trạng thái trên thiết bị

Thiết bị đơn kênh, đa kênh và thiết bị chuyển logic tương ứng với máy phục vụ trong hệ thống phục vụ đám đông.

Thiết bị chuyển logic được sử dụng để mô phỏng thiết bị có 2 trạng thái của tính chất logic hay vật lý và có thể ở hai trạng thái: bật và tắt, đóng và mở.

3.2.5.4. Các thực thể tĩnh

Các đối tượng tĩnh được sử dụng để thu thập và xử lý các dữ liệu thống kê về hoạt động của mô hình, gồm có:

- Các thực thể hàng đợi (Queue Entities): mỗi đối tượng kiểu hàng đợi đảm bảo việc thu thập và xử lý dữ liệu về các giao tác được giữ lại tại một thời điểm nào đó trong mô hình, chẳng hạn trước khi vào thiết bị đơn kênh.

- Các thực thể bảng (Table Entities): được sử dụng để nhận các phân phối xác suất của các đại lượng ngẫu nhiên, chẳng hạn như lưu lại thời gian chờ đợi của các giao tác trong mô hình mô phỏng.

3.2.5.5. Các thực thể tính toán

Các thực thể tính toán bao gồm:

- Các biến (Variable Entities) số học và logic.

- Các hàm (Function Entities) dùng để tính toán các đại lượng nào đó được cho bởi các biểu thức số học hay logic hoặc ở dạng bảng.

3.2.5.6. Các thực thể lưu trữ

Các thực thể lưu trữ đảm bảo việc lưu trữ trong bộ nhớ của máy tính các đại lượng riêng biệt được sử dụng trong mô hình. Các đối tượng kiểu này gồm có các thực thể giá trị lưu (Savevalue Entities), các thực thể ma trận (Matrix Entities).

3.2.5.7. Các thực thể nhóm

Các đối tượng thuộc nhóm gồm có: (adsbygoogle = window.adsbygoogle || []).push({});

- Numeric Group Entities – là tập hợp các giá trị số. Các khối có thể sử dụng làm việc với các thực thể nhóm số gồm có: JOIN (đưa một giá trị vào một Numeric Group); REMOVE lấy một giá trị ra…

- Transaction Group Entities- các thực thể nhóm giao tác, các thực thể chuỗi người sử dụng (Userchain Entities). Trong đó, các thực thể chuỗi người sử dụng được dùng để thiết lập các hàng đợi với quy tắc phục vụ không phải FIFO.

Một phần của tài liệu Nghiên cứu về hệ thống hàng đợi và các công cụ mô phỏng hệ thống hàng đợi (Trang 30)