Chuyển đổi các biến của mô hình kiểm thử thành các biến AMPL

Một phần của tài liệu PHƯƠNG PHÁP SINH tự ĐỘNG các CA KIỂM THỬ từ đặc tả CA sử DỤNG (Trang 45 - 47)

Trong bƣớc này, tất cả các biến của mô hình kiểm thử liên quan đến việc xác định các ràng buộc OCL đều đƣợc xác định. Vì mục đích này, chúng tôi thiết kế và triển khai một khách truy cập mô hình (model visitor) trích xuất tất cả các biến và thông số đƣợc sử dụng trong các ràng buộc OCL và sau đó các biến này sẽ đƣợc chuyển đổi thành các biến AMPL. Cấu trúc dữ liệu đƣợc sử dụng để giữ các biến đƣợc thể hiện trong Hình 3.6.

Khách truy cập mô hình (model visitor) nhận đƣợc đồ thị ca kiểm thử và duyệt qua tất cả các chuyển đổi, cũng nhƣ truy cập tất cả các trạng thái của nó. Nếu khách truy cập mô hình tìm thấy bất kỳ ràng buộc nào trong bất kỳ phần tử nào trong số này, nó sẽ trích xuất ràng buộc và đƣa nó cho khách truy cập ràng buộc. Ngƣời truy cập ràng buộc truy cập vào các phần tử nguyên tử của các ràng buộc bằng cách duyệt qua cây cú pháp trừu tƣợng của các ràng buộc liên quan

37

đến kiểu ràng buộc. Sau đó, với việc kiểm tra các nguyên tố hạt nhân này, nhận ra các tham số và biến số và sao chép chúng vào cấu trúc dữ liệu đƣợc hiển thị trong Hình 3.6.

Hình 3.6: Cấu trúc dữ liệu cho việc lƣu trữ dữ liệu.

Sau khi xác định các thông số và biến của hệ thống, cần phải chuyển đổi chúng thành AMPL. Trong mô hình AMPL, loại của mỗi biến có thể là Integer, Real hoặc Boolean. Theo mặc định, loại biến AMPL là Real. Chúng ta cần xác định giới hạn trên và giới hạn dƣới cho các biến Integer và Real. Chúng tôi đặt giới hạn dƣới và giới hạn trên của các biến này lần lƣợt là -10000 và +10000. Nếu không xác định bất kỳ ràng buộc nào cho các kiểu dữ liệu, một số bộ giải không thể tìm ra câu trả lời chính xác cho vấn đề đang gặp phải. Hơn nữa, chúng tôi xem xét 0 và 1 cho các giới hạn dƣới và trên của kiểu dữ liệu Boolean tƣơng ứng với "false" và "true" tƣơng ứng.

Vì một biến có thể có các giá trị khác nhau ở mỗi cấp độ thực thi, chúng tôi xác định chúng là một mảng các biến có độ dài không đổi "pathlength" trong AMPL. “pathlength” là một tham số đƣợc sử dụng trong báo cáo để chỉ định số lƣợng cấp độ thực thi trong một đƣờng dẫn trừu tƣợng. Tham số này đƣợc xác định trong phần mô hình của AMPL và nhận giá trị trong phần dữ liệu của AMPL. Nếu thuộc tính “isParameter” của TCGVariable là “true”, thì TCGVariable là một tham số. Trong trƣờng hợp này, giá trị của TCGVariable là

38

không đổi trong quá trình thực thi, vì vậy chúng tôi xác định nó là một biến duy nhất.

Một phần của tài liệu PHƯƠNG PHÁP SINH tự ĐỘNG các CA KIỂM THỬ từ đặc tả CA sử DỤNG (Trang 45 - 47)