Thuật toán xây dựng máy trạng thái mô tả biểu đồ trình tự UML

Một phần của tài liệu Kiểm tra ràng buộc thời gian sử dụng phương pháp AOP (Trang 45 - 47)

4.2.1 Máy trạng thái

Máy trạng thái( Finite state machine ) là một mô hình hành xử với một số lượng trạng thái hữu hạn hoặc vô hạn, và một tập các hành động tương ứng với các trạng thái đó.

Trạng thái là một hoặc một tập thông tin về các thông số của hệ thống tại một thời điểm nào đó. Trạng thái hiện thời được khai báo bởi trạng thái trước đó của hệ thống. Có thể nói là nó ghi lại các thông tin quá khứ. Nó phản chiếu sự thay đổi từ khi hệ thống bắt đầu hoạt động đến thời điểm hiện tại. Sự chuyển tiếp chỉ ra rằng sự thay đổi của một trạng thái được mô tả bởi một điều kiện cần để thỏa mãn việc khởi tạo chuyển đổi. Một hành động là sự diễn tả của một thực thể được thi hành vào thời điểm xử lý. Có một vài kiểu hành động.

- Entry action : Thi thành khi bắt đầu vào trạng thái (Enter vào trạng thái). - Exit action : Thi hành khi thoát khỏi trạng thái

- Input action : Việc thi hành phụ thuộc vào trạng thái hiện thời và các điều kiện đầu vào.

- Transition action : Được thi hành khi khi xử lý một trạng thái chắc chắn.

Hình 4.2 Mô Hình Máy trạng thái

4.2.2 Thuật toán xây dựng máy trạng thái mô tả biểu đồ trình tự UML UML

Giao thức được mô tả bằng biểu đồ trình tự là giao thức liên quan đến nhiều lớp đối tượng khác nhau, nhưng xét cho cùng, nó cũng gần giống với giao thức trên một lớp đối tượng được mô tả bằng biểu đồ trạng thái. Nó cũng quy định dãy các phương thức sẽ được gọi trong chương trình và lập trình viên sẽ phải gọi các phương thức trong các lớp khác nhau đúng theo trình tự như vậy. Việc kiểm chứng, xét cho cùng cũng chính là để kiểm tra xem lập trình viên gọi các phương thức có đúng như giao thức đặc tả ban đầu không. Do đó, Máy trạng thái mô tả biểu đồ trình tự tôi xây dựng cũng tương tự với máy trạng thái mô tả biểu đồ trạng thái. Gồm ba thành phần dữ liệu:

HashMap<String, Set<String>> fsm = null; HashSet<String> entrySigs, exitSigs;

- entrySigs: Mô tả phương thức bắt đầu của giao thức - exitSigs: Mô tả phương thức kết thúc giao thức

- fsm: Là một HashMap, với key một phương thức bất kỳ khác phương thức mở đầu và phương thức kết thúc giao thức. Value chính là phương thức ngay trước nó trong giao thức.

Thuật toán xây dựng FSM mô tả biểu đồ trình tự UML:

- Input: tài liệu XMI

- Output: FSM nếu xây dựng được, nếu không sẽ báo lỗi.

- Các bước thực hiện:

o Khởi tạo fsm, entrySigs, exitSigs.

o Đọc file XMI, lấy ListMessage, ListClasfierRoles, ListReturn, ListArgument

o Duyệt từng Message trong ListMessage.

 Nếu nó là message đầu tiên, lấy các dữ liệu về tên lớp, kiểu trả về, các tham số truyền vào cho vào entrySigs và cho vào fsm với key là tên thông điệp hoàn chỉnh, value là “START”.

 Nếu nó là message kết thúc, lấy dữ liệu tạo thành message hoàn chỉnh (bao gồm tên lớp, kiểu trả về…), lưu vào exitSigs. Lưu vào fsm với key là message hoàn chỉnh vừa lưu vào exitSigs và valueSet chứa hàm ngay hoàn chỉnh ngay trước đó.

 Nếu nó là message trung gian, lấy dữ liệu hoàn chỉnh về message hiện thời và message ngay trước đó. Lưu vào fsm với

key là message hiện thời, valueSet chứa message ngay trước đó.

Một phần của tài liệu Kiểm tra ràng buộc thời gian sử dụng phương pháp AOP (Trang 45 - 47)

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

(76 trang)