Kiến trúc phần mềm

Một phần của tài liệu Một số kỹ thuật đánh giá hiệu năng phần mềm sử dụng petri net và thử nghiệm trên công cụ timenet (Trang 57 - 59)

Thành phần chính của TimeNET là GUI và thuật toán phân tích. Thuật toán phân tích được khởi tạo như quá trình nền của GUI, tuy nhiên cũng có thể chạy từ dòng lệnh. Shell script kiểm soát việc thực thi.

Mục tiêu quan trọng của TimeNET 4 là xây dựng một nền tảng độc lập, cho phép người dùng truy cập công cụ từ nhiều hệ điều hành. Giao diện đã được viết lại hoàn toàn bằng JAVA, trong khi các mô đun đánh giá chủ yếu là bằng C++ để tính toán hiệu quả hơn. Công cụ hiện đã có thể chạy trên nền môi trường Window và Unix nhờ việc sử dụng công cụ phát triển và thư viện thời gian thực có thể được cấu hình trên cả hai nền tảng như Eclipse và trình biên dịch gcc. Chỉ shell script là viết với ngôn ngữ nền tảng riêng.

Hình 10: Cấu trúc điều khiển của các thành phần trong TimeNET

Hình 10 thể hiện tương tác giữa GUI với chương trình khác nhằm mô phỏng SCPN. Mô tả về mô hình được lưu trữ với định dạng XML. Kiến trúc của công cụ cho phép chạy GUI trên máy PC khách, trong khi việc tính toán mô phỏng tốn kém chạy trên máy chủ từ xa. Cả hai phần này có thể nằm trên cùng một máy, mặc định là máy khách. Nó cho phép khởi động và dừng chương trình, truyền dữ liệu vào ra và các chức năng độc lập cho dù chương trình tương tác đặt trên hệ điều hành Unix hay Windows. Khi bắt đầu mô phỏng, tài liệu XML tương ứng được phân tách bởi một lớp trừu tượng nội bộ. Lớp này bao gồm một SCPN xác định cú pháp ANTLR (cú pháp này mô tả cấu trúc của lớp SCPN chi tiết hơn XML schema). Dùng cú pháp này có thể xác định rất nhiều thuộc tính cấu trúc và cú pháp. Các đối tượng của mô hình và mối quan hệ của chúng được lưu trong một lớp nội bộ, lớp này được dựng tự động từ cú pháp ANTLR. Lớp trừu tượng có thể sinh đoạn mã C++ cho tất cả các token, transition và đối tượng từ mô hình SCPN.

Mã sinh ra sau đó được biên dịch và hình thành một chương trình cụ thể (nó liên kết với nhân mô phỏng để sinh chương trình mô phỏng thực tế). Bằng cách này, hiệu quả của chương trình mô phỏng tăng lên đáng kể so với phương pháp mô phỏng tiêu chuẩn

(diễn giải những phần của mô hình trong quá trình thực thi). Trong khi phương pháp này tương đối tốt với mạng không có màu, nó thực sự khác phức tạp với SCPN. Thực tế, mã C++ tự sinh mã hóa việc kiểm tra ràng buộc khi enable hoặc kích hoạt transition. Việc sinh mã và liên kết hoàn thành trên máy chủ mô phỏng từ xa. Nếu cần thiết, cơ sở dữ liệu có thể kết hợp với công cụ để lưu trữ thông tin của mô hình. Do đó, một mô hình SCPN có thể được cấu hình bằng dữ liệu từ cơ sở dữ liệu. Chương trình mô phỏng có hai chế độ làm việc: mô phỏng bình thường (dành cho tính toán hiệu quả phép đo hiệu năng) và chế độ từng bước (dùng cho token game). Nếu mô phỏng ở chế độ tokengame thì nó sẽ dừng sau mỗi bước mô phỏng và chuyển giao diện thành hình thái hiện tại. Sau khi người dùng chọn một transition để kích hoạt, tên transition đó sẽ được truyền vào quá trình mô phỏng và thực hiện bước tiếp theo. Kết quả của mô phỏng được hiển thị đồ họa trên máy PC khách trong quá trình mô phỏng cũng như được lưu thành tập tin sau khi hoàn thành mô phỏng.

Mô đun đánh giá hiệu năng cho lớp eDSPN không sử dụng hệ thống từ xa mà thường chỉ chạy trên máy PC khách. Các phần việc đánh giá tốn thời gian (mô phỏng, giải pháp phân tích tức thời…) có thể thực hiện song song trên một vài máy khách.

Một phần của tài liệu Một số kỹ thuật đánh giá hiệu năng phần mềm sử dụng petri net và thử nghiệm trên công cụ timenet (Trang 57 - 59)