Xây dựng lưới Petri sử dụng vùng

Một phần của tài liệu Thuật toán phát hiện quá trình nâng cao dựa trên khái niệm vùng trạng thái luận văn ths công nghệ thông tin (Trang 42 - 45)

Việc xây dựng lưới Petri từ hệ thống chuyển dựa trên vùng được thực hiện qua các bước sau [2]:

1) Với mỗi một nhãn bước chuyển trong hệ thống chuyển ta thêm một transition vào lưới Petri.

3) Với mỗi vùng tối thiểu-không tầm thường trong hệ thống chuyển ta thêm một vị trí vào lưới Petri.

4) Các cung (arcs) tương ứng được sinh ra.

5) Một token được thêm vào mỗi vị trí tương ứng trong vùng chứa trạng thái khởi tạo.

6) Kết quả lưới Petri được gọi là một lưới tối thiểu bão hòa (minimal saturated net).

Hình 3.6 : Chuyển đổi “hệ thống chuyển” thành “lưới Petri”[1]

Bằng cách áp dụng định nghĩa về vùng, chúng ta tìm được 6 vùng nhỏ nhất. Xem xét ví dụ với vùng R1 = {[a], [a, c]}. Tất cả các bước chuyển có nhãn a trong hệ thống chuyển đều đi vào R1 (ở đây chỉ có một bước chuyển), tất cả các bước chuyển gán nhãn b đều đi ra khỏi R1 (có hai bước chuyển như vậy), tất cả các bước chuyển có nhãn là e cũng đều đi ra khỏi R1 (chỉ có một bước

chuyển), và tất cả các bước chuyển khác trong hệ thống chuyển đều không giao cắt vùng R1. Do đó, R1 là một vùng tương ứng với vị trí p1 với bước chuyển đầu vào là a, bước chuyển đầu ra là b và e. R2 = {[a], [a, b]} là một vùng khác: a đi vào R2, c và e đi ra khỏi R2, và tất cả các bước chuyển khác trong hệ thống chuyển đều không giao cắt R2. R2 là vùng tương ứng với vị trí p2 trong hình 3.6. Trong lưới Petri xây dựng được dựa trên 6 vùng nhỏ nhất này, b và c là hai bước chuyển đồng thời.

Hình 3.6 cho thấy một quá trình nhỏ với rất ít đồng thời. Do đó, hệ thống chuyển và lưới Petri có kích cỡ tương đương nhau. Tuy nhiên, với các quá trình lớn hơn với nhiều đồng thời, kích cỡ của lưới Petri sẽ có thể giảm đáng kể so với kích cỡ hệ thống chuyển. Hệ thống chuyển mô hình hóa 10 hoạt động song song sẽ có 210 = 1024 trạng thái và 10 × 210-1 = 5120 bước chuyển, khi chuyển sang lưới Petri sẽ có thể giảm xuống chỉ còn 20 vị trí với 10 bước chuyển.

Hình 3.6 chỉ truyền tải ý tưởng cơ bản về các vùng. Việc tổng hợp mô hình dạng lưới Petri dựa vào các vùng trạng thái thực sự liên quan nhiều hơn và có thể tùy chỉnh phù hợp hơn cho các mô hình quá trình cụ thể. Bất kì hệ thống chuyển hữu hạn nào cũng đều có thể chuyển đổi thành một mô hình lưới Petri tương đương, nghĩa là, các thuộc tính của hệ thống chuyển và lưới Petri là giống nhau. Tuy nhiên, với một vài mô hình lưới Petri, có thể sẽ cần phải thực hiện phân tách nhãn (label splitting). Kết quả là, lưới Petri có thể có nhiều bước chuyển tương ứng với cùng một hoạt động. Hơn nữa, cũng cần phải thi hành mô hình lưới Petri thu được để có các tùy chọn cụ thể.

Các vùng trạng thái cổ điển nhằm cung cấp mô hình lưới Petri tương đương với hệ thống chuyển. Điều này có nghĩa là khi xây dựng lưới Petri, các hành vi sẽ không được khái quát hóa. Do đó, việc chọn hàm biểu diễn trạng thái rất quan trọng khi xây dựng hệ thống chuyển. Với các quá trình lớn hơn, hàm biểu diễn trạng thái như 𝑙1𝑠𝑡𝑎𝑡𝑒() chắc chắn sẽ cho một mô hình quá chi tiết, chỉ có thể biểu diễn lại nhật ký sự kiện mà không có một dạng khái quát hóa nào cả.

Nhiều hàm biểu diễn trạng thái có thể cân bằng giữa sự quá chi tiết và quá khái quát.

Chú ý: Có thể chuyển đổi từ lưới Petri sang một ngôn ngữ mô hình khác như PBMN, UML, Workflow net nếu muốn.

Một phần của tài liệu Thuật toán phát hiện quá trình nâng cao dựa trên khái niệm vùng trạng thái luận văn ths công nghệ thông tin (Trang 42 - 45)