Đặc tả hình thức hệ thống trong CafeObj

Một phần của tài liệu đặc tả và kiểm chứng phần mềm sử dụng cafeobj (Trang 35 - 36)

Từ mô hình lò vi sóng (Hình 5.2) chúng ta có thể đặc tả hệ thống trong CafeOBJ bằng mô đun MO với các thành phần được mô tả trong Hình 5.3. Trong đó, *[Sys]* là khai báo kiểu Sys chính là không gian trạng thái của hệ thống, bop lb là khai báo

phương thức trực quan kiểm tra các hằng nhãn có thuộc trạng thái tương ứng hay không. Trong đó các hằng nhãn bao gồm st (start), cl (close), ht (heat), err (error) và các ký hiệu “~” trước nhãn ở trong trạng thái trong Hình 5.1 thể hiện nhãn đó không thuộc trạng thái.

Hình 5.3: Đặc tả của lò vi sóng trong CafeOBJ.

Trước khi đặc tả hê thống trong CafeOBJ bằng mô đun MO, ta tạo mô đun LABEL nhằm đặc tả cho các nhãn trong mỗi thái. Các nhãn này được xem như các hằng và chúng sẽ được kiểm tra các quan hệ giữa các nhãn bằng phương thức “_=_” được mô tra trong Hình 5.4.

*[Sys]* -- không gian trạng thái của hệ thống [Label] -- Khai báo nhãn Label

-- Khai báo toán tử trực quan bop lb : Sys Label -> Bool {memo} --Các hành động

bop warm : Sys -> Sys bop cook : Sys -> Sys bop done : Sys -> Sys bop open : Sys -> Sys bop close : Sys -> Sys bop start : Sys -> Sys bop reset : Sys -> Sys

Chương 5: Đặc tả và kiểm chứng hệ thống lò vi sóng Phạm Ngọc Thắng

Hình 5.4: Mô đun LABEL trong CafeOBJ.

Từ đó chúng ta sẽ đặc tả hệ thống trong CafeOBJ bằng mô đun MO với kế thừa một số thuộc tính và phương thức của mô đun LABEL và các hành động trong hệ thống sẽ được mô tả trong chương trình.

Một phần của tài liệu đặc tả và kiểm chứng phần mềm sử dụng cafeobj (Trang 35 - 36)