Trường Đại học Công nghệ, ĐHQGHN

Download Report

Transcript Trường Đại học Công nghệ, ĐHQGHN

BÀI GIẢNG MỘT SỐ CHỦ ĐỀ HIỆN ĐẠI
VỀ KHAI PHÁ DỮ LIỆU:
KHAI PHÁ QUÁ TRÌNH
CHƯƠNG 2. MÔ HÌNH QUY TRÌNH
VÀ PHÂN TÍCH QUY TRÌNH THEO MÔ HÌNH
PGS. TS. HÀ QUANG THỤY
HÀ NỘI 01-2015
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
1
Nội dung
1.
Tính nghệ thuật của mô hình hóa quy trình
2.
Mô hình hóa quy trình
3.
Phân tích quy trình dựa trên mô hình
2
Phần 1. Tính nghệ thuật
của mô hình hóa quy trình
3
Nhu cầu mô hình hóa quy trình
Giới thiệu

 Cách mạng công nghiệp  năng suất tăng lên




 Đổi mới kỹ thuật
 Cải tiến trong tổ chức công việc
 Sử dụng CNTT
Adam Smith (1723-1790) chỉ ra các lợi thế của phân công lao
động
Frederick Taylor (1856-1915) giới thiệu các nguyên lý nguyên thủy
của khoa học quản lý
Henry Ford (1863-1947) giới thiệu dây chuyền sản xuất cho sản
xuất hàng loạt các "T-Ford đen“
Từ 1950: Máy tính và hạ tầng truyền thông số bắt đầu tác động
quy trinh kinh doanh  thay đổi đáng kể trong tổ chức công việc
 cách KD mới
4
Nhu cầu mô hình hóa quy trình
Nhu cầu mô hình hóa quy trình

 Đối mới máy tính&TT dẫn dắt chính phía sau thay đổi quy trình tác




nghiệp
Quy trình tác nghiệp phức tạp hơn
 Chủ yếu dựa vào HTTT
 Mở rộng trong nhiều tổ chức
Mô hình hóa quy trình trở nên quan trọng nhất: hỗ trợ quản lý
phức tạp
 Cung cấp cái nhìn sâu sắc
 Tài liệu hóa các thủ tục
HTTT cần được cấu hình và dẫn dắt bởi các hướng dẫn chính xác
Các quy trình liên tổ chức chỉ hành động đúng nếu có một thỏa
thuận chung khi tương tác theo yêu cầu
 Các mô hình quy trình được sử dụng rộng rãi trong các tổ chức
ngày nay
5
Cơ sở mô hình hóa quy trình

Cơ sở mô hình hóa quy trình
 Mô hình hóa trong khoa học quản lý (management science)
 Quản lý tác nghiệp
 Nói riêng là vận trù học (operation research): một môn học của Nghiên
cứu sinh HTTT
 Các mô hình toán học được sử dụng
 Quy hoạch tuyến tính (linear programming)
 Lập kế hoạch dự án (project planning)
 Mô hình hàng đợi (queueing models)
 Chuỗi Markov (Markov chains),
 Mô phỏng (simulation)
 Ví dụ
 Vị trí của một nhà kho được xác định nhờ quy hoạch tuyến tính,
 Công suất máy chủ được bổ sung dựa trên mô hình hàng đợi,
 một định tuyến tối ưu trong một khu cảng container được xác định
bằng quy hoạch nguyên …
6
Mục tiêu sử dụng mô hình

Mục tiêu sử dụng mô hình
 Khái quát
 Lập luận về quy trình (thiết kế lại: redesign)
 Tạo quyết định nội tại quy trình (lập kế hoạch và kiểm soát: planning
and control)
 Trong quản lý điều hành: hướng tới một kỹ thuật phân tích cụ thể
và chỉ được sử dụng để trả lời cho một câu hỏi cụ thể
 Trong quản lý quy trình kinh doanh:
 thường phục vụ quy trình phức
 Tạo quyết định nội tại quy trình (lập kế hoạch và kiểm soát: planning
and control)
 thảo luận về trách nhiệm, phân tích tuân thủ, dự đoán hiệu suất sử
dụng mô phỏng, và cấu hình một hệ thống WFM
7
Tạo mô hình có tính nghệ thuật

Tạo mô hình tốt
 Có tính nghệ thuật hơn là khoa học
 Điểm chung của QLQTTN (BPM) và QLĐH (OP)
 Khó khăn và dễ bị lỗi
Quan niệm cổ điển về mô hình hóa: Trọng tâm là trạng thái ổn định và mô
hình được làm bằng tay
8
Lỗi tạo mô hình bằng tay

Lỗi phổ biến khi tạo mô hình bằng tay
 Mô hình mô tả phiên bản lý tưởng hóa của thực tại
 Tập trung vào “hành vi chuẩn” hay “hành vi mong muốn”.
 Đa dạng lập luận đơn giản hóa “Mô hình chỉ cần bao gói 80% trường
hợp giả định”
 Do không nhận thức các lệch lạc xảy ra; do nhân thức con người có
tính thiên vị
 Mô hình thủ công có tính chủ quan: chủ yếu do mục đích “dễ hiểu”
 Không có khả năng nắm bắt đầy đủ hành vi của con người
 mô hình toán học đơn giản có thể đủ để mô hình hóa máy móc hoặc
con người làm việc trong một dây chuyền lắp ráp
 Mô hình toán học đơn giản không thể mô hình hóa sự tham gia của
con người vào các quy trình phức tạp và tiếp xúc với các độ ưu tiên
phức tạp
 Một công nhân tham gia vào quy trình phức cần phân bố sự quan tâm
của mình trên toàn bộ quy trình phức: Mô hình hóa QT khó hơn nhiều
QT cô lập
 Công nhân cũng không làm việc với năng suất không đổi: Luật
Yerkes–Dodson. Quan sát trong hầu hết quá trình: mất nhiều thời gian
và số giờ hiệu quả ít hơn nếu làm công việc khó.
9
Luật Yerkes–Dodson (Yerkes–Dodson law)

G
 C
 

N
 
Luật Yerkes–Dodson: năng suất (Performance) tăng khi tăng kích thích
(Arousal) về sinh lý hoặc tinh thần, nhưng chỉ đến một điểm nhất định. Khi
mức độ của kích thích trở nên quá cao thì năng suất lại giảm.
10
Lỗi tạo mô hình bằng tay

Lỗi phổ biến khi tạo mô hình bằng tay
 Mô hình ở một độ trừu tượng sai
 Mức độ trừu tượng của mô hình phụ thuộc vào: (i) dữ liệu vào; (ii) câu




hỏi cần được trả lời
Mô hình quá trừu tượng: không trả lời câu hỏi liên quan
Mô hình quá cụ thể: (i) hoặc không đạt được câu trả lời; (ii) hoặc mô
hình quá phức tạp để hiểu
Ví dụ: Một nhà máy sản xuất ô tô có kho chứa hàng ngàn phụ tùng
thay thế. Mô hình hóa toàn bộ phụ tùng có thể được coi là “hấp dẫn”
khi để nghiên cứu mô phỏng so sánh các chính sách kiểm kê khác
nhau song thực ra là “không phù hợp” nếu không cần mô tả một phụ
tùng cụ thể.
Khó khăn (i) khi thay đổi mức trừu tượng của một mô hình; (ii) Các câu
hỏi xuất hiện lại ở mức cô đọng rất khác nhau.
 Bàn luận
 Còn có các lỗi khác khi tạo mô hình bằng tay
 Mô hình có giá trị tiên đoán tốt và làm khởi đầu để thiết kế lại: Chỉ do
chuyên gia giàu kinh nghiệm (nhà thiết kế/nhà phân tích)
 Tạo mô hình từ dữ liệu sự kiện để thiết kế lại; thiết kế ban đầu
 KPQT cung cấp các mức độ trừu tượng khác nhau (80%; 100%..)
 Tiết lộ con người không hành động như cái máy…
11
Mô hình hóa quy trình từ nhật ký sự kiện
Mô phỏng quy trình tác nghiệp tiên tiến đặt trong bối cảnh khai phá quy trình
12
Phần 2. Mô hình hóa quy trình
- Các hệ chuyển (Transition Systems)
Lưới Petri (Petri Nets)
- Các mạng dòng công việc (Workflow Nets)
-YAWL (Yet Another Workflow Language)
-BPMN (Business Process Modeling Notation)
-Chuỗi quy trình điểu khiển theo sự kiện (Event-Driven
Process Chains: EPCs)
-Mạng nhân quả (Causal Nets)
-
13
Mở đầu

Lợi thế của khai phá quy trình
 Mô hình quy trình tốt: Rất quan trọng
 Tạo mô hình quy trình tốt: Việc không dễ dàng
 Khai phát quy trình
 Tạo mô hình quy trình tốt hơn
 Thời gian nhanh hơn
 Tự động hóa: các thuật toán , +, ++ (Chương 4)

Ngôn ngữ mô hình quy trình
 Đầu ra của phát hiện quy trình
 Tồn tại nhiều ngôn ngữ mô hình quy trình
 Giới thiệu các ngôn ngữ điển hình nhất, chuyển đổi nhau

Quy ước
 A: tập hữu hạn nhãn các hành động trong tổ chức, A ={a, b, c, ….}
 Mô hình hóa quy trình: Các hành động nào được thực hiện và
theo thứ tự như thế nào ?
 Thực hiện tuần tự, thực hiện đồng thời, được thực hiện chọn lựa,
thực hiện lặp
14
Các hệ chuyển: Định nghĩa

Giới thiệu
 Transition Systems (TS)
 Là khái quát của các ngôn ngữ mô hình hóa

Định nghĩa
 TS=(S, A, T)






S là tập các trạng thái
A  A là tập các hành động (hoạt động),
T  S×A×S là tập các thanh chuyển
Sstart  S là tập các trạng thái khởi đầu ("xuất phát ")
Send  S là tập các trạng thái cuối ("chấp nhận")
Chú ý
 Sstart và Send là ngầm định
 S: có thể vô hạn; thực tế: hữu hạn và TS được gọi là máy trạng
thái hữu hạn (Finite-State Machine : FSM) hay ô-tô-mát trạng thái
hữu hạn (finite-state automaton)
15
Các hệ chuyển: Ví dụ

Ví dụ
 S = {s1, s2, s3, s4, s5, s6, s7}
 A = {register request, examine thoroughly, examine casually,
check ticket, decide, reinititate request, reject request, pay
compensation}
 T = {(s1, register request, s2), (s2, examine casually, s3), (s2,
examine thoroughly, s3), (s2, check ticket, s4), (s3, check ticket,
s5), (s4, examine casually, s5), (s4, examine thoroughly, s5), (s5,
decide, s6), (s6, reinitiate request, s2), (s6, pay compensation, s7),
(s6, reject request, s7)}
 Sstart = {s1} và Send = {s7}
16
Các hệ chuyển: Hành vi (hoạt động)
Hoạt động chuyển

 Chuyển xuất phát từ một trạng thái ban đầu
 Đường đi bất kỳ trong đồ thị xuất phát từ một trạng thái ban đầu





được gọi là “chuối thực hiện có thể” (possible execution
sequence). Chuỗi thực hiện ghi nhận bằng chuỗi các hành động
Ví dụ, register request, examine casually, check ticket xuất phát từ
trạng thái đầu s1 và kết thúc ở trạng thái s5. Có vô số chuỗi thực
hiện (chu trình).
Chuỗi thực hiện thành công nếu kết thúc ở trạng thái kết thúc
Chuỗi thực hiện bế tắc (deadlock) nếu kết thúc ở trạng thái không
kết thúc mà không chuyển tiếp được. Không bế tắc  thành công
Hệ thống chuyển là đơn giản song có vấn đề về thể hiện tính
đồng thời. Giả sử, có n hành động song song: mọi n được thực
hiện cho phép với thứ tự bất kỳ  hệ thống cần 2n trạng thái và
n2n-1 thanh chuyển (vấn đề “bùng nổ trạng thái”). Với n=10 thì
1024 trạng thái và 5120 thanh chuyển.
Các ngôn ngữ mô hình hóa thu gọn kích thước hệ thống
chuyển. Với bài toán ví dụ trên (n=10), lưới Petri 10 thanh chuyển
và 10 trạng thái là đủ.
17
Lưới Petri
Định nghĩa lưới Petri






N = (P, T, F)
P là một tập hữu hạn vị trí
T là một tập hữu hạn thanh chuyển; PT = Ø
F  (P × T)  (T × P) tập cung có hướng (quan hệ dòng: flow
relation)
Định nghĩa lưới Petri đánh dấu
 Cặp (N,M): N lưới Petri, M  B(P) là một tập phức (multi-set) trên
P. N là tập mọi lưới Petri đánh dấu trên N
 Lưới Petri hình vẽ: P = {start, c1, c2, c3, c4, c5, end}, T = {a, b, c,
d, e, f, g, h} và F = {(start, a), (a, c1), (a, c2), (c1, b), (c1, c), (c2, d),
(b, c3), (c, c3), (d, c4) (c3, e), (c4. e), (e, c5), (c5, f), (f, c1), (f, c2),
(c5, g), (c5, h) , (g, end), (h, end)}. M = {start}
18
Tập phức: multi-set
Định nghĩa

 Tập phức tương tự như tập thông thường song phần tử có thể xuất
hiện nhiều lần
 Quy ước: ký hiệu [x1, x2, …]
Ví dụ

 [a, b2, c3, d2, e] là tập phức gồm 9 phần từ 1 a, 2 b, 3 c, 2 d, và 1 e
 Quan tâm số lần xuất hiện của một phần tử mà không quan tâm tới
thứ tự xuất hiện. Ba tập phức [a, b, b, c3, d, d, e], [e, d2, c3, b2, a] và
[a, b2, c3, d2, e] là như nhau.
 X tập phức thì X(a) chỉ số lượng phần tử a trong tập X
Các phép toán

 Tổng hai tập phức XY: [a, b2, c3, d]  [c3, d, e2, f3] = [a, b2, c6, d2,





e2, f3]
Hiệu hai tập phức X\Y
“Hiện diện” (presence): x  X
Tập con X Y: [a, b] ≤ [a, b3, c ]
Có thể áp dụng các phép toán tập phức tới tập thông thường
Có thể áp dụng miền phần tử khác nhau
19
Hoạt động cháy

Quy tắc cháy (firing rule)
 Thanh chuyển “cháy được”: mỗi vị trí vào chứa một thẻ
 Cháy thanh chuyển cháy được: tiêu thụ mỗi thẻ ở mọi vị trí vào và
tạo một thẻ ở mọi vị trí ra
 Ví dụ: Thanh chuyển a cháy được do thẻ ở [start]. Khi cháy a cho
đánh dấu [c1,c2]. Với đánh dấu [c1,c2], thanh chuyển a không
cháy được song các thanh chuyển b, c, d cháy được. Cháy b cho
đánh dấu [c2, c3], lúc đó chỉ còn d là cháy được.
 PT là tập các nút, nút x PT ký hiệu •x và x•.

Định nghĩa quy tắc cháy
 Cho (N, M) là lưới Petri đánh dấu với N = (P, T, F) và M  B(P).
 Thanh chuyển tT cháy được, ký hiệu (N, M) [t>  •t ≤ M.
 Quy tắc cháy -[- >-  N × T × N là quan hệ nhỏ nhất đảm bảo bất
kỳ (N,M)N và bất kỳ tT: (N, M) [t>  (N, M) [t> (N, (M\•t)  t•).
 (N, M) [t> biểu thị t là cháy được theo dấu M, ví dụ, (N,[start])[a>
có nghĩa a cháy được theo dấu [start]
 (N, M) [t> (N, M’) có nghĩa (N, M) cháy tại t dẫn tới (N, M’), ví dụ,
(N,[start])[a>(N, [c1,c2]), (N, [c3, c4])[e> (N, [c5])…
20
Lưới Petri: đánh dấu đạt được

Dáy cháy
 Cho (N, Mo) là một lưới Petri đánh dấu
 Dãy T* được gọi dãy cháy (firing sequence) của (N,Mo)  với
một số tự nhiên n:  các đánh dấu M1, M2, …, Mn và các dãy thanh
chuyển t1, t2,…, tn sao cho:  = <​​t1, . . , tn> và  i: 0  i <n,
(N, Mi) [ti+1> và (N, Mi) [ti+1> (N, Mi+1)
 Ví dụ: Lưới Petri (N, [start]) như hình vẽ. Dãy rỗng  = <> là dãy
cháy của (N, [start]), dãy huỗi =<a, b> cũng cháy được và kết
quả cháy  cho đánh dấu [c2, c3]; tương tự, = <a, c, d, e, f, b, d,
e, g>.

Đánh dấu đạt được
 đánh dấu M đạt được từ đánh dấu M0 ban đầu   một chuỗi
thanh chuyển cháy được mà khi cháy dẫn từ M0 đến M.
 Tập mọi đánh dấu đạt được từ (N, M0) được ký hiệu là [N, M0>
 Ví dụ, (N,[start])> có 7 đánh dấu đạt được: (N, [start])>, (N,
[c1,c2])>, (N, [c1, c4])>, ((N, [c2, c3])>, (N, [c3, c4])>, (N, [c5])>,
(N, [end])>. Một số trường hợp, dùng M thay cho (N,M)>
21
Lưới Petri gắn nhãn

Định nghĩa
 N = (P, T, F, A, l): (P, T, F) là lưới Petri, AA là tập nhãn, l: TA
là hàm ghi nhãn
 Một nhãn có thể gán cho nhiều thanh chuyển
 A: hành động quan sát được, A với  là hành động không quan
sát được

Đồ thị đạt được
 Cho (N, M0) với N = (P, T, F, A, l) là một lưới Petri đánh dấu gán
nhãn. (N, M0) xác định một hệ thống chuyển TS = (S, A', T') với
S=[N, M0>, Sstart = {M0}, A' = A, và T' = {(M, l(t), M‘)S×A×S | tT
(N, M) [t> (N, M')}. TS được gọi là đồ thị đạt được của (N, M0).
22
Lưới Petri đánh dấu bị chặn

Lưới Petri thu gọn trạng thái hệ chuyển
 Mô hình chứa nhiều đồng thời hoặc nhiều thẻ đặt tại cùng một vị
trí, thì kích thước hệ thống chuyển lớn hơn nhiều so với lưới Petri
 (a) có vô hạn đánh dấu đạt được ~ hệ thống chuyển có vô hạn
trạng thái; (b) hệ thống chuyển có một trạng thái [p], (c) hệ thống
chuyển có 7776 trạng thái và 32400 thanh chuyển

Lưới Petri đánh dấu bị chặn
 (N, M0) là k-bị chặn: p  P, M[N, M0>: M (p)  k.
 Ví dụ, lưới (c) là 25-bị chặn vì không có đánh dấu nào có quá 25
thẻ, nó không 24-bị chặn vì có một trạng thái để out có 25 thẻ.
 (N, M0) là an toàn nếu nó là 1-bị chặn
 (N, M0) là bị chặn: nếu k để là k-bị chặn. (b) và (c) là bị chặn, (a)
không bị chặn
23
Không bế tắc
Không bế tắc

 lưới Petri đánh dấu (N, M0) là không bế tắc (deadlock free) nếu ở
mọi đánh dấu đạt được có ít nhất một thanh chuyển cháy được:
 M [N, M0>:  một thanh chuyển tT mà (N, M) [t>
 (c) là bế tắc còn (a), (b) là không bế tắc
Thanh chuyển sống (live)

 Thanh chuyển t được gọi là “sống” nếu từ mỗi đánh dấu đạt được
thì có thể làm cho t cháy
 M  [N, M0>:  M' [N, M> mà (N, M') [t>
 Lưới Petri đánh dấu được gọi là sống nếu mỗi thanh chuyển của
nó là sống.
Ứng dụng của lưới Petri





Có cơ sở lý thuyết vững chắc
Biểu diễn tốt cho tính đồng thời
Bổ sung tem thời gian
Trong khai phá quy trình: xem chương 1
24
Lưới dòng công việc

Định nghĩa
 Lưới dòng công việc (WF-net) là lớp con đặc biệt của lưới Petri:
một vị trí đầu khởi động quy trình và vị trí cuối kết thúc quy trình
 N = (P, T, F, A, l) là một lưới Petri có nhãn và  là định danh làm
tươi không thuộc PT. N được gọi là một lưới WF  (1) P có
chứa một vị trí vào i (vị trí nguồn) mà *i = Ø, (2) P chứa một vị trí
ra o (vị trí cuối) mà o*= Ø, và (c) N1 = (P, T{}, F{(o, ), (, i)},
A{}, l {(, )}) là liên thông mạnh, nghĩa là, tồn tại đường đi
trực tiếp giữa bất kỳ cặp nút của N1.
 Ví dụ, xem các hình đã có: WF-net (trái), không là WF-net (phải)
25
Sử dụng lưới dòng công việc
Mô hình hóa quy trình tác nghiệp

 mô hình quy trình được dùng trong ngữ cảnh BPM mô tả vòng đời




các trường hợp một loại nhất định
Các quy trình ví dụ: yêu cầu bảo hiểm, đơn xin việc, đơn đặt hàng
của khách hàng, đơn đặt hàng bổ sung, bệnh nhân, và các ứng
dụng tín dụng…
Mỗi thể hiện quy trình có một điểm khởi động, một điểm kết thúc
và giữa chúng là các hành động được thực hiện theo một thủ tục
được xác định
Một mô hình có thể được khởi động nhiều lần: quy trình xử lý yêu
cầu bảo hiểm có thể được thực hiện cho hàng ngàn hoặc thậm
chí hàng triệu các khiếu nại: bản sao của cùng lưới WF
quan hệ rõ: các dãy cháy trong lưới WF  các vết nhận được
trong nhật ký sự kiện
26
Lưới dòng công việc đúng đắn

Định nghĩa
 Cho N = (P, T, F, A, l) là một lưới-WF với trạng thái vào i và trạng
thái ra o. N được gọi là đúng đắn (sound) :
 An toàn: các vị trí không thể giữ nhiều thẻ cùng một lúc
 Kết thúc đúng cách: M([N, [i])>, o M  M = [o]
 Khả năng kết thúc : M ([N, [i])>: [o]([N, M)>
 Không có bộ phận chết: (N, [i]) không chứa thanh chuyển bị chết (tức
là,  tT: một dãy cháy làm cho t cháy được)
 Lưu ý: khả năng kết thúc (option to complete) hàm ý kết thúc đúng
cách (proper completion)
 Ví dụ, lưới dòng công việc ví dụ trên là đúng đắn.
27
YAWL: Giới thiệu
Giới thiệu

 Yet Another Workflow Language
 YAWL là ngôn ngữ mô hình hóa và một hệ thống dòng công việc




mã nguồn mở
hỗ trợ trực tiếp cho nhiều mô hình mà vẫn giữ ngôn ngữ đơn giản
Tham chiếu các mô hình làm việc quan trọng nhất
Là một hệ thống quy trình làm việc mã nguồn mở được sử dụng
rộng rãi nhất
Khá tương đồng với WF-net
28
YAWL: tập con các ký hiệu
điều kiện (tương tự như vị trí trong lưới Petri)
Tác vụ (là hành động nguyên tử)
Tác vụ AND-split
Tác vụ AND-joint
Tác vụ XOR-split
Tác vụ XOR-joint
Tác vụ OR-split
Tác vụ OR-joint
điều kiện khởi đầu
điều kiện khởi đầu
Tác vụ thực hiện lặp
Tác vụ tich hợp có
thành phần con
Vùng hủy bỏ củ
một tác vụ
Split: “tách”, joint: “hội”
29
YAWL: Giải thích các ký hiệu
Các ký hiệu

 Hành động được gọi là “tác vụ” (task). Tác vụ có lôgic định tuyến
 Trạng thái được gọi là “điều kiện” (condition). Có điều kiện khởi









đầu và kết thúc chuyên biệt
Cho phép kết nối “tác vụ – tác vụ” mà không qua điều kiện
Điều kiện có “kiểu” được xác định ngữ nghĩa “phân tách” (split) và
“hợp nhất” (joint) rõ ràng
AND-join/AND-split giống như thanh chuyển: tiêu thụ một thẻ ở
mỗi cung vào và tạo một thẻ ở mỗi cung ra
XOR-split chọn đúng một cung ra tùy thuộc điều kiện dữ liệu
XOR-joint cháy được mỗi khi có một thẻ đến và không cần đồng
bộ hóa
OR-split lựa chọn một/nhiều cung ra tùy thuộc điều kiện dữ liệu;
có thể chọn 2,3 cung ra
OR-joint: đòi hỏi ít nhất 01 thẻ vào và chờ khi mọi cung ra có dấu.
YAWL hỗ trợ vùng hủy bỏ (cancelation regions). Một tác vụ có thể
có vùng hủy bỏ gồm các điều kiện, tác vụ, và cung: khi tác vụ
hoàn thành thì mọi dấu ở vùng hủy bỏ bị hủy
Tác vụ tích hợp: chỉ dẫn một YAWL thành phần
30
YAWL: Ví dụ

YAWL mô hình quy trình xử lý bồi thường hàng không
 Register request: AND-split-ra; decide: AND-joint-vào & XOR-split-ra
 New information: AND-split-ra, có một vùng hủy bỏ tương ứng trong
hình chữ nhật đường rời nét. Mỗi khi c3 có thẻ thì mọi thẻ trong
vùng hủy bỏ bị hủy hết và đi tới dấu [c1, c2, c3]
 trong kiểm tra sơ bộ và kiểm tra kỹ: ĐK OR-split-ra:chọn 1 cung ra
tùy thuộc điều kiện dữ liệu và OR-joint-vào: chờ ít nhất 1 thẻ vào
 Dữ liệu, tài nguyên, ngoại lệ để đưa thêm các ràng buộc: kiểm tra
không quá 4 lần; người kiểm tra kỹ khác người kiểm tra sơ bộ
31
Business Process Modeling Notation: BPMN
Giới thiệu

 Một trong các ngôn ngữ được sử dụng rộng rãi nhất để mô hình






hóa quy trình tác nghiệp
được hỗ trợ bởi nhiều nhà cung cấp công cụ và đã được chuẩn
hóa bởi OMG. Mỗi nhà cung cấp mời làm một bộ con của BPMN
Tương tự YAWL: tuy nhiên lôgic định tuyến không gắn với tác vụ mà
gắn với cổng (gate)
Tác vụ: hành động nguyên tử. Tác vụ có thể được lồng nhau
Sự kiện (event) tương tự như vị trí trong lưới Petri. Tuy nhiên, ngữ
nghĩa là hoàn toàn khác nhau. Sự kiện khởi đầu có 1 cung ra, sự
kiện trung gian có 1 vào&1 ra, sự kiện kết thúc có 1 cung vào. Nhiều
vào/ra giao cho cổng (gate). Sự kiện trung gian có ba kiểu.
Chuyển không là tác vụ mà là các cổng (gateway): AND, XOR, OR.
Tách (split) được dựa trên điều kiện dữ liệu, “rẽ nhánh trong sơ đồ
khối”
32
BPMN: Cổng

Các kiểu sự kiện trung gian
 Sự kiện vô điều kiện, sự kiện chờ theo tem thời gian, sự kiện chờ
theo thông điệp

Cổng
 Cổng XOR dựa trên sự kiện (event-based XOR gateway)
 Hình vẽ minh họa. Sau khi hoàn thành tác vụ x, chạy đua của 2 sự
kiện: 1 SK theo tem thời gian, 1 SK được kích hoạt bởi 1 thông
điệp. Cổng tem thời gian được xác định theo lộ trình quy định: sau
tác vụ x thì tới y; nếu thông điệp tới mà chưa hết hạn thời gian: z
được thực hiện mà không là y
33
BPMN: Tập con các ký hiệu
Sự kiện khởi đầu và sự kiện kết thúc
Các kiểu sự kiện trung gian
Các cổng AND-split và AND-joint
Các cổng XOR-split và XOR-joint
Các cổng OR-split và OR-joint
 Các cổng AND, XOR và OR hoạt động tương tự như ở YAWL
 Trên hình vẽ sẽ không có AND, XOR, OR và split/joint
34
BPMN: Một ví dụ
2
1
4
5
6
7
3

Giải thích
 Có 7 cổng: 5 cổng XOR [1, 2, 4, 6, 7] và 2 cổng AND [3, 5]
 Cổng 3: AND split (1 thẻ cho mỗi cung ra), cổng 5: AND joint (1
thẻ từ mỗi cung vào)
 Các cổng XOR-joint: 1, 4, 7
 Các cổng XOR-split: 2, 6
 Không có các cổng tem thời gian hoặc theo thông điệp
35