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

  • Số trang: 60 |
  • Loại file: PDF |
  • Lượt xem: 32 |
  • Lượt tải: 1
nguyetha

Đã đăng 7932 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LƯU VĂN BA 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 THẠC SĨ HỆ THỐNG THÔNG TIN Hà Nội – 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LƯU VĂN BA 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 Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS HÀ QUANG THỤY Hà Nội – 2015 Lời cảm ơn Lời đầu tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới PGS.TS Hà Quang Thụy đã tận tình hướng dẫn và chỉ bảo tôi trong suốt quá trình nghiên cứu khoa học và thực hiện luận văn này. Tôi xin chân thành cảm ơn các thầy, cô đã tận tình dạy bảo, hướng dẫn nghiên cứu và tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình học tập và nghiên cứu tại trường. Tôi cũng xin gửi lời cảm ơn đến các anh chị, các bạn trong phòng thí nghiệm công nghệ tri thức KT-Lab của trường đại học Công Nghệ - Đại học quốc gia Hà Nội đã chia sẻ cho tôi rất nhiều về kiến thức chuyên môn trong quá trình tôi tham gia sinh hoạt tại đây. Luận văn thực hiện trong khuôn khổ đề tài QG.15.22 “Phát triển các kỹ thuât tiến tiến khai phá mẫu từ nhật ký sự kiện, xây dựng phần mềm và khung ứng dụng thử nghiệm tại doanh nghiệp Việt Nam”. Cuối cùng, tôi xin được gửi lời cám ơn vô hạn tới gia đình và bạn bè, những người đã luôn bên cạnh, giúp đỡ và động viên tôi trong quá trình học tập cũng như trong suốt quá trình thực hiện luận văn này. Tôi xin chân thành cảm ơn! Hà Nội, ngày 20 tháng 05 năm 2015 Học viên Lưu Văn Ba Lời cam đoan Tôi xin cam đoan nội dung được trình bày trong luận văn này là do tôi thực hiện dưới sự hướng dẫn của PGS.TS Hà Quang Thụy. Tất cả các tài liệu tham khảo và các nghiên cứu liên quan đều có nguồn gốc rõ ràng trong danh mục tài liệu tham khảo của luận văn. Trong luận văn, không có việc sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu tham khảo. Hà Nội, ngày 20 tháng 05 năm 2015 Học viên Lưu Văn Ba MỤC LỤC Danh mục các bảng..........................................................................................................1 Danh mục các hình vẽ, đồ thị .......................................................................................... 2 Mở đầu ............................................................................................................................. 4 Chương 1. GIỚI THIỆU VỀ KHAI PHÁ QUÁ TRÌNH ................................................6 1.1. Tổng quan về khai phá quá trình........................................................................6 1.1.1. Khai phá quá trình là gì ...............................................................................6 1.1.2. Vị trí của khai phá quá trình trong KHDL và Big data. .............................. 6 1.1.3. Mối liên hệ với khai phá dữ liệu .................................................................7 1.2. Các bài toán trong khai phá quá trình ................................................................ 8 1.2.1. Phát hiện quá trình ......................................................................................9 1.2.2. Kiểm tra độ phù hợp....................................................................................9 1.2.3. Tăng cường mô hình ...................................................................................9 1.3. Mô hình hóa quá trình ...................................................................................... 10 1.3.1. Nhật ký sự kiện (Event Logs) ...................................................................10 1.3.2. Các loại mô hình hóa quá trình .................................................................12 1.4. 1.3.2.1. Lưới Petri (Petri Nets) ........................................................................12 1.3.2.2. Hệ thống chuyển (Transition systems) ...............................................15 Tóm tắt chương 1 ............................................................................................. 17 Chương 2. PHÁT HIỆN QUÁ TRÌNH VÀ NHỮNG THÁCH THỨC ........................ 18 2.1. Bài toán phát hiện quá trình .............................................................................18 2.1.1. Phát biểu bài toán ...................................................................................... 18 2.1.2. Giới thiệu thuật toán Alpha .......................................................................19 2.2. Chất lượng mô hình kết quả .............................................................................25 2.3. Các thách thức trong phát hiện quá trình ......................................................... 26 2.4. Tóm tắt chương 2 ............................................................................................. 27 Chương 3. PHÁT HIỆN QUÁ TRÌNH DỰA TRÊN VÙNG TRẠNG THÁI ..............28 3.1. Giới thiệu phương pháp ...................................................................................28 3.2. Các bước thực hiện .......................................................................................... 29 3.2.1. Tạo hệ thống chuyển từ nhật ký sự kiện ...................................................29 3.2.1.1. Biểu diễn trạng thái ............................................................................29 3.2.1.2. Xây dựng hệ thống chuyển .................................................................32 3.2.2. 3.3. Chuyển đổi từ hệ thống chuyển sang lưới Petri ........................................34 3.2.2.1. Định nghĩa vùng .................................................................................34 3.2.2.2. Lựa chọn vùng ....................................................................................36 3.2.2.3. Xây dựng lưới Petri sử dụng vùng ..................................................... 36 Nhận xét đánh giá ............................................................................................ 39 3.3.1. Ưu nhược điểm của phương pháp ............................................................. 39 3.3.2. Giới thiệu một số đề xuất mô hình cải tiến ...............................................39 3.4. Tóm tắt chương 3 ............................................................................................. 42 Chương 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ.............................................................. 44 4.1. Mô tả thực nghiệm ........................................................................................... 44 4.1.1. Công cụ: ....................................................................................................44 4.1.2. Dữ liệu thực nghiệm:.................................................................................44 4.1.3. Các bước thực hiện: ..................................................................................44 4.1.4. Tiến hành thực nghiệm:.............................................................................44 4.2. Đánh giá và kết luận ........................................................................................ 51 KẾT LUẬN VÀ ĐỊNH HƯỚNG NGHIÊN CỨU TIẾP ..............................................52 TÀI LIỆU THAM KHẢO ............................................................................................. 53 1 Danh mục các bảng Bảng 1.1: Một phân đoạn của nhật ký sự kiện cho yêu cầu bồi thường [1] ..................10 Bảng 2.1: Bảng ví dụ về song kết nối cực đại và không cực đại [2] ............................. 20 Bảng 3.1: Ví dụ về các cách biểu diễn trạng thái cho một nhật ký sự kiện [1] .............33 Bảng 3.2: Bảng ví dụ về vùng và không phải là vùng [2] .............................................36 2 Danh mục các hình vẽ, đồ thị Hình 1.1: Vị trí của khai phá quá trình trong khoa học dữ liệu [2] .................................6 Hình 1.2: Vai trò cầu nối của khai phá quá trình [6] ....................................................... 7 Hình 1.3: Các bài toán trong khai phá quá trình [2] ........................................................ 8 Hình 1.4: Lưới Petri và các thành phần [1] ...................................................................12 Hình 1.5: Ví dụ về marking của một lưới Petri cho hệ thống đèn giao thông [2] .........13 Hình 1.6: Bước chuyển được kích hoạt và có thể cháy [2] ...........................................14 Hình 1.7: Một hệ thống chuyển có một trạng thái khởi đầu..........................................15 và một trạng thái kết thúc[1] ......................................................................................... 15 Hình 2.1: Bài toán phát hiện quá trình [1] .....................................................................18 Hình 2.2: Ví dụ cặp tập song kết nối (A,B) [2] ............................................................. 20 Hình 2.3: Vị trí p(A,B) kết nối các bước chuyển trong tập A và B [2] ............................ 21 Hình 2.4: Kết quả thuật toán α cho L5 [1].....................................................................22 Hình 2.5: Ví dụ hạn chế dư thừa của thuật toán α [2] ...................................................23 Hình 2.6: Ví dụ hạn chế chu trình bằng 1 của thuật toán α [2] .....................................23 Hình 2.7: Ví dụ hạn chế chu trình bằng 2 của thuật toán α [2] .....................................24 Hình 2.8: Ví dụ hạn chế phụ thuộc không địa phương của thuật toán α [2] .................24 Hình 2.9: 4 tiêu chí chất lượng cho mô hình kết quả [1]...............................................25 Hình 2.10: Ví dụ 4 mô hình khác nhau cho cùng một nhật ký sự kiện [1] ...................26 Hình 3.1: Mô hình phát hiện quá trình dựa trên vùng trạng thái [2] ............................. 28 Hình 3.2: Ví dụ trạng thái của một vết [2] ....................................................................29 Hình 3.3: Trạng thái của một vết thể hiện qua các thành phần past, future [2] ............29 Hình 3.4: Các cách biểu diễn trạng thái của vết theo các mức độ trừu tượng [4] .........31 Hình 3.5 : Vùng R tương ứng với vị trí pR [1] .............................................................. 34 Hình 3.6 : Chuyển đổi “hệ thống chuyển” thành “lưới Petri”[1] ..................................37 Hình 3.7 Sử dụng Foldings trong phát hiện quá trình dựa trên vùng [5] ...................... 40 Hình 3.8 : Tổng quan mô hình phân chia trong kiểm tra độ phù hợp[6] ...................... 41 Hình 3.9 : Tổng quan mô hình phân chia trong phát hiện quá trình [6] ........................ 42 Hình 4.1: Thông tin nhật ký sự kiện L6 ........................................................................45 3 Hình 4.2: Mô hình quá trình của L6 dựa trên thuật toán Alpha ....................................46 Hình 4.3: Hệ thống chuyển trạng thái của L6 ............................................................... 46 Hình 4.4: Mô hình quá trình của L6 dựa trên vùng trạng thái ......................................47 Hình 4.5: Thông tin nhật ký sự kiện L9 ........................................................................48 Hình 4.6: Mô hình quá trình của L9 dựa trên thuật toán Alpha ....................................48 Hình 4.7: Hệ thống chuyển trạng thái của L9 ............................................................... 49 Hình 4.8: Mô hình quá trình của L9 dựa trên vùng trạng thái ......................................49 Hình 4.9: Thông tin nhật ký sự kiện Hospital log ......................................................... 50 4 Mở đầu Ngày nay cùng với việc phát triển của khoa học công nghệ, đặc biệt là lĩnh vực công nghệ thông tin dữ liệu sinh ra từ các hệ thống thông tin, thiết bị công nghệ, máy móc, Internet,…ngày càng bùng nổ về số lượng cũng như tốc độ thay đổi, tính đa dạng từ các nguồn khác nhau dẫn đến những thách thức không nhỏ trong ngành khoa học dữ liệu. Các kỹ thuật khai phá dữ liệu (data mining) đã, đang và sẽ đóng vai trò vô cùng quan trọng trong việc trích xuất tri thức từ dữ liệu đã có từ đó có thể tạo lợi thế canh tranh lớn trong kinh doanh. Tuy nhiên các kỹ thuật này mới chỉ tập trung chủ yếu vào đặc tính của dữ liệu mà đã bỏ qua một yếu tố vô cùng quan trọng là quá trình thay đổi dữ liệu đã diễn ra như thế nào? Để làm rõ vai trò quan trọng của yếu tố quá trình (process) này chúng ta cùng xem xét một ví dụ điển hình đó là các hệ thống thông tin trong các tổ chức kinh doanh nghiệp vụ. Các hệ thống thông tin này thường hỗ trợ khả năng ghi chép, tức là lưu lại những gì đã được thực hiện trong quá trình hoạt động của tổ chức. Loại dữ liệu sự kiện này ngày càng nhiều và có mặt ở khắp nơi. Trong khi đó, các tổ chức, doanh nghiệp vẫn chỉ lên kế hoạch hoạt động bằng các mô hình quá trình xây dựng thủ công với nhiều hạn chế, hay xác định các vấn đề trong quá trình hoạt động qua những nhận định và nắm bắt chủ quan, nhiều khi sai lệch thực tế. Thông tin trong dữ liệu sự kiện là chi tiết, chân thực và khách quan về chính những gì tổ chức đang cố gắng quan sát và nắm bắt. Nếu tổ chức tận dụng được những thông tin này thì điều đó có thể hỗ trợ rất nhiều cho các quá trình kinh doanh. Từ những yếu tố trên, khai phá quá trình đã ra đời và trở thành đề tài nóng được nhiều nhà khoa học quan tâm nghiên cứu. Phát hiện quá trình là một trong ba bài toán chính của khai phá quá trình với mục tiêu xây dựng mô hình chỉ từ nhật ký sự kiện mà không sử dụng bất kì một mô hình hay thông tin tiền nghiệm nào khác. Có rất nhiều thuật toán, phương pháp phát hiện quá trình khác nhau. Ví dụ: thuật toán α, α+, α++, khai phá kinh nghiệm, khai phá di truyền, khai phá dựa trên vùng… Mỗi loại đều có những điểm mạnh điểm yếu riêng. Luận văn sẽ tập trung giới thiệu phương pháp phát hiện quá trình nâng cao dựa trên vùng trạng thái. Nâng cao ở đây được hiểu với ý nghĩa đây là một thuật toán ra đời sau, có nhiều ưu điểm hơn các thuật toán kinh điển ban đầu như thuật toán α. 5 Luận văn được chia thành bốn chương với các nội dung: Chương 1: Giới thiệu tổng quan về khai phá quá trình, các bài toán trong khai phá quá trình và các khái niệm liên quan.. Chương 2: Đi vào cụ thể bài toán phát hiện quá trình và các thách thức Chương 3: Trình bày phương pháp phát hiện quá trình dựa vào vùng trạng thái và đánh giá ưu nhược điểm của phương pháp. Chương 4: Trình bày thực nghiệm phương pháp đã trình bày ở chương 3 với một vài bộ dữ liệu và đánh giá thực nghiệm. Kết luận và định hướng phát triển tiếp theo: Tóm lược kết quả đã đạt được của luận văn, chỉ ra những khuyết điểm cần khắc phục và đưa ra định hướng nghiên cứu tiếp theo. 6 Chương 1. GIỚI THIỆU VỀ KHAI PHÁ QUÁ TRÌNH 1.1. Tổng quan về khai phá quá trình 1.1.1. Khai phá quá trình là gì Khai phá quá trình (process mining) là một chuyên ngành nghiên cứu mới. Theo Wil M.P van der Aalst [1], khai phá quá trình là chuyên ngành nghiên cứu về những phương thức phát hiện, phân tích và cải tiến các quá trình dựa vào thông tin trích xuất được từ dữ liệu sự kiện. 1.1.2. Vị trí của khai phá quá trình trong KHDL và Big data. Ngày nay trong KHDL (khoa học dữ liệu) người ta không chỉ chú ý tới việc lưu trữ và phân tích dữ liệu mà người ta còn quan tâm đến mối liên hệ giữa dữ liệu với các quá trình liên quan. Khai phá quá trình chính là cầu nối giữa quản lý quá trình kinh doanh truyền thống với các kỹ thuật phân tích dữ liệu làm trung tâm như: khai phá dữ liệu và học máy. Hình 1.1: Vị trí của khai phá quá trình trong khoa học dữ liệu [2] 7 Hình 1.2: Vai trò cầu nối của khai phá quá trình [6] Khai phá quá trình là phương tiên giao tiếp giữa phân tích mô hình quá trình (process model analysis) với phân tích định hướng dữ liệu (data-oriented analysis). Nó được dùng để trả lời các câu hỏi khác nhau liên quan đến hiệu năng và tính tuân thủ. 1.1.3. Mối liên hệ với khai phá dữ liệu Theo Van der Aalst [2], khai phá quá trình liên quan mật thiết đến khai phá dữ liệu. Trong khi các kĩ thuật khai phá dữ liệu truyền thống chủ yếu tập trung vào dữ liệu (data-centric) thì khai phá quá trình tập trung vào quá trình (process-centric). Khai phá quá trình được sử dụng để trả lời cho các câu hỏi: - Quá trình nào con người thực sự làm theo? - Đâu là những trở ngại trong quá trình của tôi? - Đâu là chỗ mà con người hay máy móc thực hiện khác với lại quá trình mong đợi hay quá trình lý tưởng ban đầu? - Đâu là “lối mòn” trong quá trình của tôi? - Những tác nhân nào đang gây trở ngại? - Liệu tôi có thể tiên đoán các vấn đề có thể gặp phải (độ trễ, độ sai lệch, rủi ro,…) trong các trường hợp đang chạy? - Làm thế nào để thiết kế lại quá trình, tổ chức, máy móc cho hiệu quả? 8 Mặc dù cả hai đều bắt đầu từ dữ liệu nhưng các kỹ thuật khai phá dữ liệu thường không tập trung đến quá trình, không tập trung vào dữ liệu sự kiện. Những chủ đề như phát hiện quá trình, kiểm tra độ phù hợp, phân tích các trở ngại trong quá trình kinh doanh là không được đề cập trong các kỹ thuật khai phá dữ liệu truyền thống. Khai phá dữ liệu và khai phá quá trình cần được kết hợp với nhau để trả lời các câu hỏi nâng cao hơn. 1.2. Các bài toán trong khai phá quá trình Trong khai phá quá trình có 3 loại bài toán chính: bài toán phát hiện quá trình (process discovery), kiểm tra sự phù hợp (conformance checking), tăng cường quá trình (process enhancement). Có 3 thao tác chính thể hiện mối quan hệ giữa mô hình và nhật ký sự kiện là: : Play-out, Play-in và Replay. Trong đó Play-out là từ mô hình sinh ra hoạt động, Play-in là tự động hình thành mô hình từ nhật ký sự kiện, Replay là chạy lại mô hình đồng thời so sánh với dữ liệu sự kiện để kiểm tra tính đúng đắn cũng như là cải tiến mô hình. Hình 1.3: Các bài toán trong khai phá quá trình [2] 9 1.2.1. Phát hiện quá trình Là bài toán với mục tiêu xây dựng mô hình chỉ từ nhật ký sự kiện mà không sử dụng bất kì một mô hình hay thông tin tiền nghiệm nào khác. Một ví dụ là thuật toán Alpha (α- algorithm) chỉ nhận đầu vào là một nhật ký sự kiện, sẽ sinh ra một lưới Petri tương ứng mà không cần sử dụng thêm tri thức bổ sung nào khác. Mô hình xây dựng được có thể trả lời các câu hỏi phổ biến trong quá trình sản xuất kinh doanh như: - Hoạt động nào nằm trước hoạt động nào? - Có nhóm hoạt động nào được thực hiện đồng thời không? - Trong quá trình có hoạt động nào bị lặp không? - Các nhân viên tương tác như thế nào? - Những ai làm cùng nhiệm vụ với nhau? - Có bao nhiêu vị trí tham gia trong một trường hợp? 1.2.2. Kiểm tra độ phù hợp Bài toán này sử dụng đầu vào gồm một mô hình có sẵn và nhật ký sự kiện. Mô hình sẽ được sử dụng để kiểm tra xem các sự kiện thực tiễn được lưu trong nhật ký sự kiện có phù hợp với mô hình không, và ngược lại. Có thể mô hình đang sử dụng không bao hàm được tất cả các trường hợp vì thế có những trường hợp các hoạt động không tuân theo mô hình. Cũng có trường hợp chỉ tồn tại trên mô hình mà thực tế không bao giờ xảy ra. Do vậy, sẽ luôn hữu ích khi có một công cụ cung cấp phản hồi về những vấn đề này. Bài toán kiểm tra sự phù hợp của mô hình nhằm cung cấp những công cụ phản hồi như vậy. 1.2.3. Tăng cường mô hình Sau có được kết quả của bước kiểm tra độ phù hợp thì bài toán tiếp theo được đặt ra là tăng cường mô hình. Bài toán hướng tới việc mở rộng hoặc cải tiến mô hình có sẵn, nhờ rút ra kinh nghiệm từ thông tin về quá trình thực tế đã thu thập được trong các nhật ký sự kiện. Tăng cường ở đây có 2 loại, một là “sửa” mô hình để phản ánh đúng hơn với thực tế, hai là “mở rộng” mô hình để thêm vào các khía cạnh bổ sung. Tăng cường mô hình giúp tăng hiệu suất làm việc, giải quyết những điểm mâu thuẫn hoặc bế tắc, loại bỏ các thành phần không cần thiết... 10 1.3. Mô hình hóa quá trình Các phương pháp mô hình hóa quá trình thương mại chính thường sử dụng các dạng kí hiệu mô hình như BPMN, UML, EPC, các loại lưới Petri, hệ thống chuyển, luồng điều khiển,... 1.3.1. Nhật ký sự kiện (Event Logs) Điểm khởi đầu cho khai phá quá trình là nhật ký sự kiện (event logs). Mỗi sự kiện trong nhật ký sự kiện tương ứng với một hoạt động và một trường hợp cụ thể. Trong mỗi trường hợp, các sự kiện này được sắp xếp theo một thứ tự nào đó tùy thuộc vào thực tế diễn ra trong quá trình. Ngoài các sự kiện, nhật ký sự kiện còn có thể lưu trữ một số thông tin khác liên quan đến sự kiện mà một số kỹ thuật khai phá quá trình cũng có thể tận dụng như nguồn lực thi hành sự kiện, thời gian bắt đầu thi hành, thời gian kết thúc, v.v... Bảng 1.1: Một phân đoạn của nhật ký sự kiện cho yêu cầu bồi thường [1] - Mỗi quá trình (process) bao gồm các trường hợp (cases). - Mỗi trường hợp bao gồm các sự kiện (event) sao cho mỗi sự kiện chỉ liên kết với đúng một trường hợp. 11 - Trong mỗi trường hợp, các sự kiện diễn ra theo thứ tự. - Các sự kiện có thể có thuộc tính (attribute) như hoạt động, thời gian, chi phí, nguồn lực,... Không phải tất cả các sự kiện đều phải có tập thuộc tính như nhau, song thông thường, các sự kiện liên quan đến cùng hoạt động thì sẽ có chung tập thuộc tính. Loại dữ liệu trong nhật ký sự kiện xác định phương diện thông tin nào có thể được khai phá. Theo Van der Aalst [1], có 4 phương diện khai phá chính: 1) Phương diện luồng điều khiển (control-flow perspective) tập trung vào luồng điều khiển, tức là thứ tự của các hoạt động. Mục đích của khai phá phương diện luồng điều khiển là tìm được các đặc tính tốt nhất có thể cho tất cả các luồng điều khiển. Phương diện luồng điều khiển có thể được khai phá qua nhật ký sự kiện khi nhật ký sự kiện cung cấp các nhiệm vụ đã được xử lý trong quá trình (chẳng hạn qua các trường tên công việc, thời gian) và ta có thể suy luận được thứ tự xử lý và liên kết các nhiệm vụ này vào các trường hợp (mẫu) riêng biệt. 2) Phương diện tổ chức (organizational perspective) tập trung vào các thông tin về nguồn lực ẩn trong nhật ký sự kiện, ví dụ như những đối tượng nào (người, hệ thống, vai trò, bộ phận) tham gia vào hoạt động và các đối tượng liên quan đến nhau như thế nào. Khai phá phương diện tổ chức ứng dụng cho cơ cấu tổ chức qua việc phân loại nguồn lực vào các vai trò và đơn vị trổ chức hoặc qua các thông tin thu được từ mô hình mạng xã hội. 3) Phương diện trường hợp (case perspective) tập trung vào các thuộc tính, đặc điểm riêng của mỗi trường hợp. Rõ ràng, mỗi trường hợp đều có thể được mô tả bằng đường đi của nó trong luồng quá trình. Tuy nhiên, ta cũng có thể mô tả các trường hợp bằng giá trị của các phần tử dữ liệu tương ứng. Ví dụ, nếu một trường hợp biểu diễn các đơn hàng bổ sung, thì qua đó ta có thể muốn biết nhà cung cấp hoặc số lượng sản phẩm đã được đặt mua. 4) Phương diện thời gian (time perspective) quan tâm tới thời gian và mức độ thường xuyên của các sự kiện. Khi các sự kiện được ghi lại cùng với thời gian, ta có thể phát hiện các điểm thắt cổ chai, đo lường sức phục vụ, giám sát việc sử dụng tài nguyên, và dự đoán thời gian xử lý còn lại của các trường hợp đang chạy. Các phương diện này không tách biệt độc lập mà chồng chéo một phần nào đó lên nhau, và không đầy đủ. Tuy nhiên, chúng mô tả tốt những đặc điểm mà khai phá quá trình muốn phân tích. 12 1.3.2. Các loại mô hình hóa quá trình Có rất nhiều bộ ký hiệu cho mô hình hóa quá trình, tuy nhiên trong luận văn sẽ chỉ giới thiệu về hai loại mô hình hóa mà sẽ được sử dụng ở các phần sau là Lưới Petri (Petri net) và Hệ thống chuyển (Transition system). Chúng ta có thể dễ dàng chuyển đổi sang các ngôn ngữ mô hình hóa khác như BPMN, BPEL hay biểu đồ hoạt động UML,... 1.3.2.1. Lưới Petri (Petri Nets) Lưới Petri (petri net) là ngôn ngữ mô hình hóa quá trình lâu đời nhất và tốt nhất trong các ngôn ngữ đã được khảo sát. Lưới Petri cho phép biểu diễn các mô hình chứa thành phần đồng thời. Mặc dù kí hiệu đồ họa rất trực quan và đơn giản, lưới Petri vẫn có khả năng biểu diễn rất tốt và người ta có thể sử dụng nhiều kĩ thuật để phân tích các mô hình biểu diễn dưới dạng lưới Petri. Hình 1.4 là một ví dụ về lưới Petri. Hình 1.4: Lưới Petri và các thành phần [1] Lưới Petri là đồ thị hai chiều bao gồm các vị trí (place) và các bước chuyển (transition). Lưới Petri có cấu trúc tĩnh, nhưng các thẻ (token) có thể lưu thông trong mạng lưới này nhờ sự điều khiển của luật cháy (firing rule). 13 Trạng thái của lưới Petri được xác định bởi sự phân bố của các thẻ ở các vị trí và được gọi là dấu (marking) của vị trí đó. Hình 1.5: Ví dụ về marking của một lưới Petri cho hệ thống đèn giao thông [2] Trong dấu khởi tạo thể hiện ở hình 1.4 chỉ có một thẻ, và start là vị trí duy nhất được đánh dấu. Định nghĩa 1.1[1]. Lưới Petri là một bộ ba N = (P, T, F) trong đó P là một tập hữu hạn các vị trí (vị trí), T là một tập hữu hạn các bước chuyển (transition) sao cho P ∩ T = Ø, và F ⊆ (P × T) ∪ (T × P) là tập các cạnh có hướng, gọi là luồng quan hệ (flow relation) . Lưới Petri được đánh dấu là một cặp (N, M), trong đó N = (P, T, F) là một lưới Petri và M ∈ 𝔹(P) là một tập bội (multi-set) trên P biểu thị dấu (marking) của lưới. Tập tất cả các lưới Petri được đánh dấu được biểu thị bằng kí hiệu 𝒩. Theo định nghĩa, lưới Petri trong hình 1.4 có thể chuẩn hóa lại với bộ ba N = (P, T, F) như sau: P = {start, cl,c2, c3, c4, c5, end}, T = {a, b, c, d, e, f, g, h}, và F = {(start, a), (a, cl), (a, c2), (cl, b), (cl, c), (c2, d), (b, c3), (c, c3), (d, c4), (c3, e), (c4, e), (e, c5), (c5, f ), (f, cl), (f, c2), (c5, g), (c5, h), (g, end), (h, end)}. Vị trí được đánh dấu trong hình 1.4 là [start], nghĩa là tập bội biểu thị dấu ở đây chỉ chứa 1 thẻ. Các hành vi động của một lưới Petri được đánh dấu được xác định bởi luật cháy (firing rule). 14 - Một bước chuyển sẽ được kích hoạt nếu mỗi vị trí đầu vào của nó chứa một thẻ. - Một bước chuyển đang kích hoạt sẽ có thể đốt cháy, qua đó tiêu thụ một thẻ từ mỗi vị trí đầu vào và cung cấp một thẻ cho mỗi vị trí đầu ra. Hình 1.6: Bước chuyển được kích hoạt và có thể cháy [2] Trong hình 1.4, bước chuyển a được kích hoạt nhờ dấu [start]. Việc đốt cháy a sẽ cho dấu [c1, c2]. Lưu ý rằng ở bước này, một thẻ bị tiêu thụ và hai thẻ mới được sinh ra. Tại dấu [cl, c2], bước chuyển a sẽ không còn được kích hoạt nữa. Tuy nhiên, các bước chuyển b, c, và d bây giờ đã được kích hoạt. Từ dấu [cl, c2], việc đốt cháy b sẽ cho dấu [c2, c3]. Đến đây, d vẫn được kích hoạt, nhưng b và c thì không. Bởi vì trong lưới Petri này có cấu trúc vòng lặp liên quan đến f nên sẽ có vô hạn các chuỗi cháy bắt đầu ở [start] và kết thúc tại [end]. Giả sử bây giờ dấu khởi tạo là [start5]. Đốt cháy bước chuyển a bây giờ sẽ cho kết quả là dấu [start4, cl, c2]. Ở dấu này, a vẫn được kích hoạt. Đốt cháy a lần nữa ta được [start3, cl2, c22]. Bước chuyển a có thể cháy 5 lần trong liên tiếp và cho kết quả là [cl5, c25]. Lưu ý rằng sau khi đốt cháy a lần đầu tiên, cả b, c và d đều được kích hoạt và có thể đốt cháy cùng lúc. Tính bị chặn (Boundedness): - Một vị trí p là k-bounded nếu không có một dấu có thể đạt được với nhiều hơn k thẻ trong p. - Một lưới Petri là k-bounded nếu tất cả các vị trí là k-bounded. - Một vị trí/lưới Petri là bị chặn nếu tồn tại một số k như vậy. - Một lưới Petri là k-bounded nếu không có vị trí nào có nhiều hơn k thẻ. Tính an toàn (safeness)
- Xem thêm -