BPMN process views construction
-
Upload
dr-sira-yongchareon -
Category
Technology
-
view
960 -
download
0
description
Transcript of BPMN process views construction
BPMN Process Views Construction
Sira Yongchareon1, Chengfei Liu1, Xiaohui Zhao1, and Marek Kowalkiewicz2
1 Centre for Complex Software Systems and Services
Swinburne University of Technology, Australia2 SAP Research Centre, Australia
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
2
Outline
Introduction Related work and Problems Constructing Process Views Related work Conclusion
BPMN Model Process Views Construction Related Work Conclusion
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
3
Introduction Process (workflow) Views
an abstraction of base process by hiding / aggregating activities improve the privacy protection, authority control, flexible display,
collaborative process modelling
*Figure taken from Shen, M and Liu, D 2003
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
4
Related work Ordering-preserved process view approach (Liu and Shen,
2003) Rules : membership, atomicity, and order preservation
Building and visualizing personalized views of managed processes (Bobrik, Reichert et al, 2007)
Visualization approach to tackle inflexibility of building and visualizing personalized views of managed processes : reducing and aggregating
Customized process view (Grefen and Eshuis, 2008) Process provider to construct process views - aggregation Process consumer to filter unwanted information – activity hiding
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
5
BPMN Process models
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
7
Problems BPMN characteristic not considered in previous works
More complex than other process models, e.g., events, exception handling
Allow arbitrary modelling (non block-structure)
View construction more challenged Aggregation for non-well-structured process Selective aggregation of branches – not all branches of the gateways Minimal aggregation solution
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
8
BPMN Process Model (Core) Definition: BPMN process bp is tuple (O, T, TE, G, E, F) where,
O is a finite set of BPMN element objects divided into disjoint sets of T, G, and E T is a finite set of tasks G is a finite set of gateways E is a finite set of events in bp; event_type: E{Start, Catching-Intermediate, Throwing-
Intermediate, End} is a function used to specify the type of event. F O O is a finite set of control flow relations TE E T is non-injective and non-surjective defining a finite set of attachment
relations of intermediate catching events on tasks, called Event-attached task relation. F* is reflexive transitive closure of F, written oiF*oj, if there exists a path from oi to oj.
oi(FTE)*oj if there exists a path from object oi to oj via control flow relations F and event-attached task relations TE.
Function returns a set of all objects in all possible paths leading from oi via a control flow fi to oj via a control flow fj, such that oi, ojO, fi, fjF, oi(fiF*fj)oj.
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
9
BPMN example
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
10
BPMN Process Model Definition: Process fragment or P-fragment Pf is a tuple (O', T', TE', G', E',
F', Fin, Fout) where O'O, T'T, TE' TE, G'G, E'E, F' O' O' F, such that,
es{E | event_type(E)=Start}, ee{E | event_type(E)=End}, esE' eeE', i.e., Pf cannot contain any start or end event of bp
Fin, Fout F, F((O\O') O')= Fin F(O' (O\O'))= Fout; Fin and Fout are the set of entry flows and exit flows of Pf, respectively
oiO', om, on O', oxO\O', oyO\O', (ox,, om) Fin, (on, oy) Fout, oxF'*oi oiF'*oy, i.e., for every object oi in Pf.O' there exists a path from entry flow to oi and from oi to exit flow
for every object oO' there exists a path p=(es, …, fi,, …, o, …, fo, …, ee) starting from es to ee via fiFin, o, and foFout
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
11
Constructing Process Views: Rules Process View Consistency Rules
Rule 1: (Order preservation). For any two objects belonging to process views v1 and v2, their execution order must be consistent if such objects exists in v1 and v2
Rule 2: (Branch preservation). For any two objects belonging to process views v1 and v2, the branch subjection relationship of them must be consistent
Rule 3: (Event-attached task preservation). For any event-attached task relation belonging to v1 and v2, an existence of all coherence objects on the exception path led from such attached event must be consistent
Rule 4: (Message flow preservation). For any message flow exists in v1 and v2, the message flow relation of its source and target objects must be consistent
Aggregation Rules Aggregation Rule 1: (Atomicity of aggregate). An aggregate behaves as an atomic
unit of processing (task); therefore, it must preserve the execution order for every task and event within it, as well as between itself and the process.
Aggregation Rule 2: (Objects in exception path). If the task in event-attached task relation is in the aggregate then every object in its exception path must be hidden in the process view; thus, it is not considered to be in the aggregate
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
12
Constructing Process Views : Preliminary Definition: Given a set of objects NO in a process, a set of the least
common predecessors (lcp) and the least common successors (lcs) of N are:
lcp(N) = { opO\N | oN (opF*o (oqO\N (oqF*o oqF*op)))} lcs(N) = { osO\N | oN (oF*os (oqO\N (oF*oq osF*oq)))}
Functions lcpF(N) and lcsF(N) return the subset of outgoing flows of lcp(N) and incoming flows of lcs(N), respectively. (only contain the flows in F that flow into or out from N)
lcpF(N)={F | oplcp(N), oslcs(N), oN, (op, o)F | path(op os) | > 0} lcsF(N)={F | oslcs(N), oplcp(N), oN, (o, os)F | path(op os) | > 0}
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
13
Constructing Process Views : lcp and lcs Example if N={t2, t3}
lcp(N) = {g1}
lcs(N) = {g4, g5}
lcpF(N) = {(g1, t2), (g1, t3)}
lcsF(N) = {(g2, g4), (g2, g5), (g3, g4), (g3, g5)}
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
14
Process Structure validation Definition: An enclosed P-fragment (EP-fragment) Pf (O', T', TE', G', E', F',
Fin, Fout) define a P-fragment of a process. If Pf has only one entry object and one exit object as its boundary, then it is enclosed
Function Fwd(fs, oy) returns a set of objects by walking forward from fs to oy as well as from fs to the end event of the process
Function Bwd(fe, ox) returns a set of objects by walking backward from fe to ox as well as from fe to the start event of the process.
Lemma 1: Given a set of objects NO in a process bp (O, T, TE, G, E, F), an EP-Fragment Pf (O', T', TE', G', E', F', Fin, Fout) can be formed by N, if and only if,
i.e., the forward walks and backward walks of all combinations of lcpF and lcsF flows return the
same result set identical to N in bp (1) fplcpF(N), oN, fp=(ox, o), i.e., there exists only one entry object ox (2) fslcsF(N), oN, fs=(o, oy), i.e., there exists only one exit object oy (3)
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
15
Process Structure validation Theorem 1: A P-fragment Pf (O', T', TE', G', E', F', Fin, Fout) in a process bp
(O, T, TE, G, E, F) can be aggregated if and only if it is enclosed. Example:
Pf1 has one entry object o5 but it has two exit objects o12 and o14
Pf2 has two entry objects o3 and o5, and one exit object o14. Pf3 (selective branch, unenclosed) has two entry objects o3 and o9, and one exit object o16. Pf4 (selective branch, enclosed) has only one entry object o3 and one exit object o16.
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
16
Minimal AggregateFunction minAgg(OA) returns a minimal set of objects that can be aggregated, and hides every object on exception paths
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
17
Minimal Aggregate Theorem 2: A set of objects OAO in a process bp (O, T, TE, G, E, F)
satisfies all aggregation rules if and only if OA=minAgg(OA). Example
Pf1 cannot form an EP-fragment then the boundary is expanded to Pf2 (enclosed)
Pf2Pf1
g1 g2
t1 t2
t3
t4
e1 e2
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
18
Prototype FlexView for BPMN (& XPDL)
and 1BizAgi™ Process Modeler
1BizAgi ™ is the product of BIZAGI, http://www.bizagi.com
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
19
Conclusion Constructing process views on BPMN to deal with the events
and exceptions Non-well structured process tackled by EP-fragment
validation Selective aggregation of branches feature Minimal aggregate solution
15th Int’l Conf on DASFAA, Tsukuba, Japan, 2010 Sira Yongchareon, Chengfei Liu, and Xiaohui Zhao
20
Q & A
Thanks