Jul 26, 2012

Object Constrain Language (OCL)

bài này dịch lại từ slide OCL by Example của tiến sĩ Birgit Demuth

Các khái niệm cơ bản

Constrain

Invariant

Invariant là constrain luôn đúng cho một đối tượng trong suốt thời gian tồn tại của đối tượng.
Ví dụ:
Có biểu đồ UML như hình dưới
Invariant constrain là:

context Cuộc họp
inv : seft.Thời gian bắt đầu < self.Thời gian kết thúc

Trong đó context, inv, seft là từ khóa. seft là từ khóa giống như từ khóa this trong ngôn ngữ C++, C#, nó tham chiếu đến đối tượng là constrain đang áp dụng, có thể bỏ từ khóa này đi, cách viết sau là hợp lệ:
context Cuộc họp
inv : Thời gian bắt đầu < Thời gian kết thúc

Nếu muốn đặt tên cho constrain, viết tên của constrain ngay trước dấu ':'

Precondition/Postcondition

Đây cũng là hai loại ràng buộc, đối tượng của nó là operation của đối tượng.
Precondition là ràng buộc phải đúng ngay trước khi thực hiện operation

cú pháp:
context classifier::operation (các tham số)
pre tên ràng buộc: biểu thức boolean


No comments:

Post a Comment