Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase...

18
Anwendung einer Theorie für Mobile Systeme auf Geschäftsprozessmanagement Frank Puhlmann Fachgebiet Business Process Technology Hasso Plattner Institut Potsdam On the Application of a Theory for Mobile Systems to Business Process Management

Transcript of Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase...

Page 1: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Anwendung einer Theorie für Mobile Systeme auf Geschäftsprozessmanagement

Frank Puhlmann

Fachgebiet Business Process TechnologyHasso Plattner InstitutPotsdam

On the Application of a Theory for Mobile Systems to Business Process Management

Lazy SoundnessA Prototypical Tool-Chain

Lazy Soundness is a new kind of soundness dealing with so calledleft-behind or lazy activities. Since these activities can be active while the final activity of the business process has already been reached, processes containing these activities can never be sound. Lazy soundness provides a criterion to prove business processes containing these activities to be free of deadlocks and livelocks.

Prof. Dr. Mathias WeskeFrank PuhlmannBusiness Process Technology GroupHasso Plattner InstituteCampus Griebnitzsee14482 Potsdam, Germany

http://bpt.hpi.uni-potsdam.de

A business process containing Discriminator, N-out-of-M, or Multiple Instances without Synchronization patterns (called the critical patterns), such as

A

B

C

2 D

Problem

Solution

Structural

Sound Process

Initial

Node

Final

Node

A, B, and C represent three web service interactions.

After two of them have completed, D is executed and thereafter the process is finished.

However, one of the activities is still active, and clean-up work like payment and documentation has to be done.

As the remaining activity contradicts the soundness definition, we can not use existing tools to verify the sample business process. Still, automated verification regarding deadlocks and livelocks is quite important even if you employ one of the critical patterns in your business process.

Lazy Soundness proves business processes containing the critical patterns (and all others) to be free of deadlocks and livelocks. Technically, it abstracts from all internals of the process and just considers the initial and final node. The abstracted process is verified using bisimulation techniques.

Demo Presentation:

Thursday, Sep 7 10:30am, Room EI10

Lazy soundness has been implemented in a prototypical tool chain at our research group. We provide a graphical editing of business processes using BPMN, automatically formalize BPM diagrams into pi-calculus expressions, and use existing tools to decide lazy soundness for a given business process.

The theoretical background of Lazy Soundness will be presented on Tuesday, September 5 16:30am, Room EI9.

Page 2: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Grundlagen

Page 3: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Shop

Dienste

Send

Order

Receive

Order

Custo

mer

Geschäftsprozess-management

Schlüsselkonzepte

Receive Order

Process Order

Pack Item

Create Invoice

Ship Order

Receive Payment

More Items?

Aktivitäten

BeziehungenSales

Distribution

Fulfillment

Accounting

Rollen

ORDER

ORDER

ORDER

INVOICE

SHIPMENT

SHIPMENT

INVOICE

Daten

Interaktionen

3

Page 4: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Design & Analyse

Konfiguration

Abwicklung

Evaluierung

Geschäftsprozess-management

Lebenszyklus

4

Page 5: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Thema der Arbeit Design & Analyse

Design & Analyse

Graphischer Prozess/

Interaktion

Validierung

Pi-Kalkül Darstellung

Abwickelbare Darstellung

SimulationVerifizierung

5

Page 6: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Das Pi-Kalkül Mobilität

6

R S

S

S

S

S

S

B

Page 7: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Beitrag

Page 8: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Ndef= (!e1 . . . e8 )

7!

i=1

Ni

Prozesse Formale Darstellung

8

Receive Order Process

Order

Pack Item

Create Invoice

Ship Order

Receive Payment

More Items?

N1

N2

N3 N4

N6

N5

N7

e1

e2

e3

e4e6

e7

e8

e5

Page 9: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Prozesse Muster

9

Create

Invoicea

b Adef= a.!·".b.0

Sequence

Process

Order

a

b1

b2

Adef= a.!·".(

n!

i=1

bi.0)

Parallel Split

Ship Order

a1

a2

b

Adef= {ai}

n

i=1.!·".b.0

Synchronization

Page 10: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Process Graph

InitialNode

FinalNode

Prozesse Verifikation

10

Lazy Soundness: Ein wohlgeformter Prozessgraph ist lazy sound, wenn in jedem Fall der finale Knoten genau einmal erreicht wird.

Page 11: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Receive Order Process

Order

Pack Item

Create Invoice

Ship Order

Receive Payment

More Items?

N1

N2

N3 N4

N6

N5

N7

e1

e2

e3

e4e6

e7

e8

e5S

ho

p

Send

Order

Receive

Order

M1 M2

f1

Cu

sto

me

r

s(r) r

Idef= (N | M | . . . )

Interaktionen Formale Darstellung

11

Page 12: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Send Order

s(r)

Send

Receive

Receive

Order

r

Interaktionen Muster

12

Idef= (!s)(s!r".N ! | s(r).M ! | . . . )

a) statisch

Idef= (!get)(get(s).s!r".N ! | . . . )

b) dynamisch

Page 13: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Loan B

roker

Bank

Buy direct

Find Bank

Request Loan

Buy

Reject Purchase

v< !1.000

v> !999

Lookup Banks

Send Accept

Accept

Reject

Send Reject

Custo

mer

B1 B2 B3b1 b2

S1S2

S3

S4

S5S6

s1

s2

s3

s4

s5

s6

broker(ch) [1] ch(bank) [2] bank(req,acc,rej) acc rej

C1C2

C3

C4

C5

C6

C7

C8

C9

C10

C11

C12c1

c2

c3

c4

c5

c6

c7

c8

c9

c10

c11

c12 c13

Interaktionen Verifikation

13

Interaction Soundness: Ein Dienst ist interaction sound in Bezug auf eine Umgebung, wenn die Vereinigung aus Dienst und Umgebung lazy sound ist.

Page 14: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Ergebnisse

Page 15: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Diskussion des Pi-Kalküls als formale Grundlage

• Vorteile

• Direkte Darstellung von dynamischem Binden

• Unterstützung von Kompositionalität als ing.-mäßige Vorgehensweise

• Unterstützung aller relevanten Konzepte

• Elegante Repräsentation von Invarianten zur Verifizierung

• „Prototypische“ Sichtweise

15

• Nachteile

• Komplexe, mathematische Darstellung

• Hohe Aufwände für Bisimulationsprüfung

• Bisimulation nicht für Konformitätsprüfungen von Diensten geeignet

• Transitionssemantik (keine „Erzwingung“ einer Transition)

• „Prototypische“ Sichtweise

Page 16: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

• Einheitliche, formale Sicht auf Daten, Prozesse und Interaktionen

• Formale Darstellung der dazugehörigen Pattern

• Algorithmen zur Abbildung von Prozess-/Interaktiongraphen auf das Pi-Kalkül

• BPMN Erweiterungen für dynamisches Binden

• Lazy Soundness

• Interaction Soundness

• Prototypische Werkzeugkette

Zusammenfassung

• Grundlagen

• Geschäftsprozessmanagement

• Pi-Kalkül

• Beitrag

• (Daten)

• Prozesse

• Interaktionen

• Ergebnisse

• Diskussion

• Zusammenfassung

16

Beitrag

Page 17: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Publications based on this Thesis

Early ideas have been published and presented at national and international conferences duringthe writing of this thesis. A starting point was a conference paper at the third conference onbusiness process management (BPM) in Nancy (France).1 It showed how the !-calculus mightbe used to represent the workflow patterns. With this paper, a first draft of the pattern formal-izations contained in chapter 5 (Processes) has been brought to a larger audience. While theformalizations in most cases did not required advanced features of the !-calculus, such as linkpassing mobility, a subsequent paper revealed the strengths of the !-calculus for representingdynamic binding and correlation handling in service-oriented architectures.2 It laid the foun-dations for section 6.1.1 (Correlations and Dynamic Binding). This paper has been presentedat a workshop covering dynamic web processes alongside the third international conference onservice-oriented computing (ICSOC) held in Amsterdam (The Netherlands). The investigationcontinued with a conference paper that discussed shifting requirements for BPM.3 Beside theinvestigation of state-of-the-art, new requirements regarding technical and theoretical founda-tions have been found. Refined versions of these requirements are used to motivate the thesisin chapter 1 (The Shifting Focus). The results have been presented at the ninth conference onbusiness information systems (BIS) in Klagenfurt (Austria). Thereafter the research focusedon soundness properties of business processes formalized in the !-calculus. In contrast to ex-isting properties, the application of bisimulation equivalence for reasoning on deadlock andlivelock freedom has been investigated. Based on an extensive study of the workflow patternformalizations, it turned out that several of them constitute problems regarding soundness. Theproblems have been overcome by a new soundness property that was named lazy soundness.A refined version is contained in section 5.3 (Properties) of chapter 5 (Processes). The newsoundness property has been presented to the scientific community at the fourth conference onbusiness process management (BPM) in Vienna (Austria), where it has been published as part

1 Frank Puhlmann, Mathias Weske: Using the Pi-Calculus for Formalizing Workflow Patterns. In W.M.P. van derAalst, B. Benatallah, F. Casati, and F. Curbera (Eds.): Business Process Management, volume 3649 of LNCS,Nancy, France, Springer-Verlag (2005) 153–168

2 Hagen Overdick, Frank Puhlmann, Mathias Weske: Towards a Formal Model for Agile Service Discovery andIntegration. In K. Verma, A. Sheth, M. Zaremba, and C. Bussler (Eds.): Proceedings of the International Work-shop in Dynamic Web Processes (DWP 2005), Amsterdam, The Netherlands, IBM technical report RC23822(2005)

3 Frank Puhlmann: Why do we actually need the Pi-Calculus for Business Process Management? In W.Abramowicz and H. Mayr (Eds.): BIS 2006—Business Information Systems, volume P-85 of LNI, Klagenfurt,Austria, Gesellschaft fuer Informatik (2006) 77–89

iii

iv

of the conference proceedings.4 The practical feasibility of lazy soundness has been shownin an additional presentation, published as part of the demo session proceedings.5 At the sameconference, a short paper, written together with a student of mine, gave an insight on how the ser-vice interaction patterns might be formalized in the !-calculus.6 While chapter 6 (Interactions)contains a different approach for representing these patterns, the paper nevertheless providedvaluable ideas. The publication series continued with a paper presented at a national conferenceon service-oriented information systems (EMISA) that took place in Hamburg (Germany).7 Itcovered the unification of data, processes, and interactions to provide a unified formal represen-tation of service-oriented architectures. The discussion has been based on an example that canbe found in an extended version in chapter 7 (Unification). In the meantime, a book chapter onthe suitability of the !-calculus for BPM has been published.8 It basically contains an extendedand updated version of the BIS paper published earlier. Another publication covers an exten-sion of lazy soundness to prove compatibility in interactions.9 The new compatibility property,denoted as interaction soundness, supports dynamic binding. To the knowledge of the author,this was the first paper that introduced compatibility with dynamic binding. The updated resultscan be found in section 6.3 (Interaction Soundness) of chapter 6 (Interactions). The paper hasbeen presented at the fourth international conference on service-oriented computing (ICSOC)in Chicago (USA). Furthermore, during the writing of this thesis, the author supervised a mas-ter thesis where a graphical environment for the simulation of business processes with dynamicbinding—based on the ideas found in the second and third part of this work—has been imple-mented. The corresponding tool has been presented at the open.BPM workshop in Hamburg(Germany).10

4 Frank Puhlmann, Mathias Weske: Investigations on Soundness Regarding Lazy Activities. In S. Dustdar, J.L.Fiadeiro and A. Sheth (Eds.): Business Process Management, volume 4102 of LNCS, Vienna, Austria, Springer-Verlag (2006) 145–160

5 Frank Puhlmann: A Tool Chain for Lazy Soundness. Demo Session of the 4th International Conference onBusiness Process Management, CEUR Workshop Proceedings Vol. 203, Vienna, Austria (2006) 9–16

6 Gero Decker, Frank Puhlmann, Mathias Weske: Formalizing Service Interactions. In S. Dustdar, J.L. Fiadeiroand A. Sheth (Eds.): Business Process Management, volume 4102 of LNCS, Vienna, Austria, Springer-Verlag(2006) 414–419

7 Frank Puhlmann: A Unified Formal Foundation for Service Oriented Architectures. In M. Weske and M.Nuettgens (Eds.): EMISA 2006, volume P-95 of LNI, Hamburg, Germany (2006) 7–19

8 Frank Puhlmann: On the Suitability of the Pi-Calculus for Business Process Management. In Technologies forBusiness Information Systems. Springer-Verlag (2007) 51–62

9 Frank Puhlmann, Mathias Weske: Interaction Soundness for Service Orchestrations. In A. Dan and W. Lamers-dorf (Eds.): Service-Oriented Computing, volume 4294 of LNCS, Chicago, USA, Springer-Verlag (2006) 302–313

10 Anja Bog, Frank Puhlmann: A Tool for the Simulation of Pi-Calculus Systems. In 1. GI-Workshop OpenBPM2006: Geschaftsprozessmanagement mit Open Source-Technologien, Hamburg, Germany (2006)

Publikationen Zur Dissertation

17

Page 18: Lazy Soundness - frapu.de · Loan Broker Bank Buy direct Find Bank Request Loan Buy Reject Purchase v< ! 1.000 v> ! 999 Lookup Banks Send Accept Accept Reject Send Reject Customer

Vielen Dank für Ihre Aufmerksamkeit!