Mơ hình hóa và sự tn thủ thể thức thời gian-tài nguyên

Một phần của tài liệu (LUẬN án TIẾN sĩ) một số phương pháp mô hình hoá và kiểm chứng hình thức cho các hệ thống thời gian thực hướng thành phần luận án TS máy tính 94801 (Trang 78 - 88)

Chương 2 Kiến thức nền tảng

3.5. Thể thức tương tác thời gian thực ràng buộc tài nguyên

3.5.2. Mơ hình hóa và sự tn thủ thể thức thời gian-tài nguyên

Môi trường muốn sử dụng các dịch vụ của thành phần phần mềm C cung cấp thì tất các các chuỗi hành vi của môi trường phải tuân thủ thể thức của

C. Mơ hình được sử dụng phổ biến và tốt nhất để giải quyết bài toán trong luận án này là ôtômát trọng số (Priced/Weighted Timed Automata) [32,33,74]. Cho thành phần phần mềm C và một mơ hình ơtơmát trọng số A của môi trường. Một câu hỏi đặt ra là liệu tất cả ngơn ngữ của A có tn thủ thể thức của thành phần phần mềm C hay không? Nếu tn thủ, ký hiệu A |=℘.

3.5.2.1 Ơtơmát trọng số ràng buộc tài nguyên

Phần này luận án trình bày ơtơmát trọng số ràng buộc tài nguyên, được sử dụng để mơ hình hóa các chuỗi hành vi của mơi trường với ràng buộc tài nguyên. Ơtơmát trọng số ràng buộc tài ngun là ơtơmát trọng số được bổ sung hai bộ thành phần tài nguyên vào hàm gán nhãnλ là ràng buộc tài nguyên resRES

trên các hành động và bộ giá trị tài nguyên R trên các vị trí của ơtơmát trọng số. Luận án sử dụng các ký hiệu và các khái niệm như được trình bày trong

Phần 2.2.2. Ký hiệu { là tập các đồng hồ, x là một đồng hồ bất kỳ trong {,

phép gán giá trị của các đồng hồ ν, ν : {→ R≥0. Đặt t ∈R≥0, phép gán giá trị

ν +t được định nghĩa bởi (ν +t)(x) = ν(x) +t với mọi x ∈ {. Ơtơmát trọng số tài ngun được sử dụng trong việc mơ hình hóa và lập luận cho tính sử dụng hiệu quả tài nguyên hệ thống của thành phần phần mềm thời gian thực. Luận án giới hạn bộ giá trị tài nguyên R trên tập vị trí L và thành phần RES

trên tập các dịch chuyển T. Định nghĩa ôtômát trọng số ràng buộc tài nguyên được khái quát như sau:

Định nghĩa 3.9 (Ơtơmát trọng số tài ngun). Một ôtômát trọng số trên tập hữu hạn đồng hồ { và tập hữu hạn các thành phần tài nguyên R là một bộ

M = (L, `0,Σ,{, T, λ,Γ), trong đó L là tập các vị trí, `0 là vị trí khởi tạo, TL×Σ×Φ({)×2{×L là tập các dịch chuyển, Γ là tập vị trí chấp nhận được, λ : LTRRES gán mỗi cạnh một bộ giá trị của thành phần tài nguyên RES tương ứng với hành động trong bảng chữ cái Σ, và gán mỗi vị trí

một bộ giá trị R.

Một trạng thái của ôtômát trọng số ràng buộc tài nguyên là một bộ h`, νi,

trong đó `L, ν ∈ R{≥0. Ánh xạ λ gán nhãn giá trị tài nguyên ðR(ai) = resi

được sử dụng cho hành động ai lên cạnh của ôtômát và gán giá trị tài nguyên còn lại riR của hệ thống cho vị trí `i của ơtơmát. Như vậy, hành vi của ôtômát trọng số được biểu diễn bằng từ trọng số ràng buộc tài nguyên là chuỗi

ω = (a1, t1, r1)(a2, t2, r2). . .(am, tm, rm),m≥ 1. Luận án nhắc lại ðR là một ánh xạ cho biết đặc tả tĩnh tài nguyên của một dịch vụ được gọi thì hệ thống chi phí

mất bao nhiêu tài nguyên. Dịch chuyển trong ôtômát trọng số tài nguyên cũng giống như ôtômát trọng số ngun thủy, đó là có hai hình thức dịch chuyển, tuy nhiên chi phí cho từng loại dịch chuyển được tính trên tập tài ngun:

Thời gian trơi: h`, νi−→ h`, νd +di nếu với mọi d∈ R≥0,

λ(h`, νi) =λ(h`, νi−→ h`, νd +di). Ánh xạ λ gán r |c (d⊗ðR) lên vị trí `,

trong đó phép tốn ⊗, d được nhân lần lượt với các thành phần tiêu thụ trong res, giá trị của các thành phần chiếm dụng được giữ nguyên.

Dịch chuyển rời rạc: h`, vi −→,e h`0, ν0i nếu tồn tại một dịch chuyển e =

h`, a, φ,~, `0i ∈ T sao cho ν |= φ, ν0 = [~7→ 0]ν, và λ(h`0, ν0i) =λ(h`, νi−→e h`0, ν0i), trong đó r0 =r ðR(a).

3.5.2.2 Ơtơmát trọng số tài ngun vùng

Cho một ôtômát trọng số ràng buộc tài nguyên M. Một trạng thái đến

được của một ôtômát vùng trọng số tài nguyên là một cặp h`, Zi, trong đó Z

là một vùng và ` là một vị trí. Trạng thái h`, Zi biểu diễn tập tất cả các trạng thái h`, νi trong đó νZ. Khi Z là một vùng và ~ là một tập con đồng hồ,

~ ⊆ {. Ký hiệu Zd là tập các phép gán giá trị đồng hồ trong trường hợp thời gian trôi và Z~ là tập các phép gán trên các đồng hồ được thiết lập lại giá trị. Đó là, Zd = {ν +d | νZ, d ∈ R≥0} và Z~ = {[~ 7→ 0]ν | νZ}. Cho một

trạng thái h`, Zi, đặt ∆Z là phép định giá đồng hồ duy nhất của vùng Z thỏa

∀ν ∈Z.∀x ∈{.∆Z(x) ≤ ν(x).

Định nghĩa 3.10 (Vùng trọng số tài nguyên). Một vùng trọng số tài nguyên

Z là một bộ (Z, µ, η), trong đó Z là một vùng, µ ∈N miêu tả độ lệch tương đối

Z của vùng Z, và η : {→ R tính giá trị tài nguyên η(x) cho bất kỳ đồng hồ x nào. Đặt ν ∈ Z mỗi khi νZ. Với bất kỳ ν ∈ Z chi phí của phép gán ν trong

Z, ký hiệu bởi Cost(ν,Z), được tính bằngµ⊗ðR⊕Lx∈{η(x)⊗(ν(x)−∆Z(x)). Như vậy, một trạng thái của ôtômát vùng trọng số tài nguyên là một bộ (`,Z), trong đó ` là một vị trí vàZ là một vùng trọng số ràng buộc tài nguyên, hay nói cách khác Z là một cấu hình của ơtơmát vùng trọng số ràng buộc tài nguyên. Một dãy trạng thái của ôtômát vùng trọng số ràng buộc tài nguyên

ωz = ((`0,Z0)(`1,Z1). . .(`n,Zn)), i = 1, n, trong đó `i là một vị trí, Zi là một vùng trọng số ràng buộc tài nguyên được biểu diễn bởi một bộh`i, Zii, ở đâyZi

3.5.2.3 Sự tuân thủ thể thức thời gian - tài ngun

Mơi trường hệ thống được mơ hình hóa bằng một ơtơmát trọng số tài nguyên A. Môi trường muốn sử dụng các dịch vụ trong thành phần phần mềm

C với thể thức tương tác tương tranh có ràng buộc tài ngun thì chuỗi hành vi của mơi trường phải tn thủ thể thức của C. Nghĩa là chuỗi hành vi của mơi trường phải tn thủ trình tự các lời gọi trong thể thức và qua mỗi bước tính tốn, mơi trường phải cung cấp đủ các tài nguyên cho các dịch vụ trong C hoạt động.

Như vậy, bài toán quy về kiểm tra ngơn ngữ của ơtơmát trọng số tài ngun

Acó thỏa thể thức của thành phần phần mềm đã cho. Nếu thỏa ký hiệu bằng

A |=℘. Đặt P Z(A) là ôtômát vùng trọng số ràng buộc tài nguyên của A. Giả

sử ω = (a1, t1, r1)(a2, t2, r2). . .(am, tm, rm), m≥ 1.

Để kiểm chứng dãy hành vi của mơi trường có tn thủ thể thức tương tác của một thành phần phần mềm đã cho hay không. Luận án tiến hành xây dựng ơtơmát đốn nhận ngơn ngữ phần bù của ngôn ngữ trong thể thức ℘,

với mỗi biểu thức chính quy Ei, i = 1, k, xây dựng ơtơmát Bi đốn nhận ngơn ngữ phần bù của L(Ei) là ¯L(Ei). Xây dựng ôtômát vùng trọng số ràng buộc tài nguyên cho ôtômát trọng số Alà P Z(A). Áp dụng bài toán kiểm tra tính rỗng của ngơn ngữ tích đồng bộ P Z(A)× Bi, với mọi i = 1, k. Nếu tất cả ngơn ngữ của các tích đồng bộ này rỗng chứng tỏ ôtômát A thỏa thể thức ℘. Luận án

khái quát kết quả bằng Định lý 3.4.

Định lý 3.4. Cho một mơi trường E được mơ hình hóa bằng ơtơmát trọng số ràng buộc tài nguyên A và thành phần phần mềm C với thể thức ℘. E cắm được vào C khi và chỉ khi L(A) |=℘.

Chứng minh. 1. Xây dựng ơtơmát đốn nhận ngôn ngữ phần bù của ngôn ngữ trong thể thức ℘, với mỗi biểu thức chính quy Ei, i = 1, k, xây dựng ôtômát Bi

đốn nhận ngơn ngữ phần bù của L(Ei) là ¯L(Ei).

2. Xây dựng ôtômát vùng trọng số ràng buộc tài nguyên cho ôtômát trọng sốA

P Z(A).

3. Áp dụng bài tốn kiểm tra tính rỗng của ngơn ngữ tích đồng bộ P Z(A)× Bi, với mọi i = 1, k. Nếu tất cả ngơn ngữ của các tích đồng bộ này rỗng chứng tỏ

Để kiểm tra tính tn thủ của chuỗi hành vi của mơi trường đối với với thể thức tương tác có ràng buộc tài nguyên của một thành phần phần mềm thời gian thực. Luận án đưa ra thủ tục để kiểm tra sự tuân thủ bằng các thuật toán sau.

Thuật toán 3.5: ERC: Kiểm tra tính rỗng của A với

Input: Thể thức thời gian tài nguyên =h(Σ1,E1), . . . ,(Σk,Ek),ði và một ôtômát trọng số tài nguyên A= hL,Σ, `0,{, T, λ,Γi.

Output: “true” nếu tích đồng bộ của Avới rỗng, “false” trong các trường hợp cịn lại.

1 begin

2 Xây dựng ơtơmát vùng trọng số tài nguyên của ôtômát trọng số A, ký

hiệu P Z(A);

3 for i = 1, k do

4 Xây dựng ôtômát Bi đốn nhận ngơn ngữ chính quy ¯L(Ei);

5 Xây dựng tích đồng bộ P Z(A)×Σi Bi; 6 if L(P Z(A)×ΣiBi) ,∅ then 7 stop(); 8 return “false”; 9 end 10 end 11 return “true”; 12 end

Thuật toán 3.5kiểm tra tính tn thủ của ơtơmát trọng số Avới thể thức tương tác có ràng buộc tài nguyên trong trường hợp Mục 1 của Định nghĩa 3.6.

Ý nghĩa của thuật toán này giống với Thuật toán 3.1, tuy nhiên đầu vào của

thuật tốn này là một thể thức có đặc tả ràng buộc tài nguyên và một ôtômát trọng số tài nguyên. Câu lệnh2cho biết phải xây dựng ôtômát vùng trọng số tài nguyên cho ôtômát A, ký hiệu bằng P Z(A). Việc xây dựng ơtơmát này chính là sự biểu diễn hữu hạn ôtômát trọng số tài nguyên A.

Khối lệnh for từ dịng thứ 3 đến dịng 10, trong đó, với mỗi biểu thức

chính quy Ei, câu lệnh 4 là bước xây dựng ơtơmátBi đốn nhận ngơn ngữ phần bù ¯L(Ei) của L(Ei). Câu lệnh số 5 xây dựng tích đồng bộ P Z(A) với Bi, ký hiệuP Z(A)×ΣiBi. Ý nghĩa của câu lệnh này để tìm ngơn ngữ giao giữa ơtơmát vùng trọng số với ngơn ngữ phần bù của ngơn ngữ chính quy ¯L(Ei) tương ứng với bảng chữ cái Σi. Dòng 6 đến dịng 9 lần lượt kiểm tra xem ngơn ngữ của

ơtơmát tích đồng bộ có rỗng hay khơng? Nếu khơng rỗng, thuật tốn dừng và trả kết quả “false”. Ngược lại, nếu duyệt tồn bộ các tích đồng bộ mà các ngơn ngữ của chúng đều rỗng, thuật toán dừng và trả kết quả “true”.

Để kiểm tra một chuỗi hành vi của mơi trường có vi phạm ràng buộc thời gian và ràng buộc tài nguyên với thể thức tương tác ℘, luận án đề xuất thuật

tốn tìm đường đi vi phạm trong ơtơmát thời gian đối với thể thức tương tác của thành phần phần mềm.

Thuật toán 3.6: PTRViolationCheck: Kiểm tra một đường đi trong Acó vi phạm với thể thức tương tác

Input: Một đường đi của ôtômát trọng số tài nguyên dưới dạng một từ thời gian - tài nguyên ω và thể thức tương tác

Output: “true” nếu ω vi phạm π, “false” trong các trường hợp còn lại.

1 begin 2 for i = 1, k do 3 if untimedresource(ω)|Σi ∈ L(Ei) then 4 stop(); 5 return “true”; 6 end 7 forj = 1,|L(Ei)| do 8 Đặt untimedresource(ω)|Σi =aj1aj2. . . ajmi ; 9 for l = 1, mi do 10 if tjl+1tjl ðt(ajl) or rjl+1 rjl ðR(ajl) then 11 stop(); 12 return “true”; 13 end 14 end 15 end 16 end 17 return “false”; 18 end

Thuật toán 3.6 kiểm tra một chuỗi hành vi của mơi trường có vi phạm điều kiện ràng buộc thời gian và ràng buộc tài nguyên đối với thể thức tương tác của thành phần phần mềm hay không? Khối lệnh f or từ câu lệnh 2 đến

lệnh 2 đến câu lệnh 6 kiểm tra chuỗi hành vi của mơi trường có thỏa ngơn ngữ của thể thức hay khơng? Nếu khơng thỏa thì thuật tốn dừng trả ra kết quả “true”, tức là có vi phạm, ngược lại thuật tốn kiểm tra tiếp với các ràng buộc thời gian và ràng buộc tài nguyên. Khối lệnh f or từ câu lệnh 7 đến câu lệnh 15

kiểm tra một từ ω có vi phạm về ràng buộc thời gian và ràng buộc tài nguyên hay không? Nếu vi phạm, thuật toán dừng và trả kết quả “true”, ngược lại trả kết quả “false” tức là không vi phạm.

Tiếp theo, luận án kết hợp thuật toán 3.6 vào thuật tốn 3.7 để kiểm tra tính thỏa được của ơtơmát trọng số ràng buộc tài nguyên vởi thể thức ℘.

Thuật toán 3.7: TRC: Kiểm tra sự vi phạm ràng buộc thời gian và tài nguyên của A với ℘.

Input: Thể thức thời gian =h(Σ1,E1), . . . ,(Σk,Ek),ði và một ôtômát thời gian A=hL,Σ, `0,{, T, λ,Γi.

Output: “true” nếu A không vi phạm ℘, “false” trong các trường hợp

còn lại.

1 begin

2 for i = 1, k do

3 Xây dựng ôtômát trọng số A0 =hL,Σ, `0,{∪ {ci}, T0, λ,Γi từ ôtômát Abằng cách bổ sung biến đồng hồ ci, trong đó

T0 ={e0 = (`, a, φ,~∪ {ci}, `0) | e= (`, a, φ,~, `0) ∈Ta

Σi} ∪ {e0 = (`, a, φ,~, `0) | e= (`, a, φ,~, `0) ∈Ta< Σi};

4 Xây dựng ôtômát vùng P Z(A0), và bổ sung tất cả các dịch chuyển với ràng buộc “thời gian và tài nguyên” vào P Z(A0) và làm đơn giản nó bằng cách loại bỏ các trạng thái khơng đến được;

5 if PTRViolationCheck() then 6 stop(); 7 return “false”; 8 end 9 end 10 return “true”; 11 end

Thuật toán 3.7 sẽ kiểm tra hai yếu tố là ràng buộc thời gian và ràng buộc tài nguyên của ôtômát A với thể thức ℘. Đối với kiểm tra ràng buộc thời

vùng thời gian trong Thuật toán 3.3. Đối với ràng buộc tài ngun, thì ánh xạ

λ : LTRRES trong ơtơmát vùng trọng số tài nguyên P Z(A0) sẽ gán thành phần resi tương ứng với hành động ai trong các dịch chuyển thuộc T0, và gán thành phần tài nguyên ri, riR, lên vị trí `i, i = 1, n. Thuật tốn này kiểm tra được tính tuân thủ cả ràng buộc thời gian và ràng buộc tài nguyên cho các hoạt động của ôtômát trọng số tài nguyên A đã cho.

Từ hai Thuật toán 3.5 và Thuật toán 3.7, luận án kết hợp với các trường

hợp cịn lại để đưa ra thuật tốn kiểm tra tính tuân thủ các chuỗi hành vi của một ôtômát trọng số tài nguyên đối với một thể thức của một thành phần phần mềm thời gian thực đã cho và được trình bày trong Thuật tốn 3.8.

Thuật tốn 3.8: Kiểm tra tính thỏa được ơtơmát trọng số tài ngun với thể thức

Input: Một thể thức tương tranh thời gian tài nguyên

=h(Σ1,E1), . . . ,(Σk,Ek),ði, trong đó ðt : Ski=1Σi→ N≥,

ðR: Ski=1ΣiRES, và Ei là một biểu thức chính quy trên bảng chữ cái Σi với i = 1, k, và một ôtômát trọng số tài nguyên

A=hL,Σ, `0,{, T, λ,Γi mà thỏa Σi ⊆ Σ với mọi ik.

Output: “true” nếu L(A) |=℘, “false” trong các trường hợp còn lại.

1 begin

2 if ERC(A, π) , true then 3 return "false";

4 end

5 else

6 foreach ∀a ∈Sk

i=1Σi, do

7 if (ðt(a), 0 hoặc ðR(a), null) then

8 stop();

9 return "false";

10 end

11 end

12 if T RC(A, π) , true then 13 return "false";

14 end

15 end

16 return “true”;

17 end

Thuật tốn trên đã kiểm tra được tính tn thủ của một ơtơmát trọng số tài nguyên đối với thể thức tương tranh của một thành phần phần mềm. Độ phức tạp thuật tốn về thời gian được tính như sau O(|P Z(A0)|.|L(Ei)|).

3.6 Tổng kết chương

Chương 3 đã đề xuất mơ hình phần mềm thời gian thực dựa trên thành phần và đề xuất thể thức tương tác được sử dụng để biểu diễn sự tương tác giữa các thành phần phần mềm và giữa các thành phần phần mềm với mơi trường trên cả khía cạnh chức năng và phi chức năng.

Mơ hình thành phần phần mềm thời gian thực trong luận án được chia thành hai phần gồm phần chủ động và phần thụ động. Dựa trên cách chia mơ hình thành hai phần giúp cho các hệ thống được phát triển dựa trên mơ hình này có thể triển khai nhanh, độ chính xác cao và kiểm sốt được các tiến trình

Một phần của tài liệu (LUẬN án TIẾN sĩ) một số phương pháp mô hình hoá và kiểm chứng hình thức cho các hệ thống thời gian thực hướng thành phần luận án TS máy tính 94801 (Trang 78 - 88)

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

(166 trang)