5 Thực nghiệm
5.2 Giới thiệu về chương trình
Chương trình GUI-AGTool đã được cài đặt và cung cấp miễn phí tại địa chỉ 1.
Chương trình yêu cầu cài đặt các gói thư viện sau: • OCaml 3.12 được cung cấp tại địa chỉ2.
1http://uet.vnu.edu.vn/~hungpn/GUI-AGTool/
Chương 5.Thực nghiệm
• LablGTK dành cho môi trường OCaml được cung cấp tại địa chỉ3.
• Cairo-Ocaml được cung cấp tại địa chỉ4.
Chương trình có các chức năng hỗ trợ người dùng nhập/xuất dữ liệu và hiển thị dưới dạng biểu đồ trực quan. Hình 5.1 là giao diện chính của chương trình GUI-AGTool.
Hình 5.1: Giao diện chính của GUI-AGTool.
Các chức năng được cài đặt ở trong công cụ GUI-AGTool như sau:
• OpenFSPcó chức năng mở một tập tin đặc tả bằng ngôn ngữ FSP.OpenListing cho phép mở một tập tin đặc tả dưới dạng liệt kê. Sau khi mở tập tin thành công, GUI-AGTool tự động vẽ ra các thành phần được đặc tả trong tập tin dưới dạng biểu đồ trực quan.
• SaveWorking có chức năng lưu lại công việc đang thực hiện. Thông tin về các thành phần sẽ được đặc tả bằng ngôn ngữ FSP và được lưu lại vào tập tin để có thể sử dụng lâu dài.
3http://www.math.nagoya-u.ac.jp/~garrigue/soft/olabl/lablgtk.html
Chương 5.Thực nghiệm
• GenerateAssumption có chức sinh ra giả định của hệ thống đã được đặc tả. Phần xử lý bên dưới đã được cài đặt bởi [7]. Chức năng này sẽ hiển thị kết quả dưới dạng biểu đồ trực quan. Giả định sinh ra bởi GUI-AGTool được hiển thị bởi biểu đồ trực quan đặt trong thẻ Assumption. Hình 5.2 là một ví dụ cho giả định được sinh ra bởi GUI-AGTool.
Hình 5.2: Giao diện thể hiện giả định sinh ra bởi GUI-AGTool.
• Chức năng Save ở trong thẻ Assumption cho phép lưu giả định dưới dạng
tập tin được đặc tả bởi ngôn ngữ FSP.
5.3 Thực nghiệm
Luận văn đã tiến hành thực nghiệm với chín mẫu đầu vào đặc trưng. Kết quả thu được thõa mãn yêu cầu khi so sánh với công cụ LTSA. Các ví dụ đầu vào và kết quả có thể tải tại địa chỉ5. Thông tin của chín mẫu thử nghiệm được mô tả ở Bảng 5.1.M1,M2 là các thành phần của hệ thống.Plà thuộc tính của hệ thống.
Chương 5.Thực nghiệm
Luận văn trình bày một ví dụ minh họa về khả năng sử dụng ngôn ngữ FSP làm dữ liệu đầu vào của GUI-AGTool mà luận văn đã tiến hành thực nghiệm.
Ví dụ này có chứa các phép toánif .. then, whencủa FSP. Các thành phần đầu
vào được biểu diễn bằng FSP như trong Hình 5.3. Chương trình GUI-AGTool xử
lý dữ liệu FSP và biểu diễn các thành phần của M1, M2, P dưới dạng các biểu
đồ trực quan. Hình 5.4 tương ứng với thành phần M1. Hình 5.5 tương ứng với
thành phần M2. Hình 5.6 tương ứng với thành phần thuộc tính P. Luận văn đã
sử dụng công cụ LTSA để kiểm chứng lại kết quả của GUI-AGTool và thu được kết quả tương ứng. Kết quả giữa 2 công cụ GUI-AGTool và LTSA hoàn toàn khớp với nhau và đáp ứng được yêu cầu của luận văn. Hình 5.7 tương ứng với thành
phần M1 sinh ra bởi LTSA. Hình 5.8 tương ứng với thành phần M2 sinh ra bởi
LTSA. Hình 5.9 tương ứng với thành phần thuộc tínhPsinh ra bởi LTSA.
Bảng 5.1: Bảng kích cỡ số trạng thái các mẫu đầu vào
Tên tập tin đầu vào M1 M2 P
AP1_INPUT_P 1 3 3 AP2_INPUT_P 2 3 3 AP3_INPUT_P 3 3 3 AP4_INPUT_P 5 5 3 INPUT_OUTPUT_P 4 3 3 Mod_1_two_channel/A_INPUT_P 3 3 3 Mod_1_two_channel/Input_Output_p 6 5 4 Mod_2_two_channel/A_INPUT_P 5 5 4 complex_test 6 5 4
M1 = (a[i:1..3] ->ifi==1thenSTOPelseM1). M2 = M2[0],
M2[i:0..2] = (wheni<3 a -> M2[i+1]), M2[3] = STOP.
P = (a[i:0..3] -> (wheni==0 x -> STOP |wheni!=0 y -> P)). ||CS = (M1 || M2 || P).
Chương 5.Thực nghiệm
Hình 5.4: LTS của thành phầnM1.
Hình 5.5: LTS của thành phầnM2.
Chương 5.Thực nghiệm
Hình 5.7: LTS của thành phầnM1sinh ra bởi LTSA.
Hình 5.8: LTS của thành phầnM2sinh ra bởi LTSA.
Chương 5.Thực nghiệm