Môi trường và khả năng lắp ghép

Một phần của tài liệu LUẬN VĂN: ỨNG DỤNG RELATIONAL INTERFACE CHO JAVA doc (Trang 26 - 30)

Định nghĩa 7 (Môi trường): Một interface là một bộ E = (X, Y, hX, hY), trong X

Y được định nghĩa trong Định nghĩa 1, và hX và hY là các hàm tổng.

hX : (XY)* → ℱ(X), hY : (XY)* → ℱ(Y)

hX biểu diễn những đảm bảo trên những input X, cái mà môi trường cung cấp tại những trạng thái cho trước, hY biểu diễn những đảm bảo mà môi trường kì vọng trên

outputY.

Các trạng thái được định nghĩa cho môi trường thì tương tự như là cho những interface. Một môi trường phi trạng thái (stateless environment) là môi trường mà

hX(s) là và hY(s) là hằng số với tất cả các trạng thái s. Chúng ta định nghĩa tập hợp tất

cả các trạng thái có thể đạt được của một môi trường E, kí hiệu là ℛ(E), theo cách

tương tự như đối với interface: ε∈ ℛ(E), và sa ∈ℛ(E) nếu s∈ ℛ(E) và a = (aX, aY)

là một phép gán để aX hX(s) và aY hY(s). Một môi trường E được coi là “live” nếu

môi trường E = (X, Y, hX, hY), được kí hiệu IE, nếu X’ = X, Y’ = Y, và với tất cả s

ℛ(IE), thì công thức sau là hợp lệ:

hX(s) → (in(ξ(s)) ∧ (ξ(s) → hY(s))) (1)

trong đó IE là một interface được định nghĩa như sau:

IE ≔ (X, Y, ξE) (2)

ξE(s) ≔ξ(s) ∧ hX(s), với tất cả s∈ (XY)* (3)

Khả năng lắp ghép có thể được nhìn nhận một cách trực quan như là một trò chơi giữa interface và môi trường. Giả sử s là trạng thái hiện tại của IE (ban đầu, s = ε). Nếu hX(s) không thỏa mãn thì E quyết định dừng cuộc chơi. Mặt khác, E chọn lựa một vài phép gán đầu vào ax thỏa mãn hX(s). Nếu ax vi phạm in(ξ(s)), thì điều kiện (1) sẽ bị vi phạm, và I sẽ không ghép được với E: và E sẽ bị “đổ lỗi” cho vi phạm này, điều này

này sẽ cung cấp những bảo đảm không chắc chắn cho input. Mặt khác I chọn một phép

gán đầu ra aY để phép gán đầu vào-đầu ra a ≔ (ax, ay) thỏa mãn ξ(s). Nếu aY vi phạm

hY(s), thì điều kiện (1) sẽ bị vi phạm, một lần nữa điều này có nghĩa là I không thể ghép được với E: trong trường hợp này I bị “đổ lỗi”, vậy điều này cung cấp một bảo đảm không chắc chắn cho output. Mặt khác, một quy trình là hoàn thiện, và một trạng thái mới (cho cả IE) là s ∙ a. Trò chơi tiếp tục với cách thức tương tự.

Ví dụ 3: Xem xét interface phi trạng thái I1I2 từ ví dụ 1 và môi trường phi

trạng thái E1 ≔ ({x}, {y}, x > 0, y > 0). Có thể thấy rằng cả I1 và I2 có thể lắp ghép với

E2 ≔ ({x}, {y}, x ≥ 0, y > 0): ràng buộc x ≥ 0 không đủ mạnh để đạt giả thiết input x >

0. Cần chú ý rằng I2không áp đặt giả thiết input một cách rõ ràng, tuy nhiên, nó lại ngầm sử dụng giả thiết này, vì nó không tạo nên bảo đảm nào khi giả thiết x > 0 bị vi

phạm. Cuối cùng, xem xét E3 ≔ ({x}, {y}, true, true). I2 có thể ghép với E3: E3 không

cung cấp bảo đảm trên input nhưng cũng không kì vọng bảo đảm trên output. I1 không

thể ghép với E3 vì true x > 0.

Interface IE được định nghĩa từ (2) và (3) có mục đích là chụp lấy trạng thái có

thể đạt được của việc tổ hợp vòng lặp khép kín của EI. Những trạng thái có thể đạt được này là tập con của các trạng thái có thể đạt được của I, bởi vì nhìn chung môi trường E chỉ có thể cung cấp một tập bị hạn chế các input, trong số tất cả các input hợp

rằng trạng thái có thể đạt được của IE đúng là một tập con của các trạng thái có thể đạt

được của I.

Bổ đề 2: Cho I là một interface, E là một môi trường, và IE được định nghĩa như

trong định nghĩa 8. Khi đó ℛ(IE) ⊆ℛ(I).

Bổ đề 3: Cho I, I’ là 2 interface, E là một môi trường và IE, I’E được định nghĩa

như trong định nghĩa 8. Nếu II’ thì ℛ(IE) = ℛ(I’E).

Định lý 2: Nếu một interface Iwell-formable thì tồn tại một môi trường thực

(live environment) E để IE.

well-formed có hàm ý là well-formable, nên hệ quả của định lý 2 là mọi

interfacewell-formed có thể được ghép với một vài môi trường thực. Chú ý rằng tồn tại những interface không là well-formed tuy nhiên lại có thể ghép được với những môi trường thực: những môi trường thực này hạn chế input, nên không bao giờ đạt được các trạng thái với những ràng buộc không thể thỏa mãn. Cũng tồn tại những interface là non-well-formed được mà có thể ghép được với những môi trường không thực (non-live environment): những môi trường này “dừng lại” sau một vài điểm, tức là, để hX(s) ≡ false với một vài trạng thái s. Cuối cùng, tồn tại các interface phi trạng thái và là non-well-formed. Các interface này có thể được ghép vào các môi trường không thực ít quan trọng mà dừng ngay lập tức.

Định nghĩa 9 (Môi trường W.R.T tương đương): 2 interface II’ là 2 môi trường w.r.t tương đương, kí hiệu là I ≡EI’, nếu với bất kì môi trường E nào, I có thể ghép được với E nếu I’ có thể ghép được với E.

Định lý 3: Với bất kì interface I, I’, II’ nếu I ≡EI’.

Một phần của tài liệu LUẬN VĂN: ỨNG DỤNG RELATIONAL INTERFACE CHO JAVA doc (Trang 26 - 30)

Tải bản đầy đủ (PDF)

(79 trang)