intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Đặc tả hình thức: Chương 6 - Nguyễn Thị Minh Tuyền

Chia sẻ: đinh Thị Tú Oanh | Ngày: | Loại File: PDF | Số trang:23

39
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Đặc tả hình thức: Chương 6 do Nguyễn Thị Minh Tuyền biên soạn nội dung cụ thể của chương này gồm có: Module trong Alloy, khai báo module, định nghĩa module, định nghĩa ModulePathName, các module định nghĩa sẵn, xung đột về tên, các module được tham số hóa,...

Chủ đề:
Lưu

Nội dung Text: Bài giảng Đặc tả hình thức: Chương 6 - Nguyễn Thị Minh Tuyền

LOGO<br /> <br /> Đặc tả hình thức<br /> Các module trong Alloy<br /> <br /> Nguyễn Thị Minh Tuyền<br /> <br /> Nguyễn Thị Minh Tuyền<br /> <br /> 1<br /> <br /> Module trong Alloy<br /> v Alloy là một hệ thống module cho<br /> phép module hóa việc sử dụng lại các<br /> mô hình.<br /> v Một module định nghĩa một mô hình<br /> và có thể xem mô hình này là một mô<br /> hình con của mô hình khác.<br /> v Để thuận lợi cho việc tái sử dụng, các<br /> module có thể được tham số hóa<br /> trong một hoặc nhiều signature<br /> <br /> Nguyễn Thị Minh Tuyền<br /> <br /> 2<br /> <br /> Đặc tả hình thức<br /> <br /> Ví dụ<br /> module util/relation<br /> -- r is acyclic over the set s<br /> pred acyclic [r: univ->univ, s: set univ] {<br /> all x: s | x !in x.^r<br /> }<br /> module family<br /> open util/relation as rel<br /> sig Person {<br /> parents: set Person<br /> }<br /> fact { acyclic [parents, Person] }<br /> Nguyễn Thị Minh Tuyền<br /> <br /> 3<br /> <br /> Đặc tả hình thức<br /> <br /> Ví dụ<br /> module util/relation<br /> -- r is acyclic over the set s<br /> pred acyclic [r: univ->univ, s: set univ] {<br /> all x: s | x !in x.^r<br /> }<br /> module fileSystem<br /> open util/relation as rel<br /> sig Object {}<br /> sig Folder extends Object {<br /> subFolders: set Folder<br /> }<br /> fact { acyclic [subFolders, Folder] }<br /> Nguyễn Thị Minh Tuyền<br /> <br /> 4<br /> <br /> Đặc tả hình thức<br /> <br /> Khai báo module<br /> v Dòng đầu tiên của mỗi module là<br /> module header<br /> module modulePathName<br /> v Module có thể import một module<br /> khác với câu lệnh open ngay sau<br /> header<br /> open modulePathName<br /> <br /> Nguyễn Thị Minh Tuyền<br /> <br /> 5<br /> <br /> Đặc tả hình thức<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2