TRƯỜNG ĐẠI HỌC CÔNG NGHỆ HÀ THỊ HỒNG SƠN NGHIÊN CỨU PHƯƠNG PHÁP KIỂM CHỨNG TÍNH ĐÚNG ĐẮN CỦA MÔ HÌNH QUY TRÌNH NGHIỆP VỤ XÂY DỰNG BẰNG BPMN 2.0 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HÀ THỊ HỒNG SƠN
NGHIÊN CỨU PHƯƠNG PHÁP KIỂM CHỨNG TÍNH ĐÚNG ĐẮN CỦA MÔ HÌNH QUY TRÌNH NGHIỆP VỤ XÂY DỰNG BẰNG BPMN 2.0
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HÀ THỊ HỒNG SƠN
NGHIÊN CỨU PHƯƠNG PHÁP KIỂM CHỨNG TÍNH ĐÚNG ĐẮN CỦA MÔ HÌNH QUY TRÌNH NGHIỆP VỤ XÂY DỰNG BẰNG BPMN 2.0
Ngành: Công nghệ Thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRƯƠNG ANH HOÀNG
TS NGUYỄN NHƯ SƠN
Hà Nội - 2015
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn, những điều đã trình bày là của cá nhân tôi hoặc là được tôi tổng hợp từ nhiều nguồn tài liệu Tất cả các nguồn tài liệu tham khảo có xuất xứ rõ ràng và được trích dẫn hợp pháp
Tôi xin chịu toàn bộ trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của tôi
Hà Nội, tháng 05 năm 2015
Hà Thị Hồng Sơn
Trang 4LỜI CẢM ƠN
Tác giả xin chân thành cảm ơn sự hướng dẫn và chỉ bảo tận tình của PGS.TS Trương Anh Hoàng – người đã đưa ra định hướng khoa học và luôn quan tâm, động viên, thông cảm, tạo điều kiện thuận lợi cho tác giả trong suốt quá trình thực hiện luận văn Đồng thời, tác giả cũng xin được gửi lời cảm ơn đến TS Nguyễn Như Sơn – người đồng hướng dẫn và các thầy cô giáo trong khoa Công nghệ thông tin trường Đại học Công nghệ – Đại học Quốc Gia Hà Nội đã giảng dạy và truyền đạt những kiến thức, kinh nghiệm quý báu cho tác giả trong suốt khóa học
Tác giả cũng xin được cảm ơn các tác giả của các công trình nghiên cứu, tài liệu đã được tác giả sử dụng, trích dẫn trong luận văn vì đã cung cấp nguồn tư liệu quý báu và các kiến thức liên quan để tác giả thực hiện luận văn
Đặc biệt, tác giả xin được cảm ơn gia đình, bạn bè và các anh chị em đồng nghiệp – những người đã luôn động viên, hỗ trợ về mặt tinh thần và giúp đỡ, tạo điều kiện để tác giả hoàn thành luận văn đúng kế hoạch
Hà Nội, ngày 26 tháng 05 năm 2015
Hà Thị Hồng Sơn
Trang 5MỤC LỤC
LỜI CAM ĐOAN 3
LỜI CẢM ƠN 4
DANH MỤC CÁC TỪ VIẾT TẮT 7
DANH MỤC CÁC BẢNG 8
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 9
MỞ ĐẦU 10 Chương 1 Giới thiệu Error! Bookmark not defined.
1.1 Quản lý quy trình nghiệp vụ Error! Bookmark not defined 1.2 Vị trí và vai trò của kiểm chứng mô hình quy trình nghiệp vụ trong BPMS Error!
Bookmark not defined.
1.3 Các công trình nghiên cứu liên quan Error! Bookmark not defined 1.4 Hướng tiếp cận của luận văn Error! Bookmark not defined.
Chương 2 Cơ sở lý thuyết Error! Bookmark not defined.
2.1 BPMN 2.0 Error! Bookmark not defined 2.1.1 Các thành phần của BPMN 2.0 Error! Bookmark not defined 2.1.2 Ví dụ Error! Bookmark not defined 2.1.3 Đánh giá tần suất sử dụng các ký pháp trong BPMN 2.0 Error! Bookmark
not defined.
2.2 Tính đúng đắn của BPMN Error! Bookmark not defined 2.2.1 Tính đúng đắn của mô hình quy trình nghiệp vụ Error! Bookmark not
defined.
2.2.2 Các dạng lỗi cấu trúc của mô hình quy trình Error! Bookmark not
defined.
Chương 3 Kiểm chứng tính đúng đắn BPMN dựa trên dấu vết nhân quả Error!
Bookmark not defined.
3.1 Cú pháp trừu tượng của BPMN 2.0 Error! Bookmark not defined 3.1.1 Định nghĩa 1 (Core BPMN Process) Error! Bookmark not defined 3.1.2 Định nghĩa 2 (Well-formed BPMN) Error! Bookmark not defined.
Trang 63.2 Dấu vết nhân quả Error! Bookmark not defined 3.2.1 Định nghĩa 3 (Causality Graph) Error! Bookmark not defined 3.2.2 Định nghĩa 4 (Causal Footprint) Error! Bookmark not defined 3.2.3 Định nghĩa 5 (Causal Closure) Error! Bookmark not defined 3.3 Sinh dấu vết nhân quả từ BPMN Error! Bookmark not defined 3.3.1 Ánh xạ các thành phần từ BPMN sang đồ thị nhân quả Error! Bookmark
not defined.
3.3.2 Sinh dấu vết nhân quả từ đồ thị nhân quả của BPMN Error! Bookmark
not defined.
3.4 Phát hiện lỗi cấu trúc trong BPMN dựa trên dấu vết nhân quả Error! Bookmark
not defined.
3.4.1 Lỗi tắc nghẽn (Deadlock Pattern) Error! Bookmark not defined 3.4.2 Lỗi nhiều điểm kết thúc (Multiple Termination Pattern) Error! Bookmark
not defined.
3.4.3 Lỗi lặp (Trap Pattern) Error! Bookmark not defined.
Chương 4 Thực nghiệm và đánh giá Error! Bookmark not defined.
4.1 Yêu cầu Error! Bookmark not defined 4.2 Thiết kế và cài đặt Error! Bookmark not defined 4.3 Kết quả thử nghiệm Error! Bookmark not defined 4.4 Đánh giá Error! Bookmark not defined.
KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 11
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
BP Business Process Quy trình nghiệp vụ
BPEL Business Process Excution
Language
Ngôn ngữ thực thi quy trình nghiệp vụ
BPM Business Process Management Quản lý quy trình nghiệp vụ
BPMN Business Process Management
Notaion
Ký pháp mô hình hóa quy trình nghiệp vụ
BPMS Business Process Management
System
Hệ thống quản lý quy trình nghiệp vụ
EPC Event - Driven Process Chain Chuỗi quy trình điều khiển theo
sự kiện
Trang 8DANH MỤC CÁC BẢNG Bảng 1.1 Kết quả đánh giá tầm quan trọng của các chủ đề trong BPM Error! Bookmark not defined
Bảng 4.1 Danh sách các plugin và package được sử dụngError! Bookmark not defined
Trang 9DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1 Các thành phần của một BPMS Error! Bookmark not defined Hình 1.2 Vòng đời của BPM Error! Bookmark not defined Hình 1.3 Mô hình quy trình bán hàng Error! Bookmark not defined Hình 1.4 Công cụ chuyển đổi từ BPMN sang Petri Net Error! Bookmark not defined
Hình 1.5 Chuyển đổi từ EPC sang dấu vết nhân quả Error! Bookmark not defined
Hình 1.6 Chuyển đổi từ Petri Net sang dấu vết nhân quả Error! Bookmark not defined
Hình 1.7 Lỗi tắc nghẽn trên EPC, Petri Net và trên dấu vết nhân quả Error! Bookmark not defined
Hình 1.8 Lỗi nhiều điểm kết thúc Error! Bookmark not defined Hình 1.9 Vòng tròn luẩn quẩn của EPC và thể hiện trên dấu vết nhân quả Error! Bookmark not defined
Hình 2.1 Phân loại các thành phần của BPMN Error! Bookmark not defined Hình 2.2 Các kiểu Event của BPMN Error! Bookmark not defined Hình 2.3 Ví dụ một ad-hoc process Error! Bookmark not defined Hình 2.4 Trạng thái thu gọn và mở rộng của một quy trình con Error! Bookmark not defined
Hình 2.5 Ví dụ quy trình có AND-Split và AND-Join Gateway Error! Bookmark not defined
Hình 2.6 Ví dụ mô hình quy trình báo giá du lịch Error! Bookmark not defined
Hình 2.7 Quy trình mua hàng phối hợp Error! Bookmark not defined
Hình 2.8 Tần suất sử dụng các thành phần trong mô hình quy trình của BPMN
2.0 Error! Bookmark not defined Hình 2.9 Lỗi Deadlock trong BPMN Error! Bookmark not defined Hình 2.10 Lỗi nhiều điểm kết thúc trong BPMN Error! Bookmark not defined
Hình 2.11 Lỗi vòng lặp vô hạn trong BPMN Error! Bookmark not defined Hình 3.1 Ánh xạ các thành phần BPMN sang đồ thị nhân quả Error! Bookmark not defined
Hình 3.2 Lỗi tắc nghẽn trong BPMN và dấu vết nhân quả của nó Error! Bookmark not defined
Hình 3.3 Lỗi nhiều điểm kết thúc trong BPMN và dấu vết nhân quả Error! Bookmark not defined
Trang 10Hình 3.4 Lỗi lặp đơn và dấu vết nhân quả Error! Bookmark not defined Hình 3.5 Lỗi lặp chung và dấu vết nhân quả Error! Bookmark not defined Hình 4.1 Sơ đồ ca sử dụng tổng thể của hệ thống kiểm chứng BPMN Error! Bookmark not defined
Hình 4.2 Cấu trúc của hệ thống kiểm chứng BPMN Error! Bookmark not defined
Hình 4.3 Phát hiện lỗi tắc nghẽn trong BPMN bằng dấu vết nhân quả Error! Bookmark not defined
Hình 4.4 Phát hiện lỗi nhiều điểm kết thúc trong BPMN bằng dấu vết nhân quả
Error! Bookmark not defined Hình 4.5 Phát hiện lỗi lặp đơn trong BPMN bằng dấu vết nhân quả Error! Bookmark not defined.
Trang 11MỞ ĐẦU
Các hệ thống quản lý quy trình nghiệp vụ (Bussiness Process Management System - BPMS) ra đời và ngày càng phát triển đã giúp các tổ chức, doanh nghiệp xử lý các quy trình một cách tự động, nhanh chóng, tiết kiệm và hiệu quả Song song với sự phát triển của các BPMS là sự phát triển của các ngôn ngữ mô hình hóa quy trình, từ các ngôn ngữ hình thức như Petri Net đến các ngôn ngữ định nghĩa như EPC, BPMN hay các ngôn ngữ thực thi quy trình như BPEL Vấn đề đặt ra là làm thế nào để kiểm tra được tính đúng đắn của các mô hình quy trình nghiệp vụ Việc kiểm chứng tính đúng đắn của các mô hình quy trình nghiệp vụ có vai trò rất quan trọng vì nó giúp sớm phát hiện các lỗi về cấu trúc và cú pháp của các quy trình trước khi đưa vào triển khai, áp dụng, làm giảm chi phí và thời gian phát triển, triển khai quy trình
Các phương pháp kiểm chứng tính đúng đắn của các mô hình quy trình nghiệp vụ lần lượt ra đời theo các ngôn ngữ mô hình hóa: sử dụng kiểm chứng
mô hình (Model Checking), phương pháp hình thức (Formal Method) hay lý thuyết về đồ thị, mà hầu hết là áp dụng với ngôn ngữ hình thức như Petri Net BPMN là ngôn ngữ mô hình hóa hiện đại, được coi là chuẩn của các ngôn ngữ
mô hình hóa, phiên bản mới nhất 2.0 năm 2011, gần gũi với ngôn ngữ tự nhiên,
bộ ký pháp đầy đủ, rõ ràng, dễ hiểu đối với nhiều đối tượng người dùng, ngày càng phổ biến và được áp dụng nhiều trong các BPMS Luận văn dựa trên lý thuyết về “dấu vết nhân quả” [7] được trình bày trong bài báo của các tác giả B.F van Dongen, J Mendling và W.M.P van der Aalst để tìm hiểu phương pháp kiểm chứng tính đúng đắn của các mô hình quy trình nghiệp vụ dựa trên khái niệm dấu vết nhân quả và áp dụng đối với ngôn ngữ mô hình hóa BPMN 2.0, đồng thời tiến hành thực nghiệm kiểm chứng tính đúng đắn của các mô hình xây dựng dựa trên BPMN 2.0 bằng cách chuyển đổi sang dấu vết nhân quả để xác định các loại lỗi cấu trúc của quy trình
Luận văn được tổ chức như sau:
Chương 1: Giới thiệu về các hệ thống quản lý quy trình nghiệp vụ, vai trò và
vị trí bài toán kiểm chứng tính đúng đắn của mô hình quy trình nghiệp vụ, trình bày một số công trình nghiên cứu liên quan và hướng tiếp cận của luận văn Chương 2: Trình bày cơ sở lý thuyết về BPMN 2.0 đi kèm một số ví dụ minh họa cho việc sử dụng các ký pháp, khái niệm tính đúng đắn của BPM và các loại lỗi cấu trúc thường gặp trong mô hình quy trình
Chương 3: Trình bày thuật toán chuyển đổi từ BPMN sang dấu vết nhân quả,
áp dụng dấu vết nhân quả vào để phát hiện các dạng lỗi cấu trúc cơ bản (lỗi tắc
Trang 12TÀI LIỆU THAM KHẢO Tiếng Việt
1 Phan Thanh Đức (2010), "BPM giải pháp công nghệ đầy hứa hẹn cho các
doanh nghiệp", Tạp chí kinh doanh, 6/2011
Tiếng Anh
2 Aalst W.M.P van der (2013), "Business Process Management: A
Comprehen-sive Survey", ISRN Software Engineering 2013, Vol 2013
3 Aalst W.M.P van der (1999), "Formalization and Verification of
Event-driven Process Chains", Information and Software Technology, Vol 41, pp
639–650
4 Aalst, W.M.P van der (2000), Workflow Verification: Finding Control-Flow Errors Using Petri-Net-Based Techniques
5 Awad, Ralf Laue and Ahmed (2009), Proceedings of the First International Workshop on Visual Formalisms for Patterns, Visualization of Business Process
Modeling Anti Patterns, Vol X
6 Dirk Fahlanda, Ce'dric Favreb, Jana Koehler, Niels Lohmannd, Hagen
Volzer, Karsten Wofl Berlin (2009), Analysis on Demand: Instantaneous Soundness Checking of Industrial Business Process Models
7 Dongen B.F van, Mendling J., Aalst W.M.P van der (2006), "Structural
Patterns for Soundness of Business Process Models", Proceedings of the 10th IEEE International Enterprise Distributed Objec tComputing Conference E (DOC’06)
8 James, Chang F (2006), Business Process Management System - Strategy and Implementation, Auerbach Publications
9 Marina Mongiello, Daniela Castelluccia (2006), Modelling and verification
of BPEL business processes
10 Mathias Weske (2007), Business Process Management Concepts, Languages, Architectures, Springer
11 OMG (2011), Business Process Model and Notation (BPMN) Version 2.0,
Object Management Group (OMG)
12 Recker, Michael Zur Muehlen and Jan (2008), How Much Language is Enough? Theoretical and Practical Use of the Business Process Modeling Notation, CAISE '08 2008, Vol volume 5074, pp 465-479
13 Remco M Dijkman, Marlon Dumas, and Chun Ouyang (2007), Formal Semantics and Automated Analysis of BPMN Process Models
Trang 1314 Suite, Bizagi (2014), BPMN by Example, Bizagi
Website
15 ProM Tools [Online] http://www.promtools.org/doku.php?id=prom52