Trạng thái nhánh

Một phần của tài liệu Phương pháp đánh giá hiệu năng hệ thống sử dụng umlstate machine và stochastic petri nets (Trang 30)

Trạng thái giả lập nhánh được sử dụng để chia một SM-transition thành một vài khu vực trực giao. Hình 2.10 thể hiện việc chuyển đổi trạng thái giả lập nhánh. SM-transition ra của trạng thái A được phân nhánh các trạng thái B và D vào các khu vực trực giao của trạng thái phức hợp C [7]. Điều này dẫn đến việc phân nhánh mảng SPN tương ứng. Do thời gian và các trigger chỉ được cho phép các SM- transition vào của trạng thái giả lập nhánh, việc phân chia có thể được thực hiện bằng cách sử dụng một PN-transition. PN-transition t_fork_A trình bày trong cả hai trường hợp, hành vi tiềm ẩn kèm theo SM-transition vào của nhánh. Sau khi hành vi, hoạt động vào tiềm ẩn của trạng thái phức hợp C được thực hiện (t_ent_C), nơi việc phân nhánh thành các vị trí ent_out_B và ent_out_D được thực hiện. Hình 2.10 mô tả thêm việc sử dụng trạng thái giả lập được kích hoạt. Trong trường hợp này, mảng SPN của việc chuyển đổi sự kiện được chèn vào trước t_fork_A.

23

Hình 2.10. Trạng thái nhánh 2.4. Kết luận chƣơng 2

Trong chương này giải thích hướng tiếp cận chuyển đổi sơ đồ trạng thái UML State thành các mạng Stochastic Petri. Các mạng Stochastic Petri được tạo thành từ chính các sơ đồ trạng thái UML. Ngoài ra chúng có thể được sử dụng với mục đích đánh giá định lượng các mô hình sơ đồ trạng thái UML.

Hướng tiếp cận này dựa trên sự phân tích sơ đồ trạng thái UML thành các phần tử cơ bản, trạng thái giả lập và SM – transition. Mỗi phần tử được chuyển đổi từ UML thành một mảng SPN riêng biệt. Các hoạt động chuyển đổi này được cụ thể hóa. Các nguyên tắc được xem xét cụ thể và chú thích nhất định từ SPT có thể kèm theo các phần tử UML.

24

CHƢƠNG 3. PHƢƠNG PHÁP ĐÁNH GIÁ HIỆU NĂNG SỬ DỤNG MẠNG STOCHASTIC PETRI NETS

3.1. Khái niệm mạng SPN.

Mạng Petri (PN) là một đồ thị song hướng có trọng số gồm bốn bộ: tập hợp các vị trí P (place), tập hợp các chuyển tiếp T (transition), hàm vào I (input function) và hàm ra O (output function) [9].

PN = (P,T,I,O) Trong đó: P = {p1, p2 ……….pm}; m ≥ 0 T = {t1, t2………..tn}; n ≥ 0 P ∩ T = θ; (3-1) I : T P∞ O : P∞ T

Gọi O(ti) là tập hợp các vị trí ra đối với chuyển tiếp ti và A là tập hợp các cung được hình thành bởi các cặp ( pj , ti ) hoặc ( ti , Pj ).

Vị trí pj là vị trí vào của chuyển tiếp ti nếu pj ϵ I (ti) và pj là vị trí ra nếu pj ϵ O (ti) I (ti ) = {pj ϵ P: (pj, ti) ϵ A}

O (ti ) = {pj ϵ P: (ti , pj) ϵ A}

Như vậy mạng Petri có hai tập hợp các nút (vị trí và chuyển tiếp) và một tập hợp các cung nối các nút (vị trí, trạng thái).

Nếu mạng Petri có trọng số, thì W là các giá trị nguyên được ghi trên cung, là trọng số của cung và nó chỉ ra số cung (cùng hướng) nối từng cặp nút (vị trí, chuyển tiếp ) trong trường hợp có nhiều cung nối cặp nút. Mạng Petri có trọng số được biểu diễn ở dạng:

PN= (P,T,A,W)

Có 3 cách biểu diễn PN: bằng đồ thị (GPN), bằng đại số (APN) và gán mầu (CPN) [9]:

GPN (Graph PN ) là mạng Petri được biểu diễn bằng đồ thị gồm: các vòng tròn - các vị trí, các thanh đậm (hay hộp chữ nhật) - các chuyển tiếp, các mũ tên -

25

các cung nối các vị trí và các chuyển tiếp và các dấu tròn nhỏ tô mầu (đen) bên trong các vị trí - các thẻ (token).

APN (Algebraic PN) là mạng Petri biểu diễn một hệ thống và một giao thức như là một ngôn ngữ của ngữ pháp (grammar language) hoặc logic ở một dạng đại số (algebraic form).

CPN (Coloured PN) [10] là mạng Petri trong đó các cung hay các thẻ được gán dữ liệu gọi là màu của cung hay thẻ. Giá trị dữ liệu có thể là loại bất kỳ, ví dụ như: một bản ghi mà trường đầu tiên là đọc, trường thứ hai là chuỗi văn bản, trường thứ ba là danh sách các cắp số nguyên. Đối với một vị trí , tất cả các thẻ cần làm thành một tập hợp màu của vị trí. Sự gán một mầu cho từng thẻ và một tập hợp màu cho từng vị trí cho phép ta sử dụng ít vị trí hơn cần thiết cho mạng chuyển tiếp vị trí.

Các vị trí vào Các chuyển tiếp Các vị trí ra

Các trạng thái sẵn có Sự kiện xảy ra Các trạng thái sau Dữ liệu vào Bước tính toán, thực hiện

của quá trình Dữ liệu ra

Các tín hiệu vào Bộ xử lý tín hiệu Các tín hiệu ra Khác hàng đến Bàn phục vụ Khách hàng được phục vụ Các tài nguyên cần Nhiệm vụ hay công việc

(Task hay Job)

Các tài nguyên được giải phóng

Các điều kiện Điều khoản logic Các kết luận

Trạng thái của bộ xử lý Yêu cầu bộ xử lý phục vụ Bộ xử lý thực hiện xong Thành phần hóa học Phản ứng hóa học Kết luận phản ứng hóa

học (adsbygoogle = window.adsbygoogle || []).push({});

Bảng 2. Một số biểu diễn đặc trƣng các vị trí và chuyển tiếp của PN

Các vị trí thường biểu diễn các điều kiện, các chuyển tiếp biểu diễn các sự kiện và sự có mặt của ít nhất một thẻ trong một vị trí nào đó chỉ ra rằng điều kiện đó

26

được thỏa mãn. Một số biểu diễn đặc trung của các chuyển tiếp, các vị trí của mạng Petri cho các mô hình hệ thống có thể được liệt kê trong bảng 2.

3.2. Các đặc tính của mạng SPN.

3.2.1. Thực hiện tuần tự.

Trong hình chuyển tiếp t2 chỉ có thể kích hoạt sau khi kích hoạt t1 , vì chỉ sau khi kích hoạt chuyển tiếp t1 vị trí p2 nhận một thẻ, do đó chuyển tiếp t2 mới được phép kích hoạt. Điều này tuân thủ ràng buộc “t2 sau t1”. Nghĩa là kích hoạt tuần sự (sequence) t1 rồi t2.

Hình 3.1. Đặc tính tuần tự của PN

3.2.2. Đồng bộ.

Trong hình chuyển tiếp t1 sẽ được cho phép chỉ khi ở tất cả các vị trí đầu vào p1 và p2 của nó có ít nhất một dấu hiệu. Nếu p1 (hay p2) có dấu hiệu mà p2 hay ( p1 ) không có thẻ thì t1 không được phép. Tính chất này gọi là tính đồng bộ (synchronization), nó thường được ứng dụng khi có một trạng thái “chờ” đối với các tài nguyên hay bản tin.

Hình 3.2. Đặc tính đồng bộ của PN

3.2.3. Kết hợp.

Trong hình chuyển tiếp t được phép kích hoạt khi có sự đồng bộ của hai vị trí vào p1 và p2 (nghĩa là chúng đều có thẻ ít nhất một thẻ). Sự kích hoạt của chuyển

27

tiếp t1 kết hợp (merging) lấy đi một thẻ từ tất cả các vị trí vào và bổ sung một thẻ vào vị trí ra p3.

Hình 3.3. PN thể hiện sự kết hợp các thẻ từ các vị trí vào của chuyển tiếp t1

3.2.4. Đụng độ.

Đụng độ (conflict) hay lựa chọn (choice) được thể hiện trong hình. Các chuyển tiếp t1 và t2 đều được phép, nhưng vì vị trí p1 chỉ có một thẻ, nên khi chuyển tiếp t1 kích hoạt, thì chuyển tiếp t2 sẽ không được phép vì lúc đó không có thẻ trong vị trí p1 nữa. Cũng tương tự, nếu chuyển tiếp t2 kích hoạt thì chuyển tiếp t1 sẽ không thể kích hoạt được nữa. Như thế t1 và t2 đụng độ sử dụng tài nguyên (1 thẻ) của vị trí p1.

Hình 3.4. PN thể hiện sự đụng độ của các chuyển tiếp t1, t2

3.2.5. Tương tranh.

Trong hình các hoạt động tương tranh của các chuyển tiếp t2 và t3 bắt đầu khi kích hoạt chuyển tiếp t1 và kết thúc bằng kích hoạt chuyển tiếp t4.

28

Hai chuyển tiếp được gọi là tương tranh nếu chúng độc lập với nhau, nghĩa là một chuyển tiếp có thể kích hoạt trước hoặc sau hoặc đồng thời với chuyển tiếp còn lại (như trường hợp t2 và t3). Với đặc tính này PN có thể mô hình các hệ thống điều khiển phân tán với nhiều quá trình thực hiện tương tranh theo thời gian.

3.2.6. Hỗn độn.

Sự hỗn độn (confusion) xuất hiện khi cùng có cả đụng độ và tương tranh (conflict + concurency). Trong hình 3.6a là hỗn độn đối xứng, vì cả chuyển tiếp t1 và t2 tương tranh nhau trong khi từng chuyển tiếp t1 và t2 lại đụng độ với t3. Hình 3.6b là hỗn độn bất đối xứng, vì t1 tương tranh với t2 nhưng sẽ đụng độ với t3 nếu t2 kích hoạt trước.

Hình 3.6. Đặc tính hỗn độn của PN 3.3. Mô phỏng hệ thống mạng SPN.

3.3.1. SPN.

Mô hình SPN là một đồ thị có hướng. Trong đó các đỉnh là: các place đại diện bởi các hình tròn, các transition đại diện bởi các hình chữ nhật: hình chữ nhật đen là transition tức thời (immediate transition – i-transition), hình chữ

nhật trắng là các transition gắn thời gian (timed transition – t-transition). Các đỉnh khác loại nối với nhau bởi các cung, đối với đỉnh là transition tương ứng có

các cung vào (input arc), cung ra (output arc), cung ức chế (inhibitor arc) phân biệt bởi đoạn thẳng có hình tròn ở đầu. Mỗi place có chứa các token, được biểu (adsbygoogle = window.adsbygoogle || []).push({});

29

dụng nguyên gốc các thuật ngữ: place, transition, token). Một sự phân bố các

token tại mỗi place là một hình trạng (marking) của SPN

Về mặt hình thức, SPN được định nghĩa như sau [12]:

Định nghĩa 1: Một SPN được biểu diễn bởi: SPN = (P, T, I, O, M0 ,λ)

P = (p1, p2, …., pm): tập hợp các vị trí. T = (t1, t2, …, tn): tập hợp các chuyển tiếp. I : Tập các cung vào; I(ti) = {pj∈ P : (pj, ti) } O: Tập các cung ra; O(ti) = {pj∈ P : (ti , pj ) } M0 = (M01 , M02 , …., M0m) đánh dấu ban đầu.

λ: T R – tập hợp các tốc độ kích hoạt

Thời gian kích hoạt được phân bố mũ và phấn bố của biến ngẫu nhiên của thời gian kích hoạt của chuyển tiếp ti được cho bằng hàm phân bố tích lũy.

Chuyển tiếp được phép với trễ kích hoạt nhỏ nhất sẽ kích hoạt và thay đổi đánh dấu. Khi một chuyển tiếp có thời gian được phép, thời gian trễ kích hoạt giảm dần ở tốc độ không đổi. Nếu chuyển tiếp không được phép do sự kích hoạt của chuyển tiếp đụng độ, thì thời gian dừng lại, và sự giảm dần thời gian sẽ được phục hồi lại (có thể với tốc độ khác) khi chuyển tiếp được phép trở lại.

Ngoài các thành phần cơ bản trên, hiện nay để mô phỏng các hệ thống phức tạp, người ta còn thêm vào một số thành phần mở rộng tạo nên mạng Stochastic Reward (SRN) [7, 12]

Ý nghĩa các thành phần của SPN trong mô phỏng hệ thống:

Place: Đại diện cho tài nguyên hay tình trạng của tài nguyên.

Transition: Đại diện cho một sự kiện trong chuỗi sự kiện xảy ra trong quá

trình hoạt động của hệ thống.

i-transition: Đại diện cho sự kiện xảy ra tức thời khi mà điều kiện kích hoạt được thoả mãn.

t-transition: Đại diện cho sự kiện cần trải qua thời gian trể trước khi kích hoạt

Cung: Đại diện cho luồng vào và luồng ra của hệ thống.

Token: Bản thân token không có ý nghĩa bằng số lượng token. Số lượng token đại diện cho số lượng tài nguyên, số lượng yêu cầu... Số lượng token kết

30

hợp với các place và các cung cấu thành điều kiện để kích hoạt một transition (cấu thành một sự kiện). Sự lưu chuyển token thể hiện hoạt động của hệ thống. Sự phân bố các token đại diện cho các trạng thái của hệ thống.

Xuất phát từ ý nghĩa trên [12]:

- Cấu trúc của hệ thống có thể được mô phỏng bởi sự biểu diễn về mặt hình học các thành phần của SPN (place, transition, token, cung).

- Hoạt động của hệ thống có thể được mô phỏng bởi sự lưu chuyển các token (chính là sự biến đổi các trạng thái của hệ thống) giữa các đỉnh của SPN thông qua sự kích hoạt của các transition (hay sự xuất hiện của các sự kiện). Đây chính là quá trình mô tả hành vi trong mô phỏng hệ thống.

Định nghĩa 2: Một transition t gọi là có khả năng kích hoạt (enabled)

trong một hình trạng m khi mà mọi place đầu vào của t chứa số token không nhỏ hơn trọng số của cung liên kết và mọi place đầu vào ức chế có số lượng token nhỏ hơn trọng số của cung ức chế liên kết.

Định nghĩa 3: Hình trạng m tồn tại một i-transition có khả năng kích hoạt

được gọi là hình trạng vô hình (vanishing marking). Ngược lại, ta có hình trạng hữu hình (tangible marking).

Một transition có khả năng kích hoạt t được chọn kích hoạt sẽ trải qua một khoảng thời gian trễ tuân theo phân bố hàm mũ (nếu là i-transition thì thời gian trễ bằng 0) trước khi kích hoạt. Khi kích hoạt, t sẽ loại khỏi các place vào

(kết nối với t thông qua cung vào) số lượng token tương ứng với trọng số của cung liên kết và đưa ra place ra (kết nối với t thông qua cung ra) số token tương ứng với trọng số của cung liên kết.

Phương pháp nhớ (memory policy) được bổ sung thêm vào chính sách để lưu lại các thông tin lịch sử kích hoạt, phương pháp nhớ gồm các phương pháp con sau: (adsbygoogle = window.adsbygoogle || []).push({});

Phương pháp nhớ mức thấp: Trong phương pháp này, tại hình trạng hiện tại, nếu transition ti vẫn tiếp tục giữ khả năng kích hoạt có được từ các nhịp trước nhưng tại đó không được chọn kích hoạt thì sẽ không phải khởi tạo lại gốc thời gian khi đem so sánh với các transition có khả năng kích hoạt khác.

31

Phương pháp nhớ mức cao: Phương pháp này, ngoài khả năng lưu vết các transition vẫn tiếp tục giữ khả năng kích hoạt, còn có khả năng lưu vết một transition khi nó không có khả năng kích hoạt ở nhịp sau, để đến khi nó lại có khả năng này ở một nhịp nào đó trong tương lai thì gốc thời gian không phải khởi tạo lại.

3.3.2. Các bước mô phỏng hệ thống.

Bƣớc 1: Xác định các hoạt động, chuỗi sự kiện của hành động và tài nguyên

cần thiết cho quá trình hoạt động của hệ thống.

Bƣớc 2: Sắp đặt các hoạt động theo mối quan hệ nhân quả xác định

trước (hoạt động nào kéo theo hoạt động nào)

Bƣớc 3: Mỗi hoạt động hoặc sự kiện sẽ được đại diện bởi một transition. Bƣớc 4: Các tài nguyên cần thiết, các trạng thái trải qua trong quá

trình hoạt động của tài nguyên được đại diện bởi các place.

Bƣớc 5: Xác định đánh dấu ban đầu của hệ thống. Bƣớc 6: Chọn lựa chiến lược hoạt động.

3.4. Xây dựng cây trạng thái.

Cây trạng thái của hệ thống được thể hiện thông qua tập hình trạng của SPN, với mỗi hình trạng đại diện cho một trạng thái. Gọi:

RS (Reachability Set) là tập hình trạng của hệ thống. NM (New Marking) là tập hình trạng mới chưa được xét. Et(M0) là tập các transition có khả năng kích hoạt tại hình trạng m.

Thuật toán xây dựng cây trạng thái với tư tưởng của thuật toán là [12]: Xuất phát từ hình trạng ban đầu, ta xác định các transition có khả năng kích hoạt (chính là các sự kiện có thể xảy ra trong hệ thống), lần lượt kích hoạt các transition để tạo ra các hình trạng mới (trạng thái mới của hệ thống), đồng thời lưu trữ các thông tin về phép chuyển đổi hình trạng đó để tạo ra ma trận Q'. Công việc được tiếp tục lặp lại với các hình trạng mới (theo nghĩa không có trong tập các hình trạng đã có), đến khi không thể nảy sinh ra một hình trạng mới nào.

1. input {P, T, I, O, M0, λ} 2. NM := {M0}; RS := {M0}

32

3. while NM ≠

4. begin 5. let m ∈ NM

6. NM := NM - {m} 7. for all t Et(m)

8. begin 9. let m →t m' 10. store_Q’(m,m',W(t,m)) 11. if m' ∉ RS 12. then NM := NM ∪ {m'} 13. RS := RS ∪ {m'} 14. else mark(m’) 15. end 16. end 17. p(0) = (1,0,...,0) 18. Output RS, Q’, p(0)

Với đầu vào là SPN trải qua thuật toán trên chúng ta thu được tập hình trạng của SPN, đồng thời thu được ma trận Q’ có số chiều bằng số trạng thái trong hệ thống và xác suất thời điểm ban đầu p(0) phục vụ cho quá trình xây dựng CTMC sau này.

CTMC – Continuous Time Markov Chain – được xác định theo quan hệ sau: P {Xn+1=xn+1/Xn=xn,...,X0=x0} = P {Xn+1=xn+1/Xn=xn} (1)

Với Xi∈Τ là trạng thái tại thời điểm ti, T là tập trạng thái, t0 < t1 <… < tn+1 . Do thời gian là liên tục mà không gian trạng thái lại rời rạc, nên khi đạt đến một trạng thái thái CTMC sẽ “ở” trạng thái đó trong một khoảng thời gian gọi là thời gian trễ (residence time).

tuân theo phân bố xác suất mũ với hàm phân bố:

33

Vì vậy một CTMC được đại diện bởi ma trận Q và véc-tơ xác suất thời điểm ban đầu p(0), trong đó, các phần tử của ma trận Q chính là thành phần tốc độ (µi)

dùng để xác định thời gian trễ tại mỗi trạng thái i

Trong SPN do yếu tố thời gian được gắn với t- transition nên các phần tử của ma trận Q lúc này chính là tốc độ kích hoạt của t-transition. Q được xây dựng từ Q' sau khi đã loại các phần tử tương ứng với các hình trạng (trạng thái) vô hình (định nghĩa 3) (do trạng thái này thực tế không tồn tại, hệ thống

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Phương pháp đánh giá hiệu năng hệ thống sử dụng umlstate machine và stochastic petri nets (Trang 30)