Đo đánh giá sự phù hợp của mô hình quá trình và nhật ký sự

Một phần của tài liệu KIỂM TRA sự PHÙ hợp mô HÌNH QUÁ TRÌNH và NHẬT ký sự KIỆN BẰNG PHƯƠNG PHÁP PHÁT lại (Trang 28)

Xem xét ví dụ sau về quá trình yêu cầu bồi thường trong một công ty bảo hiểm. Nó mô tả một thủ tục tưởng tượng (nhưng cũng có thể là thực tế) và đưa ra cấu trúc luồng điều khiển liên quan đến ngữ cảnh của kiểm tra sự phù hợp.

Hình 2.1: Ví dụ mô hình lưới Petri mô tả quá trình bồi thường của một công ty

Theo Hình 2.1, đầu tiên có hai tác vụ cùng mang nhãn “Set Checkpoint” (sử dụng A như là cách viết tắt của nhãn đó). Nó có thể được dùng như một hành động sao lưu tự động trong bối cảnh của một hệ thống giao dịch. Tức là hoạt động A được thực hiện ngay từ đầu để xác định một điểm quay lui nguyên tố được kích hoạt của toàn bộ quá trình, và ở cuối để đảm bảo độ bền vững của kết quả. Sau đó, quy trình kinh doanh thực tế bắt đầu với sự phân biệt yêu cầu bồi thường giá trị thấp hay yêu cầu bồi thường giá trị cao, được kí hiệu là B và C trong hình vẽ. Chính sách của khách hàng luôn được kiểm tra (D), nhưng trong trường hợp yêu cầu bồi thường có giá trị cao, cần bổ xung tư vấn của chuyên gia (G) và sau đó yêu cầu bồi thường được kiểm tra chi tiết hơn (H), hai tác vụ hoàn thành E và F có thể được xem như hai quá trình con khác nhau tham gia đưa ra quyết định và thanh toán tiềm năng. Chú ý rằng sự lựa chọn giữa E và F bị ảnh hưởng bởi sự lựa chọn giữa B và C (tức là mô hình không thuộc vào lớp free choice - lựa chọn tự do).

Ta xem xét ba ví dụ nhật ký sự kiện cho quá trình được mô tả ở trên, điều này là có thể vì chỉ có quan điểm luồng điều khiển được xem xét ở đây. Chú ý rằng không có một nhật ký sự kiện nào có chứa chuỗi ACGHDFA mặc dù mô hình cho phép chuỗi đó. điều này cũng dễ hiểu bởi lẽ không một nhật ký sự kiện nào có thể thể hiện tất cả

các chuỗi có thể, bởi vì mô hình quá trình thường cho phép nhiều hơn những trường hợp quan sát được.

Hình 2.2: Những nhật ký sự kiện của quá trình bồi thường

Câu hỏi chiếm ưu thế nhất trong ngữ cảnh của kiểm tra sự phù hợp là liệu quá trình kinh doanh thực tế có phù hợp với hành vi được quy định, tức là liệu nhật ký sự kiện có phù hợp với mô hình. Đối với mô hình ví dụ, nó dường như phù hợp với nhật ký sự kiện L1, vì mọi chuỗi trong L1 đều có thể được liên kết với một đường đi hợp lệ trên mô hình từ vị trí “Start” đến “End”. Nhật ký sự kiện L2 không khớp hoàn toàn bởi vì những chuỗi ACHDFA và ACDHFA thiếu sự thực thi của hành động G, trong khi nhật ký sự kiện L3 thậm chí không bao gồm một chuỗi nào tương ứng với hành vi được quy định. Bằng một cách nào đó, dường như L3 không phù hợp bằng L2, và cần thiết đo lường mức độ phù hợp theo quan niệm trực giác của sự phù hợp.

Hình 2.3: Ví dụ về mô hình quá chính xác và quá chung chung

Có những chiều định tính khác nhau của sự phù hợp, mà có thể minh họa bằng việc liên kết nhật ký L2 với mô hình M2 và M3 (trong Hình 2.3). Mặc dù nhật ký phù hợp tốt với 2 mô hình, tức là những chuỗi sự kiện trong nhật ký có thể được khớp hoàn hảo với chuỗi thực thi hợp lệ của những tác vụ trong mô hình. Chúng dường

không phù hợp trong việc mô tả các quá trình quản lý bồi thường bảo hiểm. Mô hình M2 quá chung chung, nó bao gồm quá nhiều hành vi thêm, nó cho phép những chuỗi tùy ý của các hành động A, B, C, D, E, F, G, H. Trong khi đó mô hình M3 không cho phép thêm bất kỳ chuỗi nào không được quan sát trong nhật ký, nó chỉ liệt kê những chuỗi có thể thay vì thể hiện các hành vi quy định trong một cách có ý nghĩa. Do đó nó không cung cấp một hiểu biết tốt hơn về mô hình quá trình. Điều này cho thấy rằng các mô hình phù hợp cần phải là một đại diện tốt của những hành vi được quan sát.

Do đó cần phải đánh giá sự phù hợp của mô hình trên nhiều góc độ khác nhau:

Hình 2.4: Những góc độ đánh giá sự phù hợp

Theo WMP Van der Aalst và cộng sự [4, 6, 13, 14, 16], việc đánh giá mô hình có

thể diễn ra trong những chiều trực giao sau: fitness, precision/generalization và structure.

Fitness: cho biết bao nhiêu hành vi được quan sát là phù hợp với mô hình. Tức

là mô hình sinh ra được càng nhiều hành vi được quan sát trong nhật ký sự kiện càng tốt) Ví dụ một mô hình M5 chỉ sinh được một chuỗi ABCDEA mà không sinh được các chuỗi khác có trong nhật ký sự kiện, như vậy nó có độ đo fitness thấp.

Precision/generalization: cho biết mô hình là quá tổng quát hay quá chính xác.

Tức là mô hình sinh ra càng ít hành vi không được quan sát trong nhật ký sự kiện càng tốt. Ví dụ: một mô hình M2 cho phép thực hiện tất cả các hành động từ A - H theo bất kí thứ tự nào, thì mô hình đó có độ fitness cao nhưng lại có độ precision thấp. Hơn nữa ví dụ một mô hình M3 chỉ cho phép thực thi đúng 5 chuỗi trong nhật ký sự kiện, do đó không có sự tổng quát hóa nào được thực hiện trong mô hình đó.

Structure: thể hiện sự phù hợp cấu trúc của mô hình. Tức là mô hình mô tả các

hành vi với cấu trúc càng đơn giản và gọn gàng càng tốt. Được xác định qua những từ vựng trong ngôn ngữ mô hình hóa. Có nhiều cách để thể hiện cùng một hành vi tương tự, và có thể có cách phù hợp hay ít phù hợp hơn. Ví dụ một mô hình M3 có độ đo fitness và precision cao nhưng lại chứa quá nhiều sự kiện trùng lặp thì sẽ khiến nó khó hiểu đối với người dùng.

2.2. Hƣớng tiếp cận dựa trên phƣơng pháp phát lại trong bài toán kiểm tra sự phù hợp của mô hình quá trình và nhật ký sự kiện.

Hình 2.5: Ý tưởng phương pháp phát lại

Phương pháp phát lại:

Phương pháp này sử dụng một nhật ký sự kiện và một mô hình quá trình như là dữ liệu đầu vào. Nhật ký sự kiện này được phát lại bên trên mô hình quá trình. Tức là cho từng dấu vết trong nhật ký sự kiện đi qua mô hình quá trình, theo đúng trình tự những sự kiện trong từng dấu vết đó. Bằng cách kiểm tra kết quả của quá trình phát lại để định lượng được các độ đo đã trình bày ở trên.

2.2.1. Fitness

Một cách tiếp cận đơn giản đối với kiểm tra sự phù hợp của mô hình quá trình và nhật ký sự kiện là chỉ đếm những dấu vết có thể được phân tích hoàn toàn bởi mô hình (tức là tỉ lệ của những dấu vết tương ứng với chuỗi cháy bắt đầu từ vị trí khởi tạo, và kết thúc tại vị trí kết thúc của mô hình). Cách tiếp cận này xem xét độ đo fitness ở mức độ trường hợp đầy đủ. Tuy nhiên sử dụng cách tiếp cận này, những dấu vết trong nhật ký sự kiện đơn giản chỉ được phân lớp vào phù hợp hay không phù hợp mà không đề cập đến rằng một dấu vết có thể hầu hết phù hợp với mô hình hay hoàn toàn không phù hợp. Do đó, độ đo fitness nên được xem xét ở mức độ sự kiện hơn là mức độ trường hợp đầy đủ.

Trong tính toán độ đo fitness ở mức độ trường hợp, một dấu vết được dừng phát lại khi gặp phải một vấn đề (không thể thực hiện tiếp, hay dấu vết đó không đạt đến vị trí kết thúc của mô hình khi quá trình phát lại kết thúc) và đánh dấu nó là không phù hợp. Thì trong cách tiếp cận ở mức độ sự kiện, ta tiếp tục thực hiện quá trình phát lại dấu vết đó trên mô hình quá trình nhưng ghi lại tất cả những tình huống khi xảy ra một trong số những vấn đề dừng nói trên. Ví dụ như: khi mà một thanh chuyển bị ép buộc cháy mà không được kích hoạt, tức là tiến hành đếm những thẻ bị thiếu trong quá trình phát lại. Hơn nữa, cần ghi lại những thẻ còn lại trong mô hình khi quá trình phát lại kết thúc. Sau đó sử dụng những số liệu ghi nhận lại từ các thẻ này để tính toán độ đo fitness. Để giải thích ý tưởng này và minh họa rõ hơn về thủ tục phát lại, một ví dụ sau đây được xem xét:

Ví dụ này thể hiện quá trình phát lại của dấu vết đầu tiên trong nhật ký sự kiện L2 trên mô hình M1, trong đó m là số đếm những thẻ thiếu trong quá trình phát lại, r là số đếm những thẻ còn lại trong mô hình quá trình khi quá trình phát lại kết thúc, c là số đếm những thẻ đã được dùng, và p là số đếm những thẻ được sinh ra trong quá trình phát lại. Khi bắt đầu (a), một thẻ được sinh ra cho vị trí Start trong mô hình. Khởi tạo m = 0, r = 0, c = 0, p = 1. Sự kiện đầu tiên trong dấu vết là A, được liên kết với 2 thanh chuyển (B, C) trong mô hình, tuy nhiên chỉ một trong chúng được kích hoạt. Do đó trong pha (b), quá trình cháy tiêu thụ một thẻ trong vị trí Start và sinh ra một thẻ cho vị trí c1 (c = 1, p = 2). Đối với sự kiện tiếp theo, thanh chuyển tương ứng B được kích hoạt và có thể cháy. Trong pha (c), quá trình cháy tiêu thụ thẻ ở vị trí c1 và sinh ra hai thẻ cho hai vị trí c2 và c5 (c = 2, p = 4). Sau đó thanh chuyển tương ứng D được kích hoạt và có thể cháy. Trong pha (d), quá trình cháy tiêu thụ thẻ ở vị trí c2 và sinh ra một thẻ cho vị trí c3 (c = 3, p = 5). Tương tự như vậy, thanh chuyển liên kết với sự kiện tiếp theo E được kích hoạt và có thể cháy. Trong pha (e), quá trình cháy tiêu thụ hai thẻ ở vị trí c3 và c5 và sinh ra một thẻ cho vị trí c4 (c = 5, p = 6). Cuối cùng lại là một sự kiện loại A, thanh chuyển A này được kích hoạt và có thể cháy. Trong pha (f), quá trình cháy tiêu thụ thẻ ở vị trí c4 à sinh ra thẻ cho vị trí End (c = 6, p = 7). Trong bước cuối cùng thẻ tại vị trí End được tiêu thu và quá trình cháy (hay quá trình phát lại) của dấu vết trên mô hình hoàn thành. Tức là việc loại bỏ thẻ khỏi vị trí End được coi như một thẻ được tiêu thụ. Bởi vì trong quá trình phát lại này, không có thẻ thiếu hay thẻ còn lại trong mô hình, do đó dấu vết này hoàn toàn phù hợp với mô hình M1. Tương tự dấu vết thứ hai và thứ ba cũng có thể được phát lại mà không gặp bất kỳ vấn đề gì. Tức là không có thẻ thiếu hay thẻ còn lại trong mô hình.

Bây giờ ta xem xét quá trình phát lại của dấu vết thứ tư của nhật ký sự kiện L2: ACHDFA trên mô hình M1.

Tại hai pha ban đầu (a), (b) thủ tục là giống với ví dụ ta vừa xét, chỉ thay thanh chuyển B được kích hoạt bằng thanh chuyển C. Trong pha (b), quá trình cháy tiêu thụ một thẻ ở vị trí c1 và sinh ra hai thẻ ở hai vị trí c2 và c6 (c = 2, p = 4). Nhưng khi cố gắng phát lại sự kiện tiếp theo, thanh chuyển tiếp theo H vẫn chưa được kích hoạt, do đó thẻ ở vị trí c7 được tạo ra nhân tạo, và được ghi lại như một thẻ bị thiếu (m = 1). Trong pha (d), thanh chuyển H cháy, tiêu thụ một thẻ ở vị trí c7, và sinh ra một thẻ ở vị trí c8 (c = 3, p = 5). Những sự kiện tiếp theo có thể được phát lại thành công trên mô hình. Nghĩa là những thanh chuyển liên kết với chúng được kích hoạt và có thể cháy. Trong pha (e), thanh chuyển D cháy, tiêu thụ một thẻ ở vị trí c2 và sinh ra một thẻ ở vị trí c3 (c = 4, p = 6). Trong pha (f), thanh chuyển F cháy, tiêu thụ hai thẻ ở vị trí c3 và c8, sinh ra một thẻ ở vị trí c4 (c = 6, p = 7). Trong pha (g), một trong hai thanh chuyển được liên kết A được kích hoạt và có thể cháy, tiêu thụ một thẻ ở vị trí c4 và sinh ra một thẻ ở vị trí End (c = 7, p = 8). Cuối cùng, thẻ tại vị trí End được tiêu thụ (c = 8). Nhưng vẫn còn một thẻ còn lại tại vị trí c6, điều đó có nghĩa là dấu vết này không hoàn thành đúng (r = 1). Một vấn đề tương tự sẽ gặp phải trong suốt quá trình phát lại của dấu vết cuối cùng trong nhật ký sự kiện L2: ACDHFA (r = 1, m = 1).

Chú ý rằng: trong suốt quá trình phát lại, tác vụ trùng lặp A có thể không gây lên vấn đề gì miễn là chọn chính xác một trong số chúng và kích hoạt trong cùng một thời điểm. Tuy nhiên, khi nhiều tác vụ trùng lặp cùng được kích hoạt, hay không có bất kỳ số nào trong chúng, tình huống đó lại trở nên phức tạp hơn. Việc chọn lựa phái được tiến hành chính xác để kích hoạt đúng tác vụ để thỏa mãn quy trình.

Theo A. Rozinat và WMP Van der Aalst [6], độ đo fitness theo mức độ sự kiện

được tính như sau:

Fitness: Cho k là số những trường hợp khác nhau trong toàn bộ nhật ký sự kiện.

Với mỗi trường hợp là số những trường hợp quá trình kết hợp trong trường hợp , là số thẻ thiếu, là số thẻ còn lại, là số thẻ tiêu thụ, là số thẻ được sinh ra trong quá trình phát lại của trường hợp i. Giá trị của fitness được tính như

sau:

∑ ∑

( ) ( )

∑ ∑

2.2.2. Precision

Trong khi fitness kiểm tra xem mô hình có thể sinh ra được càng nhiều hành vi được quan sát trong nhật ký sự kiện càng tốt, thì precision lại kiểm tra xem mô hình sinh ra càng ít sự kiện không chứa trong nhật ký sự kiện càng tốt. Ý tưởng là mô hình mong đợi mô tả quá trình càng chính xác càng tốt. Mô hình mô tả quá chung chung hay quá chính xác là những mô hình không tốt vì chúng không mang lại mô hình với nhiều ý nghĩa thông tin (ví dụ mô hình M2, cho phép bất kì chuỗi sự kiện nào do đó quá chung chung, hay mô hình M3 chỉ cho phép đúng 5 chuỗi sự kiện trong nhật ký sự kiện do đó quá chính xác).

Cách tiếp cận đầu tiên để đo lượng những hành vi có thể, là xác định số những thanh chuyển được kích hoạt trong quá trình phát lại. Điều này tương đương với ý tưởng, sự tăng lên của những lựa chọn thay thế hay song song cũng làm tăng lên những hành vi tiềm năng do đó có số lượng thanh chuyển được kích hoạt cao hơn.

Theo A. Rozinat và WMP Van der Aalst [6], độ đo Precison đơn giản được tính như sau:

Precision: Cho k là số những trường hợp khác nhau trong toàn bộ nhật ký, với mỗi trường hợp là số những trường hợp quá trình kết hợp trong trường hợp , là số thực của những thanh chuyển được kích hoạt trong quá trình phát lại, m là số của những tác vụ hiện trong mô hình lưới Petri (không bao gồm tác vụ ẩn, và m > 1). Độ đo precision được tính như sau:

Giả sử rằng có ít nhất một tác vụ trong mô hình m > 1, có giá trị trong khoảng (0;1). Tuy nhiên có những vấn đề mà số liệu này chỉ được sử dụng như là phương tiện so sánh. Bởi vì đo lượng sự phù hợp bị ảnh hưởng bởi mức độ linh hoạt của mô hình.

Để độ đo precision độc lập với thuộc tính cấu trúc, độc lập với tính linh hoạt của mô hình. Những hành vi tiềm năng xác định bởi mô hình phải được phân tích và

Một phần của tài liệu KIỂM TRA sự PHÙ hợp mô HÌNH QUÁ TRÌNH và NHẬT ký sự KIỆN BẰNG PHƯƠNG PHÁP PHÁT lại (Trang 28)

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

(63 trang)
w