25
MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji Hasebe 1 Manuel Mazzara 2 Kazuhiko Kato 1 1 University of Tsukuba – Department of Computer Science 2 Newcastle University – School of Computing Science 1

1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1

Koji Hasebe 1 Manuel Mazzara 2 Kazuhiko Kato 1

1 University of Tsukuba – Department of Computer Science 2 Newcastle University – School of Computing Science

1

Page 2: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

BACKGROUND

2

WHAT IS WORKFLOW?

•  A workflow is a model defined by a series of tasks to

produce an outcome. •  Typical examples of workflow include:

•  Business office workflow. •  Web services workflow. •  Mobile workflow.

Page 3: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

AN EXAMPLE OF WORKFLOW

BACKGROUND

3

User

Order Process

User Response

Invoke Process

Shop

Payment Received

Payment Company

Process Payment

N

Y

Page 4: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

BUSINESS PROCESS MODELING NOTATION (BPMN)

•  Developed by Business Process Management Initiative (BPMI) in 2004 and maintained by the Object Management Group (OMG) from 2005.

•  Current Version: 2.0 (March 2011). •  Widely used standard for business process

modeling. •  Simple drawing scheme that is easy to learn and

train. •  Portability for many software vendors

implementation

4

Page 5: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

EXAMPLE OF BPMN SPECIFICATION

5

Page 6: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

WORKFLOW AS A SAFETY-CRITICAL SYSTEM

¢ Workflow application examples �  Internet shopping site. �  Office workflow.

¢ Safety / security problems �  Leakage of Information. �  Impersonation. �  Design error and flow bugs.

6

Page 7: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

REQUIREMENTS OF THE VERIFICATION PROCEDURE

¢ Reconfiguration process is often applied in a workflow.

¢ Safety / security properties might be compromised after reconfiguration (deadlock, security).

¢ Reconfiguration is achieved through use of BPMN elements.

¢ Verification of required properties is achieved by the verification of the BPMN workflow specification.

7

Page 8: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

MOTIVATION

¢  Reconfiguration of workflow development and verification of requirements through research status.

Workflow Verification

tool

Formal Language

Revision

8

Requirements

Correct Workflow

Verification Procedure

Page 9: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

PURPOSE

¢ Develop a formal verification for reconfiguration of workflows.

�  Based on model checking technique (SPIN Model Checker).

�  Introduce a translation algorithm from a BPMN model into Promela code.

9

Page 10: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

OVERVIEW OF THE VERIFICATION

Step 1: Workflow reconfiguration to achieve flexibility.

Step 2: Translation from the BPMN model into a formal Promela model (SPIN Specification Language).

Step 3: Model checking of the Promela model with a requirement expressed in Linear Temporal Logic (LTL) formulas.

Step 4: Recursive reconfiguration to meet all the requirements.

10

Old  BPMN  Diagram  

New  BPMN  Diagram  

Formal  Specifica7on  of  BPMN  Model  

Promela  Model  

Requirement  (LTL  Formula)  

Verifica7on  Procedure  

Valid    (BPMN  model  sa7sfies  the  requirement.)  

Invalid  (There  is  a  counter  example.)  

Reconfigura7on  

Automa7c  Transla7on  Procedure  

SPIN  Model  Checker  

Revision

 

Page 11: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

OVERVIEW OF THE VERIFICATION–EXAMPLE: BOOKSHOP

11

Client

Bookshop

Provider

Page 12: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

STEP 1: WORKFLOW RECONFIGURATION

12 An Example of Requirements •  Client sends an order, the bookshop verifies supply

in the warehouse and then sends the order to client.

Page 13: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

STEP 1: WORKFLOW RECONFIGURATION

13

Introduce a parallel

branching

Page 14: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

STEP 2: TRANSLATION PROCEDURE (1) OVERVIEW OF THE PROCEDURE

¢ Specification of the BPMN diagram by using set theoretical notation.

¢ Develop and introduction of the translation algorithm by using primary elements obtained after specification.

¢ Modification of the translated model for a challenging verification.

¢ Procedure Limitations �  Translation procedure not fully automated. �  After training on set theory basic concepts and

Promela language, handling can be achieved. 14

Page 15: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

STEP 2: TRANSLATION PROCEDURE (2) TRANSLATION APPLICATION EXAMPLE

15

t3

Labels

e1

t4

t1 e2 t2

t5

t6 t7 t8

t9 t10

t11 t12

t13

t14 e3

t15 t16 t17

t18

t19

e4

Partitioning of Workflow into processes

Page 16: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

STEP 2: TRANSLATION PROCEDURE (2) TRANSLATION APPLICATION EXAMPLE

16

t3 t4 t5

t6 t7 t8

t9

t11

e3

BPMN formal specification

•Tasks = {t3,t4 , t5 , t6,

t7, t8, t9, t11} •Events = {e3} •Objects ={e3, t3,t4 , t5 , t6, t7, t8, t9, t11} •Relation = {(t3, t6), (t6, t4), (t6, t5), (t5, t7) , (t5, t8), (t7, e3) , (t7, t9), (t9, t11)} •Connect = {(t4, e2),   (t8, t2), (t11, t15)}

Translation

Translation algorithm

for all a∈Connect(a,b) print “chan a[buf]” … for all (a,b)∈Connect(a,b) print “a!msg” print “a?msg” …

Primary Promela code chan t4[1] of mtype chan t8[1] of mtype chan t11[1] of mtype active proctype P4() { t1?msg; t4!msg; atomic{ t8!msg; t11!msg; } }

Complete Promela code

chan t4[1] of mtype chan t8[1] of mtype chan t11[1] of mtype bool flag1 = 0; bool flag2 = 0; bool flag3 = 0; active proctype P3() { t1?msg; flag1= 1; t4!msg; atomic{ t8!msg; flag2= 1; t11!msg; flag3= 1; } }

Page 17: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

mtype = {msg}; chan t1 = [1] of {mtype} chan e2 = [1] of {mtype} chan t4 = [1] of {mtype} chan t8 = [1] of {mtype} chan t11 = [1] of {mtype} chan t12 = [1] of {mtype} chan t13 = [1] of {mtype} chan t18= [1] of {mtype} chan t19 = [1] of {mtype} active proctype P1() { t1!msg; } active proctype P2() { e2?msg; } active proctype P3() { t8?msg; }

active proctype P4() { t1?msg; do t4!msg; atomic { t8!msg; t11!msg } od } active proctype P5() { do :: t12!msg; t13!msg; od } active proctype P6() { t4?msg; } active proctype P7() { t13?msg; t18!msg }

active proctype P8() { t12?msg; do :: t18!msg :: t19!msg od } active proctype P9() { t11?msg; } active proctype P10() { t18?msg; } active proctype P11() { t19?msg; }

STEP 2: TRANSLATION PROCEDURE (3) COMPLETE PROMELA CODE

17

Page 18: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

mtype = {msg}; chan t1 = [1] of {mtype} chan e2 = [1] of {mtype} chan t4 = [1] of {mtype} chan t8 = [1] of {mtype} chan t11 = [1] of {mtype} chan t12 = [1] of {mtype} chan t13 = [1] of {mtype} chan t18= [1] of {mtype} chan t19 = [1] of {mtype} active proctype P1() { t1!msg; } active proctype P2() { e2?msg; } active proctype P3() { t8?msg; }

active proctype P4() { t1?msg; do t4!msg; atomic { t8!msg; t11!msg } od } active proctype P5() { do :: t12!msg; t13!msg; od } active proctype P6() { t4?msg; } active proctype P7() { t13?msg; t18!msg }

active proctype P8() { t12?msg; do :: t18!msg :: t19!msg od } active proctype P9() { t11?msg; } active proctype P10() { t18?msg; } active proctype P11() { t19?msg; }

mtype = {msg, amount}; chan t1 = [1] of {mtype} chan e2 = [1] of {mtype} chan t4 = [1] of {mtype} chan t8 = [1] of {mtype} chan t16 = [1] of {int} chan t11 = [1] of {mtype} chan t12 = [1] of {mtype} chan t13 = [1] of {mtype} chan t18= [1] of {mtype} chan t19 = [1] of {mtype} bool flagA = 0; bool flagB = 0; bool flag1 =0; bool flag2 =0; bool flag3 =0; bool flag4 =0; bool flag5 =0; bool flagX =0; bool flagY = 0; active proctype P1() { t1!msg; } active proctype P2() { e2?msg; }

active proctype P3() { t8?msg; flagA = 1; } active proctype P4() { t1?msg; flag1 = 1 do t4!msg atomic{ t8!msg; flag2=1; t11!msg flag3=1; } od } active proctype P5() {t16?amount; (amount >= 4000) -> t12!msg; flagX = 1 (amount < 4000) -> t13!msg; flagY=1 do :: t12!msg; flag4= 1 :: t13!msg; flag5= 1 od } active proctype P6() { t4?msg; }

active proctype P7() { t13?msg; t18!msg } active proctype P8() { t12?msg; do :: t18!msg :: t19!msg od } active proctype P9() { t11?msg; flagB = 1; } active proctype P10() { t18?msg; } active proctype P11() { t19?msg; }

STEP 2: TRANSLATION PROCEDURE (3) COMPLETE PROMELA CODE

18

Page 19: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

•  Reachability: •  LTL formula: □(p→□(q→◊r)) •  define p as flag1 == 1; •  define q as flag2 == 1; •  define r as flag3 == 1;

STEP 3: MODEL CHECKING VERIFICATION (1) PROCEDURE OVERVIEW

¢  Introduce Linear Temporal Logic (LTL) formulas to verify the requirement.

¢  Typical examples: deadlock freedom, security, reachability.

19

Promela code

Requirement (LTL)

Page 20: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

STEP 3: MODEL CHECKING VERIFICATION (2) REQUIREMENTS DEFINITION

¢ Typical requirements can be identified through patterns in LTL formulas: �  Reachability: “Program always reaches aimed state” •  □(P→□(Q→◊R)) �  Deadlock: “There is no next state”

¢  Deadlock: ◊(○⊥∧¬terminal) ¢  Deadlock-freedom: □(○⊥→terminal)

¢ Usage of assertion alternative

20

active proctype P4() { t3?msg; flag1 = 1; do :: t8!msg; flag2 = 1; :: t11!msg; flag3 = 1; od assert(flag2 == 1 && flag3 == 1) }

Page 21: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

STEP 3: MODEL CHECKING VERIFICATION (3) VERIFICATION EXAMPLE

21

Promela code

Requirement (LTL)

SPIN model

checker

Property INVALID

active proctype P4( ) { t3?msg; flag1= 1; t4!msg; atomic{ t8!msg; flag2= 1; t11!msg; flag3= 1; } }

t3 t4 t5

t6 t7 t8

t9

t11

e3

Model Revision

Page 22: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

STEP 4: RECURSIVE RECONFIGURATION OF WORKFLOW MODEL

22

Promela code

Requirement (LTL)

SPIN model

checker

Property VALID

active proctype P4() { t3?msg; flag1 = 1; do :: t8!msg; flag2 = 1; :: t11!msg; flag3 = 1; od }

Verify items and stock

Verify Supply

Enough Supply

Generate Purchase

No

Prepare and Send Order Yes t3 t7

t8

t11

Page 23: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

RELATED WORK ¢  Model Checking for Web Services:

�  S. Nakajima. Model-Checking of Safety and Security Aspects in Web Service Flows, ICWE 2004.

�  S. Nakajima. Model-Checking Behavioral Specification of BPEL Applications, WLFM 2005.

¢  Translation Procedures: �  C. Ouyang, M. Dumas, A. H. M. ter Hofstede, W. M. P. van der

Aalst. From BPMN Process Models to BPEL Web Services. IEEE International Conference on Web Services 2006.

�  J. Chen, H. Cui. Translation from Adapted UML to Promela for CORBA-based Applications, SPIN 2004.

¢  Reconfiguration in Workflow Systems: �  M.Mazzara, N. Dragoni, M. Zhou. Dependable Workflow

Reconfiguration, NODES 2011. �  M.Mazzara, A. Bhattacharyya. On Modeling and Analysis of

Dynamic Reconfiguration of Dependable Real-Time Systems, DEPEND 2010.

23

Page 24: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

CONCLUSIONS

¢ Verify the procedure for the reconfiguration of workflows.

¢  Introduce the translation from the BPMN model into a Promela model and use SPIN model checker for verification.

¢ Develop a formal definition of BPMN model and introduce a translation algorithm.

¢  Introduce a recursive process of verification.

24

Page 25: 1 University of Tsukuba – Department of Computer Science ...MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY Juan Carlos Polanco Aguilar 1 Koji

FUTURE WORK

¢ Develop the automation of the verification procedure.

¢  Include a GUI environment. ¢  Increase the handle ability:

�  Background process of translation and verification. �  Develop set of templates for requirement patterns

(usual LTL formula for deadlock, reachability).

25