• No results found

MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY

N/A
N/A
Protected

Academic year: 2021

Share "MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

M

ODEL

C

HECKING

OF

S

ERVICES

W

ORKFLOW

R

ECONFIGURATION

: A

P

ERSPECTIVE

ON

D

EPENDABILITY

Juan Carlos Polanco Aguilar

1

Koji Hasebe

1

Manuel Mazzara

2

Kazuhiko Kato

1

(2)

B

ACKGROUND

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.

(3)

AN EXAMPLE OF WORKFLOW

B

ACKGROUND

User

Order Process User Response Invoke Process

Shop

Payment Received

Payment

Company

Process Payment N Y

(4)

B

USINESS

P

ROCESS

M

ODELING

N

OTATION

(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

(5)
(6)

W

ORKFLOW

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.

(7)

R

EQUIREMENTS

OF

THE

V

ERIFICATION

P

ROCEDURE

¢

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.

(8)

M

OTIVATION

¢

Reconfiguration of workflow development and

verification of requirements through research status.

Workflow

Verification tool Formal Language Revision 8 Requirements Correct Workflow

Verification Procedure

(9)

P

URPOSE

¢

Develop a formal verification for reconfiguration

of workflows.

—

Based on model checking technique (SPIN Model

Checker).

—

Introduce a translation algorithm from a BPMN

(10)

O

VERVIEW

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   (LTL  Formula)  Requirement  

Verifica7on   Procedure   Valid     (BPMN  model   sa7sfies  the   requirement.)   Invalid   (There  is  a   counter   example.)   Reconfigura7on   Automa7c   Transla7on   Procedure   SPIN  Model   Checker   Re vi si on  

(11)

O

VERVIEW

OF

THE

VERIFICATION

–E

XAMPLE

:

B

OOKSHOP

Client

Bookshop

(12)

S

TEP

1: W

ORKFLOW

R

ECONFIGURATION

12

An Example of Requirements

Client sends an order, the bookshop verifies supply

(13)

S

TEP

1: W

ORKFLOW

R

ECONFIGURATION

Introduce a parallel branching

(14)

S

TEP

2: T

RANSLATION

P

ROCEDURE

(1) O

VERVIEW

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.

(15)

S

TEP

2: T

RANSLATION

P

ROCEDURE

(2) T

RANSLATION

APPLICATION

EXAMPLE

t3 Labels e1 t4 t1 e2 t 2 t5 t6 t7 t8 t9 t 10 t11 t12 t13 t14 e3 t15 t16 t17 t

Partitioning of Workflow

into processes

(16)

S

TEP

2: T

RANSLATION

P

ROCEDURE

(2) T

RANSLATION

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; } }

(17)

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 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() 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;

S

TEP

2: T

RANSLATION

P

ROCEDURE

(18)

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; }

S

TEP

2: T

RANSLATION

P

ROCEDURE

(3) C

OMPLETE

P

ROMELA

C

ODE

(19)

• 

Reachability:

• 

LTL formula:

(p

→□

(q

r))

• 

define p as flag1 == 1;

• 

define q as flag2 == 1;

S

TEP

3: M

ODEL

CHECKING

VERIFICATION

(1) P

ROCEDURE

OVERVIEW

¢ 

Introduce Linear Temporal Logic (LTL) formulas to

verify the requirement.

¢ 

Typical examples: deadlock freedom, security,

reachability.

Promela code

Requirement

(LTL)

(20)

S

TEP

3: M

ODEL

CHECKING

VERIFICATION

(2) R

EQUIREMENTS

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)

(21)

S

TEP

3: M

ODEL

CHECKING

VERIFICATION

(3) V

ERIFICATION

EXAMPLE

Promela code

Requirement

SPIN

Property

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

(22)

S

TEP

4: R

ECURSIVE

RECONFIGURATION

OF

W

ORKFLOW

M

ODEL

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 Supply Verify Enough Supply

Generate Purchase No Prepare and Send Order Yes t3 t 7 t8 t11

(23)

R

ELATED

W

ORK

¢ 

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

(24)

C

ONCLUSIONS

¢

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.

(25)

F

UTURE

W

ORK

¢

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

References

Related documents

In particular, the choice of the normal value is a crucial issue in the determination of a greater (or smaller) dumping margin. Table 7 lists some specific indicators. It should

HT 95/110 with two turning spindles, a swivelling milling spindle, a Y axis and an additional tool turret.. HT 95/110 with two turning spindles, a swivelling milling spindle and a Y

They include representatives from the Met Services, Water Resources Authority (WRA) , ODPEM, Ministry of Health, Ministry of Agriculture and Fisheries, Rural

(C) Representatives of the director shall perform an instrument certification on approved evidential breath testing instruments listed under paragraph (A) (3) of rule 3701-53-02 of

Findings from this study call attention to the importance of creating a caring climate in youth sport programs to foster positive mental well-being in young athletes via

Social network analysis methods were applied to investigate the static and dynamic properties of the resulting social networks of honey bees on a global, intermediate and local

Wonderland Cupcakes will succeed through making high quality, unique, creative custom made cupcakes.. It will focus on a niche market and will attempt to achieve the best

By “mapping” the unique shape of your eye, the WaveLight® ALLEGRETTO WAVE™ Eye-Q Laser allows your surgeon to perform an individualized Laser Vision Correction treatment just