Sự kết hợp của các thành phần

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Mô hình hóa giao diện của các thành phần trong các hệ thống dựa trên thành phần (Trang 27 - 29)

2.2 Mô hình hóa đặc tả giao diện của thành phần

2.2.5 Sự kết hợp của các thành phần

ChoCi = Ctr Dep SDep Mcode Invi, i, i, i, i , i = 1, 2 là thành phần thụ động trong đó có các hợp đồng có thể kết hợp được và thỏa mãn Mcode op1( )≡Mcode op2( ) với mọi

1 2

opMdMd . Sự kết hợp C1∪C2 được định nghĩa như sau:

1 2 ˆ 1 2, 1 2, 1 2, 1 2, 1 2

CC = CtrCtr DepDep SDepSDep McodeMcode SInvSInv

Cho u là tập hữu hạn các thành phần thụ động, như vậy UU uU Dep• ⊆u (U Dep

là tập các thành phần mà thành phần U phụ thuộc vào). Cho đồ thị phụ thuộc của u

được định nghĩa là các đồ thị có hướng D u( ) (=ˆ u A, ), trong đó (U V, )∈A nếu

. .

VU Dep u là cấu trúc tốt nếu đồ thị phụ thuộc của nó không có chu kỳ. Một thành phần thụ động Uđược cho là độc lập nếu U Dep. = ∅.

Định lý 4. Nếu u là cấu trúc tốt thì mọi phương thức trong thành phần Uu là triển khai tốt.

• Các phương thức trong các thành phần được định nghĩa là thiết kế với tiền điều kiện, hậu điều kiện, quan hệ về lượng thời gian để thực hiện các phương thức và các nguồn tài nguyên có sẵn. Điều này là phù hợp với đặc tả

về các hệ thống có điều kiện kết thúc, nhưng không đủ mạnh để thể hiện các

hành vi của chương trình không có điều kiện kết thúc hoặc các hệ thống phản ứng.

• Định nghĩa của một thành phần Comp yêu cầu Mspec op( )Mcode op( )theo

giả định ( ( ( )) ( ))

U Dep Inv Ctr U SInv U

∈∧ ∧ .

Các điều kiện Inv(Ctr(U)) là các biến được sử dụng để thực hiện các đặc tả

chức năng cho các phương thức op và được bảo đảm bởi tất cả các thành

phần trong U. Các điều kiện SInv(U) là các biến trong SDep(U) được sử

dụng để lên lịch và được sử dụng để triển khai các đặc tả của các phương

thức không phải hàm. Vì vậy nếu SInv(U)được kiểm chứng như là một bất

biến toàn cục cho hệ thống không tính yếu tố thời gian tương ứng, nó cũng

là một bất biến của hệ thống tính thời gian. Việc kiểm chứng của bất biến

SInv(U) cho hệ thống không tính thời gian có thể được thực hiện với kỹ thuật đơn giản.

Ví dụ 1, khi lập lịch là không cần thiết (ví dụ cách sử dụng song song

của các dịch vụ được cho phép hoặc các dịch vụ được gọi chỉ một thành

phần tại một thời điểm, SDep U( )= ∅ với mọi U) thì chúng ta có

( , ) , , 0

Schedule Comp C = ∅ skip = (từ đây chúng ta cho rằng tính toán luôn mất thời gian, do đó các đặc tả thời gian cho các lịch trình trong trường hợp này nên được thay đổi để > ∧ ≤0  d trong đó d là lượng thời gian nhỏ nhất

cần thiết để thực hiện một lệnh theo giả định về nguồn tài nguyên trong hệ

thống). Tiền điều kiện Schedule(Comp,C)true và do đó SInv(C)true, đó là một bất biến tầm thường.

Ví dụ 2, giả sử lập lịch sử dụng chính sách FIFO (đến trước phục vụ

trước), và lượng thời gian tối đa mà một thành phần sử dụng một dịch vụ của mỗi thành phần Compa và số lớn nhất các thành phần sử dụng dịch vụ của Compn. Ta sẽ có Schedule Comp( )= SDep U( ),FP,≤ ×n a . Có

những lời gọi đồng thời hay không phụ thuộc vào nếu có tồn tại phương

thức chủ động đồng thời trong hệ thống hay không. Tiếp theo phụ thuộc vào

nếu ngôn ngữ cho phép một phương thức được thực hiện với lệnh song song

hoặc nếu có nhiều hơn một nhiệm vụ chạy song song trong hệ thống. Ta sẽ

thảo luận thêm về khía cạnh này ở phần sau.

Từ trên ta rút ra nhận xét là để xác định rằng một thành phần Comp1 được làm mịn

2

Comp cung cấp dịch vụ hơn Comp1 và các điều kiện lập lịch cần thiết trong Comp2 là

lỏng hơn Comp1 (tức là Comp2 đã bất biến mạnh mẽ hơn trong lịch trình vì lịch trình thực hiện của Comp1 có thể thực hiện được trong Comp2).

Định nghĩa 6 (Làm mịn thành phần). ChoCompi= Ctr Dep SDep Mcode SInvi, i, i, i, i , i = 1,2 là thành phần thụ động. Comp1 được làm mịn từ Comp2(ký hiệu

1 2

CompComp ) nếu

Ctr1Ctr2 (Comp2 cung cấp nhiều dịch vụ hơn Comp1)

Dep2 ⊆ Dep1, SDep2 ⊆ SDep1 và SInv1⇒SInv2(Comp2 không cần nhiều

dịch vụ cung cấp từ hệ thống như Comp1 và các điều kiện ràng buộc là yếu

hơn trong quá trình lập lịch hệ thống)

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Mô hình hóa giao diện của các thành phần trong các hệ thống dựa trên thành phần (Trang 27 - 29)

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

(48 trang)