Lớp ATM:
Chuyển đổi lớp ATM sang đặc tả Alloy
Hình 15. Đặc tả Alloy của lớp ATM
Lớp ATM được chuyển thành khai báo ký hiệu trong Alloy, mỗi thuộc tính của lớp ATM được chuyển thành một trường nằm trong ký hiệu ATM của Alloy. Đối với kiểu của thuộc tính trong lớp ATM thì :
Với kiểu dữ liệu được Alloy hỗ trỡ integer thì tất các các kiểu dữ liệu của các thuộc tính khác được khai báo thành các ký hiệu.
Trong biểu đồ lớp, lớp ATM tham chiếu tới các lớp BankDatabase,..Screen, Keypad do vậy trong phần thuộc tính của ATM sẽ có các thuộc tính có kiểu là kiểu của các lớp nêu trên. Chúng ta quan sát rằng bản số quan hệ của ATM và BankDatabase, Screen, Keypad đều là 1. Bản số này được biểu diễn thành khai báo hạn định cho trường, chúng ta thấy rằng trong ký hiệu ATM thì hạn định cho các trường là một.
40
Lớp ATM có 3 phương thức. Ba phương thức này được chuyển hoàn toàn thành các mệnh đề - predicate. Danh sách tham biến của các phương thức trong biểu đồ lớp được mang nguyên vẹn thành danh sách tham biến của mệnh đề trong Alloy.
Tương tự như vậy đối với các lớp khác. Lớp Account:
Chuyển đổi đặc tả lớp Account sang biểu diễn Alloy
Hình 16. Đặc tả Alloy của lớp Account Đặc tả ràng buộc hệ thống trong Alloy
Đối với mọi thể hiện của Account phải thỏa mãn totalBalance lớn hơn avaiableBalance và totalBalance >5.
Ngoài ra, với mọi thể hiện Account cũng phải thỏa mãn : Không có 2 thể hiện nào của Account trùng mã pin và accountNumber
41 Hình 17. Ràng buộc cho hệ thống ATM
42
Kết luận
Trong quá trình thực hiện đề tài Khóa luận tốt nghiệp, em đã tìm hiểu ngôn ngữ UML[1], OCL[5] và các công cụ hỗ trợ đặc tả UML[1] hiện nay.
Em cũng đã tìm hiểu các phương pháp để kiểm tra các yếu tố mô hình UML[1] và tập trung vào phương pháp chuyển đổi mô hình UML[1] sang đặc tả Alloy[2] để có thể sử dụng công cụ Alloy Analyzer trong việc phân tích tự động các yếu tố của mô hình. Em đã đặc tả “hệ thống quản lý các tài khoản và các giao dịch ” để minh họa cho phương pháp này.
Qua quá trình thực hiện khóa luận, em đã nắm được cách thức đặc tả hệ thống bằng các ngôn ngữ UML[1], OCL[5], Alloy[2] và một phương pháp để kiểm tra các yếu tố mô hình. Trong đó nắm rõ cách thức chuyển đổi biểu đồ lớp UML[1] sang mô hình Alloy[2]. Trong điều kiện xây dựng hoàn chỉnh cơ sở lý thuyết chuyển đổi từ đặc tả biểu đồ lớp UML[1] sang Alloy[2], chúng ta có thể xây dựng công cụ tự động chuyển biểu đồ lớp UML[1] sang Alloy[2].
Alloy[2] cũng hỗ trợ kiểm tra mối quan hệ làm mịn giữa các đặc tả Alloy[2]. Khả năng này của Alloy[2] có thể được sử dụng để kiểm tra mối quan hệ làm mịn giữa 2 đặc tả UML[1]. Tuy nhiên vì thời gian và khả năng có hạn, em chưa thực hiện được ví dụ minh họa cho khả năng này. Em sẽ thực hiện nó trong thời gian tới cùng với việc hoàn thiện các quy tắc chuyển đổi từ mô hình UML[1] sang mô hình Alloy[2] với các trường hợp phức tạp.
43
TÀI LIỆU THAM KHẢO
Tài liệu tham khảo tiếng Việt
[1]TS. Dương Kiều Hoa – Tôn Thất An – Phân tích và thiết kế hệ thống thông tin theo UML
Tài liệu tham khảo tiếng Anh
[2] Daniel Jackson – Software Abstractions: Logic, Language, and Analysis – The Mit Press Cambridge, Massachussets London England, 2006
[3]Martin Gogolla, Mark Richters – Expressing UML Class Diagrams Properties with OCL – University of Bremen, FB 3, Computer Science Department , Germany.
[4]Kyriakos Anastasakis – UML2Alloy Reference manual – The University of Birmingham School of Computer Science.
[5]Object Management Group – Object Constraint Language Version 2.2
[6]http://alloy.mit.edu
[7] http://www.cs.bham.ac.uk/~bxb/UML2Alloy/index.php [8]Deitel – How to program C++ sixth edition chapter 13