2011년 대한산업공학회 추계학술대회
Generating Business Process Model with Constraint Satisfaction Problem based on Data Flow Bernardo N. Yahya, Hyerim Bae* Industrial Engineering Department Pusan National University Email : {bernardo, hrbae} @pusan.ac.kr * Corresponding Author Email :
[email protected] 2011 대한산업공학회 추계학술대회
2011년 대한산업공학회 추계학술대회
Contents 1. Introduction 2. Literature Review 3. Proposed Method 4. Case Study 5. Conclusion & Further Research
2011년 대한산업공학회 추계학술대회
1. Introduction ∙ Background
- Customization becomes a trend. - Customer requires a customized process - The trend of crowdsourcing
∙ Customization Process Model Tool • The ability to customize a process model from large collections of activities in the repository. • It should be able to: • Generate customized process automatically based on constraints • Let the “crowd” generate customized process
Previous Research Formulating the data-flow perspective for BPM Creating process reference model from large collections of process model
2011년 대한산업공학회 추계학술대회
1. Introduction ∙ Problem Definition - How “crowd” can create a valid process - How to create significant customized process
∙ Research Objectives • Make a tool supporting process design for customization • The ability to customize a process model based on customer requirement and constraint from service provider.
• There are 2 specific aims : • Generate customized process automatically based on constraints • Crowdsource-ability
Focus of this study ∙ To generate various alternative of process model based on the data flow using the constraint satisfaction problem.
2011년 대한산업공학회 추계학술대회
2. Literature Review - Yahya, B. N., Bae, H., Bae, J., (2009), “Process Design Selection using Proximity Score Measurement”, 3rd International Workshop on Collaborative Business Process (CBP ’09), Germany. - Yahya, B.N., Bae, H., Bae, J., Kim, D., (2010)“Generating Business Process Reference Model using Genetic Algorithm”, Proceedings of Biomedical Fuzzy Systems Association 2010, Kitakyushu.
-Jimenez-Ramirez, A., Gasca, R.M., Varela-Vaca, A.J., “Contract-based test generation for data flow – business processes using constraint programming”, 5th International Conference on Research Challenges in Information Sciecne (RCIS), pp.1-12, (2011) -- Sun, S.X., Zhao, J.L., Nunamaker, J.F., Sheng, O.R.L., “Formulating the Data-Flow Perspective for Business Process Management” Information System Research, vol. 17, no. 4, pp. 374-391, December 2006. -Halac et al, “Reducing Agent Plans to Workflows”, LADS 2009, LNAI 6039, pp.1634, 2010
2011년 대한산업공학회 추계학술대회
3. Proposed Model Definition 1. Process Definition P is defined as a set of process p, which is a tuple A ={ai| i=1,…,I} : set of activities L ⊆{lu = (ai,aj) | ai,aj ∈A, lu ∈L} : set of control flow DF : set of data flow IN : input containers OUT : output containers • For a split activity ai, such that |SAi| > 1, where SAi={aj |(ai, aj)∈L}, f(ai) = ‘AND’ if all aj should be executed; otherwise, f(ai)= ‘OR’. • For a merge activity ai, such that |MAi| > 1, where MAi={aj|(aj, ai) ∈L}, f(ai) = ‘AND’ if all aj should be executed; otherwise, f(ai)= ‘OR’.
2011년 대한산업공학회 추계학술대회
3. Proposed Model Definition 2. Activity Definition - an activity is formally defined as ai = -ni is the identifier of the activity (activity name) -ini, outi correspond to input and output container of activity i, respectively. - Data Container : DC, is the set of data items which are needed to execute an activity or generated by the activity, DC = {dl | l=1,…,L}, dl ∈ IN, OUT , IN= [in1, in2,…,ini], OUT= [out1,out2,…,outi] and IN, OUT ⊆ DC. - Data Item : dl stands for data which is held by input and output containers - Req(ini) and Req(outi) stands for the required input and output of activity i, respectively.
2011년 대한산업공학회 추계학술대회
3. Proposed Model Definition 3. Start and End Activity • A Start activity (aS) is an activity with an empty set of preceding activities, |MAS|=0. An End activity (aE) is an activity with an empty set of succeeding activities, |SAE|=0.
Definition 4. Data Flow -A data flow, dfi = < ai, di, aj, dj > where di ∈ OUT and dj ∈ IN, ai ,aj ∈ A -The data flow should follow the constraint that any of Req(outi) →Req(inj) : it means that at least there is a flow of required data output of i-th activity to required data input of j-th activity.
Definition 5. Possible Predecessor and Possible Successor Possible predecessor is a set of activities that satisfy the constraints to be predecessor of activity i. Possible successor is a set of activities that satisfy the constraints to be successor of activity i. • pred(ai) ⊆ {apred| apred ∈ A ∧ ∀Req(outpred) →Req(ini)} • succ(ai) ⊆ {asucc| asucc ∈ A ∧∀Req(outi) →Req(insucc)}
2011년 대한산업공학회 추계학술대회
3. Proposed Model Definition 6. Routing Constraint (RC) A set of routing constraint (RC) consist of three kinds of constraint: - Backward constraint (Cib) : the set of routing constraint needed for a process to execute ai. - Forward constraint (Cif) : the set of routing constraint for a process to execute the successor of ai. - Irrelevant constraint (Cir) : the set of routing constraint that irrelevant for ai.
Definition 7. Conditional Data Dependency Conditional data dependencies : λi(IN, OUT) represents the conditional dependencies of OUT and OUT =[out1,out2,…outi] is the set of output data items produced by ai.
2011년 대한산업공학회 추계학술대회
3. Proposed Model Definition 8. Satisfaction Function Satisfaction function is a function to return binary value to measure whether such constraint is satisfied or not. - RC = {ck| ∃k ∧ ∀i , ck ∊ Cib ⋃ Cif ⋃ Cir } - satC(Ci*) : satisfaction rate of i-th activity for all type of routing constraint *, where *={b,f}. - satCr(Ci*) : satisfaction rate of i-th activity for all type of routing constraint r. s a tC (C i ) b
s a ti (c k ) ck C i
b
k
k
ck
s a tC (C i ) f
s a ti ( c k ) ck C i
k
k
ck
f
s a tC (C i ) r
r
r
s a ti ( c k ) ck C i
r
k
ck
k
- sati (ck) : satisfaction function of k-th constraint in i-th activity. It is 0 if k-th constraint is not satisfied in i-th activity, 1 otherwise - satir(ck)=0 if k-th irrelevant constraint is satisfied in i-th activity, 1 otherwise.
2011년 대한산업공학회 추계학술대회
3. Proposed Model Definition 9. MAX-CSP - MAX-CSP is defined as maximum the value of satisfaction function among generated process design, as called maximum of constraint satisfaction in the latter part. - In order to find the maximum of constraint satisfaction, we denote - Objective function of MAX-CSP : Z = max zp - zp is the total value of constraint satisfaction of a created process p. We may select the best process p which has the greatest value of constraint satisfaction among all created process.
zp
s a tC (C i ) b
i
s a tC (C i ) f
i
i
| Ci | b
r
i
|C i
f i
|
|C i
r
s a tC (C i ) r i
|
2011년 대한산업공학회 추계학술대회
3. Proposed Model Procedure to Generate Process Design based on data-flow with maximum CSP Set of Activities
Determine the possible predecessor & possible successor
Calculate the constraint satisfaction function
Filter the possible predecessor & possible successor
Select the best design based on MAX-CSP
Generate the possible process design
Expert / Manager Decision Verification
2011년 대한산업공학회 추계학술대회
4. Case Study : Loan Application Process Data items d1
Applicant Name
d8
Account balance
d15
Risk
d2
Loan Amount
d9
Account balance verified
d16
Amount adjusted
d3
Annual income
d10
Applicant qualified
d17
Agreed by applicants
d4
Application complete
d11
Interest rate
d18
Property insured
d5
Application summary
d12
Property address
d19
Signed by applicants
d6
Employment status verified
d13
Current owner of property
d20
Signed by loan officer
d7
Credit score
d14
Appraised value of property
d21
Signed by manager
Activities a1
Receive application
a8
Decision Node 2
a15
Decision Node 4
a2
Verify completeness of application
a9
Determine interest rate
a16
Forward to loan officer for signature
a3
Decision Node 1
a10
Request appraisal info
a17
Decision Node 5
a4
Request missing info
a11
Evaluate loan application
a18
Forward to manager for signature
a5
Verify employment status
a12
Decision Node 3
s
Start node
a6
Check credit history
a13
Adjust loan amount
e
End node
a7
Verify liquid assets
a14
Contact applicants for agreement
2011년 대한산업공학회 추계학술대회
4. Case Study : Loan Application Process Routing Constraint in the Property Loan Approval Process c1
d4=Yes
c7
(d17=Yes) AND (d19=Yes)
c2
d4=No
c8
(d17=No) AND (d19=No)
c3
d10=Yes
c9
c4
d4=No
((d15=High) AND (d16>500,000)) OR ((d15=Low) AND (d2>500,000)
c5
d15=High
c10
c6
d15=Low
((d15=High) AND (d16≤500,000)) OR ((d15=Low) AND (d2≤500,000)
Backward, Forward, Irrelevant Routing Constraint Sets Activity
C ib
Cif
Cir
a1,a2,a3
∅
{c1, c2, c3, c4, c5, c6, c7, c8, c9, c10}
∅
a4
{c2}
{c1, c3, c4, c5, c6, c7, c8, c9, c10}
∅
a5,a6,a7,a8
{c1}
{c3, c4, c5, c6, c7, c8, c9, c10}
{c2}
{c1, c3}
{c5, c6, c7, c8, c9, c10}
{c2, c4}
{c1, c3, c5}
{c7, c8, c9, c10}
{c2, c4, c6}
{c1, c3, c5 ∨ c6}
{c7, c8, c9, c10}
{c2, c4}
{c1, c3, c5 ∨ c6, c7}
{c9, c10}
{c2, c4, c8}
{c1, c3, c5 ∨ c6, c7, c9}
∅
{c2, c4, c8, c10}
a9,a10,a11,a12 a13,a14 a15 a16,a17 a18
2011년 대한산업공학회 추계학술대회
4. Case Study : Loan Application Process 4. Request Mission Info OUT: ∅
IN: d4
11. Evaluate loan Application
2. Verify Application Completeness IN: d1 ,d2 ,d3 d8 ,d12
IN: d1 ,d2 ,d6 d7 , d8 , d 9 , d10 ,d11 ,d14
OUT: d4
OUT: d15
5. Verify Employment Status 10. Request Appraisal Info IN: d1 ,d12
13. Adjust loan amount
OUT: d6 ,d10
IN: d1 ,d11 , d14 ,d15
OUT: d13 , d14
1. Receive application IN: ∅
IN: d1 ,d3
6. Check Credit History
OUT: d1 ,d2 ,d3 d5 ,d8 ,d12
IN: d1
7. Verify Liquid Assets
OUT: d16 IN: d1 ,d8
OUT: d9 ,d10
14. Contact Applicants for agreement
OUT: d7 ,d10
IN: d1 ,d2 , d10,d16 ,d18
OUT: d17, d19
9. Determine Interest Rate 18. Forward to manager for signature IN: d1 ,d2 , d5,d10 , d11 ,d15,d16 , d17 ,d19
OUT: d21
Decision Node 1 IN:d4
Decision Node 2 IN:d10
IN: d1 ,d2 , d3,d7 , d14 ,d16
OUT: d11
16. Forward to loan officer for signature IN: d1 ,d2 , d10,d11 , d15 ,d16 , d17 ,d19
Decision Node 3 IN:d15
Decision Node 4 IN:d17 ,d19
OUT: d20
Decision Node 5 IN:d2 ,d15, d16
2011년 대한산업공학회 추계학술대회
4. Case Study : Loan Application Process succ(a1) : Set of possible successor of a1
Set of possible successor of a1
a2 IN: d1 ,d2 ,d3 OUT: d4 d8 ,d12
a4 IN: d4
a5
a1
IN: d1 ,d3 IN: ∅
OUT: ∅
OUT: d1 ,d2 , d3, d5 ,d8 ,d12
OUT: d6 ,d10
IN: d1 ,d2 ,d3 OUT: d4 d8 ,d12
Filtering based on CSP 1. Check Decision 2. Remove activity that require further decision
a6 IN: d1
IN: d4
OUT: ∅
a5 IN: d1 ,d3
OUT: d6 ,d10
a6 OUT: d7 ,d10
IN: d1
a7 IN: d1 ,d8
a4
OUT: d7 ,d10
a7 OUT: d9 ,d10
IN: d1 ,d8
OUT: d9 ,d10
… a10 IN: d1 ,d12
OUT: d13 ,d14
Conditional Data Dependencies λ9
([d16], [d11])
λ17
([d2,d16], ∅)
λ14
([d16], [d17,d19])
λ18
([d16], [d21])
λ16
([d16], [d20])
λe
([d1, d11, d15, d16, d17, d19, d20, d21], [d1, d11, d15, d16, d17, d19, d20, d21])
2011년 대한산업공학회 추계학술대회
4. Case Study : Loan Application Process Supposed that Expert created a process (same with Existing Process)
2011년 대한산업공학회 추계학술대회 Activities Dependencies
Predecessor Set
Cib
Cif
Cir
a1
∅
1
1
1
a2
{a1}
1
1
1
a3
{a2}
1
1
1
a4
{a2}
1
1
1
a5
{a1}
1
1
1
a6
{a1}
1
1
1
a7
{a1}
1
1
1
a8
{a5, a6, a7}
1
1
1
a9
{a1, a6, a10}
1
1
1
a10
{a1}
1
1
1
a11
{a1, a5, a6, a7, a9, a10}
1
1
1
a12
{a11}
1
1
1
a13
{a1, a9, a10, a11}
1
1
1
a14
{a1, a5, a6, a7}
1
1
1
a15
{a14}
1
1
1
a16
{a1, a5, a6, a7, a9, a11, a14}
1
1
1
a17
{a11}
1
1
1
a18
{a1, a5, a6, a7, a9, a11, a14}
1
1
1
Activity
The value of zp=1
2011년 대한산업공학회 추계학술대회
5. Conclusion and Further Research • This paper proposed a constraint satisfaction problem based on data-flow. • This approach can assist novice designer to create a process based on the data-flow requirement. • This method is considered as a tool support to allow crowd generating customized process (crowdsourcing). • In the future, we are going to enhance the research limitation on this study • Verification of data-flow-based process design • Process behavior considerations • The complexity of process models • Other attributes, instead of path distances
2011년 대한산업공학회 추계학술대회
6. References Yahya, B.N., Bae, H., Bae, J., (2009) “Process Design Selection using Proximity Score Measurement”, BPM 2009 Workshop, Germany, LNBIP 43, pp. 330-341. Yahya, B.N., Bae, H., Bae, J., Kim, D., (2010)“Generating Business Process Reference Model using Genetic Algorithm”, Proceedings of Biomedical Fuzzy Systems Association 2010, Kitakyushu. Aalst, W.v.d. (2000), “Workflow Verification: Finding Control-Flow Errors Using Petri-Net-Based Techniques”, Business Process Management, LNCS no. 1806, pp. 161-183, Springer-Verlag. Sun, S. X., Zhao, J.L., Nunamaker, J.F., “Formulating the Data-Flow Perspective for Business Process Management”, Information System Research, vol. 17, no. 4, pp. 374-391, December 2006. Jimenez-Ramirez, A., Gasca, R.M., Varela-Vaca, A.J., “Contract-based test generation for data flow – business processes using constraint programming”, 5th International Conference on Research Challenges in Information Sciecne (RCIS), pp.1-12, (2011) Halac , T.G. Cetin, O, Ekinci, E. E., Erdur, R.C., Dikenelli, O., “Reducing Agent Plans to Workflows”, LADS 2009, LNAI 6039, pp.16-34, 2010 Nilsson, N.J., “Artificial Intelligence, A New Synthesis”, Morgan Kaufmann Publishers, Inc. 1998.
Acknowledgement This work was supported by a Korea Research Foundation grant funded by the Korean Government (MOEHRD) (The Regional Research Universities Program / the Research Center for Logistics Information Technology).