![Page 1: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/1.jpg)
Service Interaction:Patterns, Formalization, and Analysis
9th International School on Formal Methods for the Design of Computer, Communication and Software Systems: Web Services (SFM-09:WS), Bertinoro, Italy, June 1-6, 2009.
prof.dr.ir. Wil van der Aalstwww.vdaalst.org
Joint work with Arjan Mooij, Christian Stahl, and Karsten Wolf
![Page 2: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/2.jpg)
PAGE 1
BEST: Berlin - Rostock- Eindhoven Service Technology Program
http://www2.informatik.hu-berlin.de/top/best/
![Page 3: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/3.jpg)
PAGE 2
Outline
• Introduction to Service Interaction• Workflow and Service Interaction Patterns• Challenging Analysis Questions• A "Crash Course" in Petri Nets • Exposing Services• Replacing and Refining Services• Integrating Services Using Adapters• Service Mining• Conclusion
![Page 4: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/4.jpg)
Introduction to Service Interaction
![Page 5: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/5.jpg)
PAGE 4
Service-Orientation: Basic Idea
serviceA
serviceB
service requester
service provider
“buy side”
“sell side”
receive
reply
invoke
![Page 6: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/6.jpg)
PAGE 5
Service Networks
serviceA
serviceB
service requester
service provider & requestor
“buy side”
“sell side”
serviceC
service providers
“buy side”
“sell side”
serviceD
![Page 7: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/7.jpg)
PAGE 6
Choreography
choreography
serviceB
serviceC
serviceA
serviceD
![Page 8: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/8.jpg)
PAGE 7
Orchestration
orchestration
serviceA
serviceB
serviceC
serviceD
![Page 9: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/9.jpg)
PAGE 8
Workflow?
workflow in the classical sense
serviceA
![Page 10: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/10.jpg)
PAGE 9
Some Terminology
activity
channelport portinterface
service definition service definition
service definition
interface
channelactivity
service choreography
message
Important assumption: asynchronous communication.
![Page 11: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/11.jpg)
PAGE 10
Interaction is a source of errors!
![Page 12: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/12.jpg)
PAGE 11
accept
cook
collect
p6
p7
p8
p5
place
eat
pay
p2
p3
p4
p1
order
food
money
order
money
food
![Page 13: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/13.jpg)
PAGE 12
place accept
cook
collect
p6
p7
p8
p5
p2
p3
p4
p1
order
food
money
order
money
foodeat
pay
deadlock
![Page 14: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/14.jpg)
PAGE 13
collect
get drunk
cook
accept
p6
p7
p8
p5
leave
place
p2
p3
p4
p1
pay
eat
order
food
money
order
money
food
restaurant is "uncontrollable"*
customer is "controllable" but will
never get any food
*by any service with only dead final markings
![Page 15: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/15.jpg)
PAGE 14
collect
accept
p5
p6
get drunk
cook
p7
p8
pay
leave
place
p2
p3
p4
p1
eat
order
food
money
song
order
money
food
song
![Page 16: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/16.jpg)
Workflow and Service Interaction Patterns
![Page 17: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/17.jpg)
PAGE 16
BPMN EPCsBPM|one
COSA XPDLBPEL
SAP Workflow
Oracle BPEL
IBM WebSphere
InConcertFileNetYAWL
FlowConnect
UML ADs
casewise
jBPM
MS Workflow Foundation
Axxerion
Global 360 BPM Suite
BWise
Ensemble
BiZZdesignerPromatisBizagi TeamWARE
Fujitsu Interstage
Savvion BusinessManager
Software AG/webMethods
TIBCO iProcess Suite
Ultimus BPM Suite
Pegasystems SmartBPM Suite
![Page 18: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/18.jpg)
PAGE 17
Workflow Patterns Initiative
• Started in 1999, joint work TU/e and QUT• Objectives:
• Identification of workflow modeling scenarios and solutions• Benchmarking− Workflow products (MQ/Series Workflow, Staffware, etc)− Proposed standards for web service composition (BPML, BPEL)− Process modeling languages (UML, BPMN)
• Foundation for selecting workflow solutions• Home Page: www.workflowpatterns.com
• Primary publication:• W.M.P. van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski, A.P. Barros,
“Workflow Patterns”, Distributed and Parallel Databases 14(3):5-51, 2003.
• Evaluations of commercial offerings, research prototypes, proposed standards for web service composition, etc
![Page 19: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/19.jpg)
PAGE 18
Exception P:s
Exception handlingin a process
CAiSE’2006
N. RussellW. van der AalstA. ter Hofstede
Jun 2006
Control-flow P:s 43
- 23 new patterns- Formalised in CPN notation
TR
N. RussellA. ter HofstedeW. van der AalstN. Mulyar
Sep 2006
revised
Oct 2005
Data P:s - 40
N. RussellA. ter HofstedeD. EdmondW. van der Aalst
Data representationand handling in aprocess
ER’2005
Jun 2005
Resource P:s - 43
Resource definition & work distribution in a process
N. RussellW. van der AalstA. ter HofstedeD. Edmond
CAiSE’2005
Workflow Patterns Framework
time
Slides adopted from Nick Russell, et al.
Control-flow P:s 20
W. van der AalstA. ter HofstedeB. KiepuszewskiA. Barros
The ordering of activities in a process
2000
CoopIS’2000 DAPD’2003
2003
![Page 20: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/20.jpg)
PAGE 19
Workflow Patterns Framework
EvaluatIons
Control-flow P:s 20
2000 2003
XPDL, BPEL4WS, BPML, WSFL, XLANG, WSCI, UML AD 1.4 UML AD 2.0, BPMN
COSAFLOWer Eastman MeteorMobileI-Flow Staffware InConcert
Domino WorkflowVisual WorkflowForte Conductor MQSeries/Workflow SAR R/3 Workflow Verve WorkflowChangengine
Jun 2005
Resource P:s - 43
BPEL4WS UML AD 2.0BPMN
Staffware WebSphere MQFLOWerCOSAiPlanet
XPDL, BPEL4WSUML AD 2.0, BPMN
StaffwareMQSeriesFLOWerCOSA
Data P:s - 40
Oct 2005
Exc
Staf We FLOCOiPla
XPD BPE
time
Language Development: YAWL/newYAWL
![Page 21: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/21.jpg)
PAGE 20
Service Interaction Patterns
activity
channelport portinterface
service definition service definition
service definition
interface
channelactivity
service choreography
message
• Basic Service Interaction Patterns (SIP-1, ... ,SIP-15)• Correlation Patterns (SIP-16, ... ,SIP-23)• Anti-Patterns (AP-1, AP-2, and AP-3)
![Page 22: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/22.jpg)
PAGE 21
Send Patterns
sendp
c1
c2 block
send
p
c1
c2
c3
block
send
p
c1
c2
c3
SIP-1 Send pattern SIP-2 Pre-Blocking Send pattern
SIP-3 Post-Blocking Send pattern
![Page 23: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/23.jpg)
PAGE 22
Receive Patterns
receivep
c1
c2
receivep
c1
c2
remove
SIP-4 Receive pattern SIP-5 Lossy Receive pattern
![Page 24: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/24.jpg)
PAGE 23
Concurrent Send/Receive Patterns
c1
send1 send2
c2 c3
c4 c5
c6
p1
p2
AND-split
AND-join
c1
receive1 receive2
c2 c3
c4 c5
c6
p1
p2
AND-split
AND-join
SIP-6 Concurrent Send pattern SIP-7 Concurrent Receive pattern
![Page 25: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/25.jpg)
PAGE 24
Choice Patterns
c1
send1 p1
p2
send2
c2 c3
c1
receiving1 p1
p2
receiving2
c2 c3
c1
internal1 p1
p2
internal2
c2 c3
SIP-8 Sending Choice pattern SIP-9 Receiving Choice pattern
SIP-10 Internal Choice pattern
![Page 26: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/26.jpg)
PAGE 25
Choice With a Follow-Up Patterns (1/2)
c1
send1
p1
p2send2
receive1 receive2 p3
p4
c2 c3
c4
c1
send1
p1
p2
send2
receive1 receive2
p3
p4
c2 c3
c4
SIP-11 Sending Choice Receiving Follow-Up pattern
SIP-12 Receiving Choice Sending Follow-Up pattern
![Page 27: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/27.jpg)
PAGE 26
Choice With a Follow-Up Patterns (2/2)
• SIP-13 Sending Choice Sending Follow-Up• SIP-14 Receiving Choice Receiving Follow-Up, and• SIP-15 Internal Choice Sending Follow-Up.
See problem?
![Page 28: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/28.jpg)
PAGE 27
Anti-Pattern AP-1: Internal Choice Receiving Follow-Up Anti-Pattern
c1
internal1 internal2
receive1 receive2 p1
p2
c2 c3
c4
![Page 29: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/29.jpg)
PAGE 28
Another variant of AP-1
c1
send
p1
skip
receive p2
c2
c3
![Page 30: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/30.jpg)
PAGE 29
Two Additional Variants of AP-1
leave
place
p2
p3
p4
p1
pay
eat
order
money
food
collect
get drunk
cook
accept
p6
p7
p8
p5
order
food
money
![Page 31: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/31.jpg)
PAGE 30
Correlation
accept
cook
collect
p6
p7
p8
p5
place
eat
pay
p2
p3
p4
p1
order
food
money
order
money
food
c1
send
c2
(from,to,content)(me,you)
(me,you)
c1
receive
c2
(from,to,content)(me,you)
(me,you)
![Page 32: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/32.jpg)
PAGE 31
Correlation Send Patterns
p
c1
send
c2
(from,*,content)(me,*)
(me,*)
[from:=me]
SIP-16 Leading Correlated Send pattern
SIP-17 Following Correlated Send pattern
p
c1
send
c2
(*,to,content)(me,you)
(me,you)
[to:=you]
![Page 33: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/33.jpg)
PAGE 32
Anti-Pattern AP-2: Uncorrelated Send Anti-Pattern
p
c1
send
c2
(*,*,content)(me,you)
(me,you)
![Page 34: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/34.jpg)
PAGE 33
Correlation Receive Patterns (1/2)
p
c1
receive
c2
(from,*,content)(me,you)
(me,you)
[you=from]
p
c1
receive
c2
(*,to,content)(me,*)
(me,*)
[me=to]
SIP-18 Leading Correlated Receive pattern
SIP-19 Following Correlated Receive pattern
![Page 35: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/35.jpg)
PAGE 34
Correlation Receive Patterns (2/2)
p
c1
receive
c2
(from,to,content)(me,*)
(me,you)
[me=to]
[you:=from]p
receive
c1
(from,*,content)
(me,you)[you:=from]
[me:=new()]
SIP-20 Learning Correlated Receive pattern
SIP-21 Creating Correlated Receive pattern
![Page 36: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/36.jpg)
PAGE 35
Anti-Pattern AP-3: Uncorrelated Receive Anti-Pattern
p
c1
receive
c2
(from,*,content)(me,*)
(me,*)
![Page 37: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/37.jpg)
PAGE 36
Composite Correlation Patterns (1/2)
send1(from1,*,content1)
(me1,*)
(me1,*)
[from1:=me1]receive1
(me2,you2)
[me2:=new()][you2:=from1]
(me1,you1)
(me1,you1)
(from2,to2,content2)[from2:=me2][to2:=you2]send2receive2
send3 receive3(*,to3,content3)
[me1=to2][you1:=from2]
[to3:=you1] [me2=to3]
(me2,*)
(me2,*)
SIP-22 Correlation Swap pattern
![Page 38: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/38.jpg)
PAGE 37
Composite Correlation Patterns (1/2)
send1(from1,*,content1)
(me1,*)
(me1,*)
[from1:=me1]receive1
(me2,you2)
[me2:=new()][you2:=from1]
(me1,you1)
(me1,you1)
(from2,to2,content2)[from2:=me2][to2:=you2]send2receive2
send3 receive3(*,to3,content3)
[me1=to2][you1:=from2]
[to3:=you1] [me2=to3]
(me2,*)
(me2,*)
SIP-22 Correlation Swap pattern
SIP-16 Leading Correlated Send pattern
SIP-21 Creating Correlated Receive pattern
SIP-20 Learning Correlated Receive pattern
SIP-17 Following Correlated Send pattern
SIP-18 Leading Correlated Receive pattern
![Page 39: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/39.jpg)
PAGE 38
Composite Correlation Patterns (2/2)
send1(from1,*,content1)
(me1,*)
(me1,*)
[from1:=me1]relay1
(x,y)
[to1:=y][x=from1]
receive2[me1=to2]
(*,to1,content1)receive1
(me2,*)
[me2=to1]
[from2:=me2]send2
(from2,*,content2)(*,to2,content2) (x,y)
relay2[y=from2][to2:=x]
db
(me2,*)
(me2,*)(me1,*)
SIP-23 Correlation Broker pattern
![Page 40: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/40.jpg)
PAGE 39
Composite Correlation Patterns (2/2)
send1(from1,*,content1)
(me1,*)
(me1,*)
[from1:=me1]relay1
(x,y)
[to1:=y][x=from1]
receive2[me1=to2]
(*,to1,content1)receive1
(me2,*)
[me2=to1]
[from2:=me2]send2
(from2,*,content2)(*,to2,content2) (x,y)
relay2[y=from2][to2:=x]
db
(me2,*)
(me2,*)(me1,*)
SIP-23 Correlation Broker pattern
SIP-16 Leading Correlated Send pattern
SIP-17 Following Correlated Send pattern
SIP-18 Leading Correlated Receive pattern
SIP-16 Leading Correlated Send pattern
SIP-19 Following Correlated Receive pattern
SIP-17 Following Correlated Send pattern
SIP-19 Following Correlated Receive pattern
SIP-18 Leading Correlated Receive pattern
![Page 41: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/41.jpg)
PAGE 40
Recommended Reading (1/2)
• van der Aalst, W., Mooij, A.J., Stahl C., Wolf, K.. Service Interaction: Patterns, Formalization, and Analysis. In SFM 2009, volume 5569 of Lecture Notes in Computer Science, pages 42-88. Springer-Verlag, Berlin (2009)
• Barros, A., Dumas, M., ter Hofstede, A.: Service Interaction Patterns. In: Aalst, W., Benatallah, B., Casati, F. Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 302–318. Springer, Heidelberg (2005)
• Mulyar, N., Aldred, L., van der Aalst, W.: The Conceptualization of a Configurable Multiparty Multi-message Request-Reply Conversation. In: Meersman, R., Tari, Z. (eds.) OTM 2007, Part I. LNCS, vol. 4803, pp. 735–753. Springer, Heidelberg (2007)
• van der Aalst, W., ter Hofstede, A., Kiepuszewski, B., Barros, A.: Workflow Patterns. Distributed and Parallel Databases 14(1), 5–51 (2003)
• Russell, N., ter Hofstede, A., van der Aalst, W., Mulyar, N.: Workflow Control-Flow Patterns: A Revised View. BPM Center Report BPM-06-22, BPMcenter.org (2006)
• Mulyar, N.: Patterns for Process-Aware Information Systems: An Approach Based on Colored Petri Nets. Ph.D thesis, Eindhoven University of Technology, Eindhoven (2009)
![Page 42: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/42.jpg)
PAGE 41
Recommended Reading (2/2)
• Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley Professional, Reading (2003)
• Russell, N., van der Aalst, W., ter Hofstede, A., Edmond, D.: Workflow Resource Patterns: Identification, Representation and Tool Support. In: CAiSE 2005. LNCS, vol. 3520, pp. 216–232. Springer, Heidelberg (2005)
• Russell, N., ter Hofstede, A., Edmond, D., van der Aalst, W.: Workflow Data Patterns: Identification, Representation and Tool Support. In: ER 2005. LNCS, vol. 3716, pp. 353–368. Springer, Heidelberg (2005)
• Russell, N., van der Aalst, W., ter Hofstede, A.: Workflow Exception Patterns. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 288–302. Springer, Heidelberg (2006)
• Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing Series. Addison Wesley, Reading (1995)
• Alexander, C.: A Pattern Language: Towns, Building and Construction. Oxford University Press, Oxford (1977)
![Page 43: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/43.jpg)
Challenging Analysis Questions
![Page 44: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/44.jpg)
PAGE 43
Questions Addressed in this Tutorial
1. Exposing Services How to inform others about me such that cooperation
is possible? Two approaches: (a) expose own behavior and (b)
provide operating guideline.2. Replacing and Refining Services How to replace or refine a service without introducing
problems? Inheritance, accordance, transformation rules, etc.
3. Integrating Services Using Adapters How to resolve behavioral incompatibilities? Adapter generation.
4. Service Mining How to analyze the run-time behavior?
![Page 45: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/45.jpg)
PAGE 44
Additional Questions
• Verification (e.g., various types of soundness)• Controllability (Is there a compatible partner?)• Instance migration (Can I replace a service at run-
time?)• Querying software repositories (Is there a service
that ... ?)• Similarity of services (What is the least incompatible
service? How many edit steps are needed to transform one into the other?)
• How to generate/compose services to meet specific requirements and goals?
![Page 46: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/46.jpg)
PAGE 45
Design-time analysis of processes
linear algebraic analysis techniques
Markov chain analysis techniques
state-space analysis techniques
Petri net
simulation
YAWL
Protos
BPEL
BPMN
StaffwareSAP Workflow
Flower
....
![Page 47: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/47.jpg)
PAGE 46
From BPEL to Petri Nets and Back
• Feature complete mappings from BPEL to Petri nets:• WofBPEL (TU/e & QUT)• BPEL2oWFN (Rostock & Humboldt)
• Mappings from Petri nets to BPEL:• WorkflowNet2BPEL4WS (TU/e & Aarhus)• oWFN2BPEL (Rostock & Humboldt)
• Similar results hold for the BPMN, EPCs, etc.!• Be critical! Not all reported results exist :-)
![Page 48: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/48.jpg)
PAGE 47
Recommended Reading (1/3)
• van der Aalst, W., Mooij, A.J., Stahl C., Wolf, K.. Service Interaction: Patterns, Formalization, and Analysis. In SFM 2009, volume 5569 of Lecture Notes in Computer Science, pages 42-88. Springer-Verlag, Berlin (2009)
• van der Aalst, W., Lohmann, N., Massuthe, P., Stahl, C., Wolf, K.: From Public Views to Private Views: Correctness-by-Design for Services. In: Dumas, M., Heckel, H. (eds.) WS-FM 2007. LNCS, vol. 4937, pp. 139–153. Springer, Heidelberg (2008)
• Massuthe, P., Reisig, W., Schmidt, K.: An Operating Guideline Approach to the SOA. Annals of Mathematics, Computing & Teleinformatics 1(3), 35–43 (2005)
• Wolf, K.: Does my service have partners? In: ToPNoC II 2008. LNCS, vol. 5460, pp. 152–171. Springer, Heidelberg (2008)
• Massuthe, P., Reisig, W., Schmidt, K.: An Operating Guideline Approach to the SOA. In: Proceedings of the 2nd South-East European Workshop on Formal Methods 2005 (SEEFM 2005), Ohrid, Republic of Macedonia (2005)
• van der Aalst, W.M.P. et al.: Life After BPEL? In Formal Techniques for Computer Systems and Business Processes, LNCS, vol. 3670, pp. 35–50. Springer, Heidelberg (2005)
• www.service-technology.org
![Page 49: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/49.jpg)
PAGE 48
Recommended Reading (2/3)
• Lohmann, N., Massuthe, P., Wolf, K.: Operating guidelines for finite-state services. In: Kleijn, J., Yakovlev, A. (eds.) ICATPN 2007. LNCS, vol. 4546, pp. 321–341. Springer, Heidelberg (2007)
• Stahl, C., Massuthe, P., Bretschneider, J.: Deciding substitutability of services with operating guidelines. In: ToPNoC II 2008. LNCS, vol. 5460, pp. 172–191. Springer, Heidelberg (2008)
• Massuthe, P., Serebrenik, A., Sidorova, N., Wolf, K.: Can I find a partner? Undecidablity of partner existence for open nets. Information Processing Letters 108(6), 374–378 (2008)
• van der Aalst, W.M.P., et al.: Soundness of Workflow Nets with Reset Arcs is Undecidable! In J. Kleijn and M. Koutny, editors, Proceedings of the International Workshop on Concurrency Methods Issues and Applications (CHINA'08), pages 57-72 (2008)
• Trcka, N., van der Aalst, W.M.P., Sidorova, N.: Data-Flow Anti-Patterns: Discovering Data-Flow Errors in Workflows, CAiSE 2009, LNCS, 2009.
• Rozinat, A., van der Aalst, W.M.P.: Conformance Checking of Processes Based on Monitoring Real Behavior. Information Systems, 33(1):64-95, (2008)
• van der Aalst, W.M.P., Dumas, M., Ouyang, C., Rozinat, A., Verbeek, H.M.W.: Conformance Checking of Service Behavior. ACM Transactions on Internet Technology, 8(3):29-59 (2008)
![Page 50: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/50.jpg)
PAGE 49
Recommended Reading (3/3)
• Ouyang, C., van der Aalst, W.M.P., Breutel, S., Dumas, M., ter Hofstede, A.H.M., Verbeek, H.M.W.: Formal Semantics and Analysis of Control Flow in WS-BPEL. Science of Computer Programming, 67(2-3):162-198, 2007.
• C. Ouyang, E. Verbeek, W.M.P. van der Aalst, S. Breutel, M. Dumas, and A.H.M. ter Hofstede. WofBPEL: A Tool for Automated Analysis of BPEL Processes. In B. Benatallah, F. Casati, and P. Traverso, editors, Proceedings of Service-Oriented Computing (ICSOC 2005), volume 3826 of Lecture Notes in Computer Science, pages 484-489. Springer-Verlag, Berlin, 2005.
• H.M.W. Verbeek and W.M.P. van der Aalst. Analyzing BPEL Processes using Petri Nets. In D. Marinescu, editor, Proceedings of the Second International Workshop on Applications of Petri Nets to Coordination, Workflow and Business Process Management, pages 59-78. Florida International University, Miami, Florida, USA, 2005.
• Lohmann, N., Massuthe, P., Stahl, C., Weinberg, D.: Analyzing interacting WSBPEL processes using flexible model generation. Data & Knowledge Engineering, 64(1), 38–54 (2008)
• van der Aalst, W.M.P., Lassen, K.B.: Translating Unstructured Workflow Processes to Readable BPEL: Theory and Implementation. Information and Software Technology, 50(3):131-159 (2008)
• C. Ouyang, M. Dumas, A.H.M. ter Hofstede, and W.M.P. van der Aalst. Pattern-Based Translation of BPMN Process Models to BPEL Web Services. International Journal of Web Services Research, 5(1):42-62 (2007)
![Page 51: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/51.jpg)
A "Crash Course" in Petri Nets
![Page 52: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/52.jpg)
PAGE 51
Rules
• Connections are directed.• No connections between two places or two transitions.• Places may hold zero or more tokens.• First, we consider the case of at most one arc between two
nodes.
wait enter before make_picture after leave gone
free
occupied
![Page 53: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/53.jpg)
PAGE 52
Enabled
• A transition is enabled if each of its input places contains at least one token.
wait enter before make_picture after leave gone
free
occupied
enabled Not enabled
Not enabled
![Page 54: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/54.jpg)
PAGE 53
Firing
• An enabled transition can fire (i.e., it occurs).• When it fires it consumes a token from each input
place and produces a token for each output place.
wait enter before make_picture after leave gone
free
occupied
fire
Etc.
![Page 55: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/55.jpg)
PAGE 54
Example: Traffic Lights
rg1
go1
or1
r1
g1
o1
rg2
go2
or2
r2
g2
o2
x
![Page 56: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/56.jpg)
PAGE 55
Example: Producers and Consumers
free producer
start_production
end_production
wait consumer
start_consumption
end_consumption
product
![Page 57: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/57.jpg)
PAGE 56
Example: Four Philosophers
t1
t2
t3
t4
e1
e2
e3
e4
c4 c1
c2c3
st1
se1
st2
st3
st4 se4
se3
se2
![Page 58: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/58.jpg)
PAGE 57
Definition: Petri Net
free producer
start_production
end_production
wait consumer
start_consumption
end_consumption
product
![Page 59: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/59.jpg)
PAGE 58
Pre- and Post-Set
free producer
start_production
end_production
wait consumer
start_consumption
end_consumption
product
![Page 60: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/60.jpg)
PAGE 59
Firing Rule
free producer
start_production
end_production
wait consumer
start_consumption
end_consumption
product
free producer
start_production
end_production
wait consumer
start_consumption
end_consumption
product
end_production
![Page 61: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/61.jpg)
PAGE 60
Open Nets
place
eat
pay
p2
p3
p4
p1
order
money
food
accept
cook
collect
p6
p7
p8
p5
![Page 62: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/62.jpg)
PAGE 61
Example
pay
leave
place
p2
p3
p4
p1
eat
order
money
food
song
Ω={[p4]}
OI
![Page 63: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/63.jpg)
PAGE 62
Some More Definitions
free producer
start_production
end_production
wait consumer
start_consumption
end_consumption
product
free
![Page 64: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/64.jpg)
PAGE 63
Interface Compatible
collect
accept
p5
p6
get drunk
cook
p7
p8
pay
leave
place
p2
p3
p4
p1
eat
order
food
money
song
order
money
food
song collect
accept
p5
p6
get drunk
cook
p7
p8
pay
leave
place
p2
p3
p4
p1
eat
order
food
song
money
food
song
![Page 65: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/65.jpg)
PAGE 64
Composition
![Page 66: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/66.jpg)
PAGE 65
Compose
collect
accept
p5
p6
get drunk
cook
p7
p8
pay
leave
place
p2
p3
p4
p1
eat
order
food
song
money
food
song
Ω={[p4]} Ω={[p8]}
![Page 67: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/67.jpg)
PAGE 66
Composed Net
collect
accept
p5
p6
get drunk
cook
p7
p8
pay
leave
place
p2
p3
p4
p1
eat
order
money
food
song
Ω={[p4,p8]}
![Page 68: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/68.jpg)
PAGE 67
Deadlock Free
Ω={[p4,p8]}
collect
accept
p5
p6
get drunk
cook
p7
p8
pay
leave
place
p2
p3
p4
p1
eat
order
money
food
song
![Page 69: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/69.jpg)
PAGE 68
Deadlock Free ?
Ω={[p4,p8]}
collect
accept
p5
p6
get drunk
cook
p7
p8
pay
place
p2
p3
p4
p1
eat
order
money
food
song
![Page 70: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/70.jpg)
PAGE 69
Strategy & Controllability
collect
accept
p5
p6
get drunk
cook
p7
p8
pay
leave
place
p2
p3
p4
p1
eat
order
food
money
song
order
money
food
song
M N
M N
collect
accept
p5
p6
get drunk
cook
p7
p8
pay
leave
place
p2
p3
p4
p1
eat
order
money
food
song
M is controllable N is controllable
N in Strat(M) M in Strat(N)
![Page 71: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/71.jpg)
PAGE 70
Controllable ?
c1
internal1 internal2
receive1 receive2 p1
p2
c2 c3
c4
Ω={[c4]}Strat(N) = ø
N
AP-1: Internal Choice Receiving Follow-Up Anti-Pattern
![Page 72: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/72.jpg)
PAGE 71
Controllable?
place
eat
pay
p2
p3
p4
p1
order
money
foodleave
place
p2
p3
p4
p1
pay
eat
order
money
food
pay
leave
place
p2
p3
p4
p1
eat
order
money
food
song
![Page 73: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/73.jpg)
PAGE 72
accept
cook
collect
p6
p7
p8
p5
order
food
money
Controllable?
collect
accept
p5
p6
get drunk
cook
p7
p8
order
food
money
song
accept
cook
collect
p6
p7
p8
p5
order
food
money
![Page 74: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/74.jpg)
PAGE 73
Controllable?
collect
get drunk
cook
accept
p6
p7
p8
p5
order
food
money
place
p2
p3
p4
p1
pay
eat
order
money
food
Ω={[p2,p4]}
![Page 75: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/75.jpg)
PAGE 74
Possible Additional Requirements to Rule Out Undesirable Strategies
leave
place
p2
p3
p4
p1
pay
eat
order
money
food
No dead transitions / interface places
collect
get drunk
cook
accept
p6
p7
p8
p5
order
food
money
Ω states need to be dead
![Page 76: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/76.jpg)
PAGE 75
Recommended Reading
• van der Aalst, W.: The Application of Petri Nets to Workflow Management. The Journal of Circuits, Systems and Computers 8(1), 21–66 (1998)
• van der Aalst, W.M.P.: Business Process Management Demystified: A Tutorial on Models, Systems and Standards for Workflow Management. In J. Desel, W. Reisig, and G. Rozenberg, editors, Lectures on Concurrency and Petri Nets, volume 3098 of Lecture Notes in Computer Science, pages 1-65. Springer-Verlag, Berlin, 2004.
• Desel, J., Esparza, J.: Free Choice Petri Nets. Cambridge Tracts in Theoretical Computer Science, vol. 40. Cambridge University Press, Cambridge (1995)
• Murata, T.: Petri Nets: Properties, Analysis and Applications. Proceedings of the IEEE 77(4), 541–580 (1989)
• Reisig, W.: Petri Nets: An Introduction. EATCS Monographs in Theoretical Computer Science, vol. 4. Springer, Berlin (1985)
![Page 77: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/77.jpg)
Exposing Services
![Page 78: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/78.jpg)
PAGE 77
Exposing Services
Service Broker
Service Requester
publishfind
bind
Service Provider
repository
Services also need to be exposed in the bilateral case!
exposed
![Page 79: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/79.jpg)
PAGE 78
Two main approaches
• Selecting a service means to find for a given service R (whose behavior is given) a compatible service S in the repository.
• One approach is to expose the behavior of S (this needs to be done for all services in the repository).
• Well-behavior of the composition of R and S can be verified using standard state space verification techniques.
• However, organizations usually want to hide the trade secrets of their services and thus need to find a proper abstraction of S which is published.
• Another approach is to not expose the behavior of S, but a class of services R that is compatible with S, e.g., the set Strat(S).
• Then the composition of R and S is compatible if Strat(S) contains R. From the set of strategies it is in general not possible to derive the original service.
![Page 80: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/80.jpg)
PAGE 79
First Approach
place
eat
pay
p2
p3
p4
p1
order
money
food
accept
cook
collect
p6
p7
p8
p5
accept
cook
collect
p6
p7
p8
p5
collect
accept
p5
p6
get drunk
cook
p7
p8
order
food
money
song
R
S
S
S
?
?
?
repository
![Page 81: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/81.jpg)
PAGE 80
Second Approach
place
eat
pay
p2
p3
p4
p1
order
money
food
R
Strat(S)?
?
?
Strat(S)
Strat(S)
repository
![Page 82: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/82.jpg)
PAGE 81
Operating Guidelines
• We advocate the second approach for reasons of efficiency and hiding trade secrets.
• Problem: Strat(S) is typically infinite!• Operating guidelines provide a finite representation
of a possibly infinite set of compatible services.
• Here we do not explain how the operating guideline is computed (see recommended reading) and focus on its application.
![Page 83: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/83.jpg)
PAGE 82
Basic Idea
place
eat
pay
p2
p3
p4
p1
order
money
food
!order
!money
?foodr2
r3
r4
GS1
TS(GS1)
accept
cook
collect
p6
p7
p8
p5
order
food
money
RS1
OG(RS1)
?
![Page 84: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/84.jpg)
PAGE 83
Matching
!order
!money
?foodr2
r3
r4
TS(GS1) OG(RS1)
(1) simulation relation (weak simulation)
(2) constraints of corresponding states are
satisfied
![Page 85: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/85.jpg)
PAGE 84
Weak simulation
• R weakly simulates P iff R can mimic any behavior of P.
• Formally, there exists a weak simulation relation such that:
p
p’
r
r’
p
p’
r
r’
a
a
r’
τ∗τ∗τ
![Page 86: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/86.jpg)
PAGE 85
R does not weakly simulate P
2
1ask
question
3 4
yes no
2a
1
3 4
2b
ask question
yes no
ask question
p r
p'
RP
![Page 87: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/87.jpg)
PAGE 86
R weakly simulates P, but ... P does not weakly simulate R
2
1
smoke
smoke
smoke
die
rip
2
1
smoke
smoke
die
riplive
RP
die
![Page 88: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/88.jpg)
PAGE 87
Evaluating Expressions
a!
s1: expr1
b? c!s2: expr2
s3: expr3
s4: expr4
s5: expr5
s6: expr6
a! b?
c!
d?e?
expr1 = a! or b? or c! or d? or f?
expr1 = (a! and final) or d!
expr1 = (a! or b? or c!) and d?
![Page 89: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/89.jpg)
PAGE 88
GS1 is a Strategy for RS1
place
eat
pay
p2
p3
p4
p1
order
money
food
!order
!money
?foodr2
r3
r4
GS1
TS(GS1)
accept
cook
collect
p6
p7
p8
p5
order
food
money
RS1
OG(RS1)
?
![Page 90: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/90.jpg)
PAGE 89
Operating Guideline
• N is an open net• BΦ is a Boolean Annotated Service Automaton
(BSA), i.e., an automaton with annotated states that aims to describe (possible infinite) sets of open nets
• Match(BΦ) is the set of all open nets that match with BΦ (all nets that are weakly simulated by BΦ such that constraints of corresponding states are satisfied)
• OG(N) is the operating guideline for N, i.e., a BSA BΦ
such that Match(BΦ) = Strat(N)
![Page 91: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/91.jpg)
PAGE 90
Another Example
order
money
food
order
food
money
?
!order
!money
?food
τ
r5
r6
r7
r8
?
![Page 92: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/92.jpg)
PAGE 91
Not Matching
!order
!money
?food
τ
r5
r6
r7
r8
![Page 93: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/93.jpg)
PAGE 92
Repaired Service Behavior
!order
!money
?food
r5
r6
r7
r8
![Page 94: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/94.jpg)
PAGE 93
Most Permissive Strategy
![Page 95: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/95.jpg)
PAGE 94
Recommended Reading
• van der Aalst, W., Mooij, A.J., Stahl C., Wolf, K.. Service Interaction: Patterns, Formalization, and Analysis. In SFM 2009, volume 5569 of Lecture Notes in Computer Science, pages 42-88. Springer-Verlag, Berlin (2009)
• van der Aalst, W., Lohmann, N., Massuthe, P., Stahl, C., Wolf, K.: From Public Views to Private Views: Correctness-by-Design for Services. In: Dumas, M., Heckel, H. (eds.) WS-FM 2007. LNCS, vol. 4937, pp. 139–153. Springer, Heidelberg (2008)
• Massuthe, P., Reisig, W., Schmidt, K.: An Operating Guideline Approach to the SOA. Annals of Mathematics, Computing & Teleinformatics 1(3), 35–43 (2005)
• Wolf, K.: Does my service have partners? In: ToPNoC II 2008. LNCS, vol. 5460, pp. 152–171. Springer, Heidelberg (2008)
• Massuthe, P., Reisig, W., Schmidt, K.: An Operating Guideline Approach to the SOA. In: Proceedings of the 2nd South-East European Workshop on Formal Methods 2005 (SEEFM 2005), Ohrid, Republic of Macedonia (2005)
![Page 96: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/96.jpg)
Replacing and Refining Services
![Page 97: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/97.jpg)
PAGE 96
Replacing or Refining Services
serviceB
serviceC
serviceA
serviceD
replaceor refine
![Page 98: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/98.jpg)
PAGE 97
Accordance
serviceB
serviceC
serviceA
serviceD
serviceA’
serviceC’
Strat(A) subset of Strat(A') Strat(C) subset
of Strat(C')
![Page 99: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/99.jpg)
PAGE 98
Projection Inheritance is Too Strict
accept
cook
collect
p6
p7
p8
p5
order
food
money
accept
cook
collect
p6
p7
p8
p5
order
food
money
accords with
(while there is no inheritance
relation)
![Page 100: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/100.jpg)
PAGE 99
Refinement
Accordance can be checked using operating guidelines!
Details not important at this stage.
![Page 101: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/101.jpg)
PAGE 100
Transformation Rules
X Y
A B
P P
Strat(X) = Strat(Y)
![Page 102: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/102.jpg)
PAGE 101
Inheritance Preserving Transformation Rules (1/2)
Ai
Ao
Bi
Bo
Co
Ci
S
R
p2
p1
c
b
aAi
Ao
Bi
Bo
Co
Ci
S
R
p2
p1
c
b
a
d
p4
p3
Ai
Ao
Bi
Bo
Co
Ci
S
R
p2
p1
c
b
a
d
![Page 103: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/103.jpg)
PAGE 102
Inheritance Preserving Transformation Rules (2/2)
Ai
Ao
Bi
Bo
Co
Ci
S
R
p2
p1
c
b
a
p3
Ai
Ao
Bi
Bo
Co
Ci
S
R
p2
p1
c
b
a
d
Inheritance preserving
transformation rules also preserve
accordance!
But are too strong ...
![Page 104: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/104.jpg)
PAGE 103
Accordance Preserving Transformation Rule 1
a
b
S
R
p
t2
t1 a
b
S
R
t12=
![Page 105: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/105.jpg)
PAGE 104
Accordance Preserving Transformation Rule 2
a
b
S
R
p
t2
t1 a
b
S
R
t12=
![Page 106: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/106.jpg)
PAGE 105
Accordance Preserving Transformation Rule 3
a
b
S
R
p
t2
t1 a
b
S
R
t12=
![Page 107: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/107.jpg)
PAGE 106
Accordance Preserving Transformation Rule 4
p1
p3
t4
a
b
S
R
p
t2
t1
=a
b
S
R
p2
t3
t1
t2
p4
![Page 108: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/108.jpg)
PAGE 107
Another Type of Anti Pattern
a
b
S
R
p
t2
t1 a
b
S
R
p
t2
t1
![Page 109: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/109.jpg)
PAGE 108
Strategy for one net and not the other
b
a
p3
t5
t4
S
p4
t6
R
p1
t3
p2
b
a
p3
t5
t4
S
p4
t6
R
p1
t3
p2
a
b
S
R
p
t2
t1 a
b
S
R
p
t2
t1
![Page 110: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/110.jpg)
PAGE 109
a
b
p3
t5
t4
S
p4
t6
R
p1
t3
p2
p5
t7a
b
p3
t5
t4
S
p4
t6
R
p1
t3
p2
p5
t7
Strategy for one net and not the other
a
b
S
R
p
t2
t1 a
b
S
R
p
t2
t1
![Page 111: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/111.jpg)
PAGE 110
Accordance Preserving Transformation Rule 5
p4
b
d
p2
t4
t2
S
at1
p1
p3
t3
R
c
t5
e
b
d
p2
t4
t2
S
at1
p1
p3
t3
R
c
t5
e
t6
⊆f
t7
f
![Page 112: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/112.jpg)
PAGE 111
Recommended Reading
• van der Aalst, W., Mooij, A.J., Stahl C., Wolf, K.. Service Interaction: Patterns, Formalization, and Analysis. In SFM 2009, volume 5569 of Lecture Notes in Computer Science, pages 42-88. Springer-Verlag, Berlin, (2009)
• van der Aalst, W., Lohmann, N., Massuthe, P., Stahl, C., Wolf, K.: From Public Views to Private Views: Correctness-by-Design for Services. In: Dumas, M., Heckel, H. (eds.) WS-FM 2007. LNCS, vol. 4937, pp. 139–153. Springer, Heidelberg (2008)
• Basten, T., Aalst, W.: Inheritance of Behavior. Journal of Logic and Algebraic Programming 47(2), 47–145 (2001)
• van der Aalst, W.M.P., Basten, T.: Inheritance of Workflows: An Approach to Tackling Problems Related to Change. Theoretical Computer Science, 270(1-2):125-203 (2002)
![Page 113: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/113.jpg)
Integrating Services Using Adapters
![Page 114: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/114.jpg)
PAGE 113
The Need For Adapters
serviceA adapter service
B
serviceA
serviceB?
![Page 115: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/115.jpg)
PAGE 114
Example
tFood
tMoney
cOrder
cFood
cMoney
?
tourist cook
![Page 116: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/116.jpg)
PAGE 115
Adapter
tFood
tMoney
cOrder
cFood
cMoney
tFood
tMoney
cOrder
cFood
cMoney
tourist cook
adapter
![Page 117: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/117.jpg)
PAGE 116
tFood
tMoney
cOrder
cFood
cMoney
Adapter ?????
tFood
tMoney
cOrder
cFood
cMoney
tourist cook
adapter
![Page 118: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/118.jpg)
PAGE 117
Specification of Elementary Activities (SEA)
• To avoid creating money, deleting evidence, confusing meters with liters, etc.
![Page 119: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/119.jpg)
PAGE 118
SEA Example
tFood
tMoney
cOrder
cFood
cMoney
tourist cook
tFood
tMoney
cOrder
cFood
cMoney
![Page 120: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/120.jpg)
PAGE 119
Overall Idea
tFood
tMoney
cOrder
cFood
cMoney
SEA-Based Engine
Controller
![Page 121: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/121.jpg)
PAGE 120
SEA-Based Engine
tFood
tMoney
cOrder
cFood
cMoney
(tFood,c) (cFood,c)
(cOrder,c)
(cMoney,c)(tMoney,c)(tMoney,r) (cMoney,s)(money,c)
(tFood,s) (cFood,r)
(cOrder,s)(order,c)
(food,c)
(tFood,e) (tMoney,n) (food,e) (food,n) (order,e) (order,n) (money,e) (money,n) (cFood,n) (cOrder,e) (cMoney,e)
s=sendr=receive
c=actual transformation
n = notifye = enable
n = notifye = enable
![Page 122: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/122.jpg)
PAGE 121
Business As Usual ...
tFood
tMoney
cOrder
cFood
cMoney
tFood
tMoney
cOrder
cFood
cMoney
(tFood,c) (cFood,c)
(cOrder,c)
(cMoney,c)(tMoney,c)(tMoney,r) (cMoney,s)(money,c)
(tFood,s) (cFood,r)
(cOrder,s)(order,c)
(food,c)
(tFood,e) (tMoney,n) (food,e) (food,n) (order,e) (order,n) (money,e) (money,n) (cFood,n) (cOrder,e) (cMoney,e)
• Selecting a controller is like selecting a strategy.• One approach is to construct "the" most permissive one
Controller
![Page 123: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/123.jpg)
PAGE 122
Recommended Reading
• van der Aalst, W., Mooij, A.J., Stahl C., Wolf, K.. Service Interaction: Patterns, Formalization, and Analysis. In SFM 2009, volume 5569 of Lecture Notes in Computer Science, pages 42-88. Springer-Verlag, Berlin, 2009.
• Gierds, C., Mooij, A., Wolf, K.: Specifying and generating behavioral service adapters based on transformation rules. Preprints CS-02-08, Institut fur Informatik, Universität Rostock (2008)
• Mooij, A., Voorhoeve, M.: Proof techniques for adapter generation. In: Proc. WSFM (2008)
![Page 124: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/124.jpg)
Service Mining
![Page 125: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/125.jpg)
PAGE 124
Correctness at "model-time" is irrelevant!
![Page 126: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/126.jpg)
PAGE 125
![Page 128: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/128.jpg)
PAGE 127
Process Mining
• Process discovery: "What is really happening?"
• Conformance checking: "Do we do what was agreed upon?"
• Performance analysis: "Where are the bottlenecks?"
• Process prediction: "Will this case be late?"
• Process improvement: "How to redesign this process?"
• Etc.
![Page 129: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/129.jpg)
PAGE 128
• Process discovery: "What is the real curriculum?"• Conformance checking: "Do students meet the prerequisites?"• Performance analysis: "Where are the bottlenecks?"• Process prediction: "Will a student complete his studies (in time)?"• Process improvement: "How to redesign the curriculum?"
![Page 130: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/130.jpg)
PAGE 129
Screenshot of ProM 5.0
![Page 131: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/131.jpg)
PAGE 130
Example Setting for Service Mining
BPEL choreography
![Page 132: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/132.jpg)
PAGE 131
![Page 133: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/133.jpg)
PAGE 132
Recommended Reading
• van der Aalst, W.M.P., Dumas, M., Ouyang, C., Rozinat, A., Verbeek, H.M.W.: Conformance Checking of Service Behavior. ACM Transactions on Internet Technology, 8(3):29-59, 2008.
• Rozinat, A., van der Aalst, W.M.P.: Conformance Checking of Processes Based on Monitoring Real Behavior. Information Systems, 33(1):64-95, 2008.
• van der Aalst, W.M.P., Reijers, H.A., Weijters, A.J.M.M., van Dongen, B.F., Alves de Medeiros, A.K., Song, M., Verbeek, H.M.W.: Business Process Mining: An Industrial Application. Information Systems, 32(5):713-732, 2007.
• www.processmining.org• Process Mining: Discovery, Conformance and Enhancement of Business
Processes by W.M.P. van der Aalst, Springer Verlag, 2011 (ISBN 978-3-642-19344-6). http://www.processmining.org/book/
![Page 134: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/134.jpg)
Conclusion
![Page 135: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/135.jpg)
PAGE 134
Service Interaction Demystified
• Patterns and Anti-Patterns
• Formalization• Analysis
serviceB
serviceC
serviceA
serviceD
![Page 136: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/136.jpg)
PAGE 135
Questions Addressed
1. Exposing Services How to inform others about me such that cooperation
is possible? Two approaches: (a) expose own behavior and (b)
provide operating guideline.2. Replacing and Refining Services How to replace or refine a service without introducing
problems? Inheritance, accordance, transformation rules, etc.
3. Integrating Services Using Adapters How to resolve behavioral incompatibilities? Adapter generation.
4. Service Mining How to analyze the run-time behavior?
![Page 137: Service Interaction: Patterns, Formalization, and Analysis](https://reader033.vdocument.in/reader033/viewer/2022050801/545bee3fb0af9fa42c8b45bc/html5/thumbnails/137.jpg)
PAGE 136
Relevant WWW sites
• http://www2.informatik.hu-berlin.de/top/best/• http://www.service-technology.org• http://www.workflowpatterns.com
• http://www.processmining.org• http://promimport.sourceforge.net • http://prom.sourceforge.net• http://www.workflowcourse.com• http://www.vdaalst.com