an execution semantics for mediation patterns
DESCRIPTION
An Execution Semantics for Mediation Patterns. Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger. Introduction. Virtual Providers. Interaction Mismatches. Outlook. Introduction. Virtual Providers. Interaction Mismatches. Outlook. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/1.jpg)
Jens LemckeResearch Associate, SAP AG
Co-Authors: Michael Altenhofen, Egon Börger
An Execution Semantics for Mediation Patterns
![Page 2: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/2.jpg)
Interaction Mismatches
Outlook
Introduction
Virtual Providers
![Page 3: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/3.jpg)
Interaction Mismatches
Outlook
Introduction
Virtual Providers
![Page 4: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/4.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 4
Introduction and Research Context
WSMO Framework Actors: Business Partners (BP)
Behavioural Interfaces (WSMO: Choreographies)
Interactions of arbitrary BPs
WSMO Process Mediation Mapping Choreographies for Interoperation
Problem: Interaction Mismatches
Solution: Process Mediators (PMs) as transparent connectors
![Page 5: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/5.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 5
Motivation – Resolvable Interaction Mismatches I
Motivation Informal graphical representation
Ambiguous Interpretations What do two successive links mean? Ordering constraint. What do links mean, and what capitals (A, B)? Links: Messages; Capitals:
Data sets. What connection mode is assumed? Reliable connecions.
Hidden, implicit knowledge
– D13.7, WSMO Deliverable
![Page 6: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/6.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 6
Motivation – Resolvable Interaction Mismatches II
Motivation Informal graphical representation
Ambiguous Interpretations What do two successive links mean? Ordering constraint. What do links mean, and what capitals (A, B)? Links: Messages; Capitals:
Data sets. What connection mode is assumed? Reliable connecions.
Hidden, implicit knowledge
– D13.7, WSMO Deliverable
![Page 7: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/7.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 7
Motivation – Resolvable Interaction Mismatches III
Motivation Informal graphical representation
Ambiguous Interpretations What do two successive links mean? Ordering constraint. What do links mean, and what capitals (A, B)? Links: Messages; Capitals:
Data sets. What connection mode is assumed? Reliable connecions.
Hidden, implicit knowledge
– D13.7, WSMO Deliverable
![Page 8: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/8.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 8
Motivation – Resolvable Interaction Mismatches IV
Motivation Informal graphical representation
Ambiguous Interpretations What do two successive links mean? Ordering constraint. What do links mean, and what capitals (A, B)? Links: Messages; Capitals:
Data sets. What connection mode is assumed? Reliable connecions.
Hidden, implicit knowledge
– D13.7, WSMO Deliverable
![Page 9: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/9.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 9
Motivation – Resolvable Interaction Mismatches V
Motivation Informal graphical representation
Ambiguous Interpretations What do two successive links mean? Ordering constraint. What do links mean, and what capitals (A, B)? Links: Messages; Capitals:
Data sets. What connection mode is assumed? Reliable connecions.
Hidden, implicit knowledge
Conclusion: A formal representation would be highly appreciable.
– D13.7, WSMO Deliverable
![Page 10: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/10.jpg)
Interaction Mismatches
Outlook
Introduction
Virtual Providers
![Page 11: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/11.jpg)
Interaction Mismatches
Outlook
Introduction
Virtual Providers
![Page 12: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/12.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 12
Mediators as Virtual Providers (VPs) I
What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM)
What can be done by using VP? Receive multiple related initial messages
Generate subsequent messages from initial & returned message contents
Receive returned answers
Send answer to initiator
![Page 13: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/13.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 13
Mediators as Virtual Providers (VPs) II
What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM)
What can be done by using VP? Receive multiple related initial messages
Generate subsequent messages from initial & returned message contents
Receive returned answers
Send answer to initiator
![Page 14: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/14.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 14
Mediators as Virtual Providers (VPs) III
What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM)
What can be done by using VP? Receive multiple related initial messages
Generate subsequent messages from initial & returned message contents
Receive returned answers
Send answer to initiator
![Page 15: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/15.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 15
Mediators as Virtual Providers (VPs) IV
What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM)
What can be done by using VP? Receive multiple related initial messages
Generate subsequent messages from initial & returned message contents
Receive returned answers
Send answer to initiator
![Page 16: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/16.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 16
Mediators as Virtual Providers (VPs) V
What is the Virtual Provider (VP)? Mediator described by an abstract procedural semantics (given as ASM)
What can be done by using VP? Receive multiple related initial messages
Generate subsequent messages from initial & returned message contents
Receive returned answers
Send answer to initiator
![Page 17: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/17.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 17
Mediation in Virtual Providers (VPs) I
What does the PROCESSing machine do? Working one current request
Controls sending & receiving machines
How can communications be mediated? Incoming messages Create request (from their content)
Compute request by generating a sequence of parallel new requests (msgs)
Generate returning answer
![Page 18: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/18.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 18
Mediation in Virtual Providers (VPs) II
What does the PROCESSing machine do? Working one current request
Controls sending & receiving machines
How can communications be mediated? Incoming messages Create request (from their content)
Compute request by generating a sequence of parallel new requests (msgs)
Generate returning answer
![Page 19: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/19.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 19
Mediation in Virtual Providers (VPs) III
What does the PROCESSing machine do? Working one current request
Controls sending & receiving machines
How can communications be mediated? Incoming messages Create request (from their content)
Compute request by generating a sequence of parallel new requests (msgs)
Generate returning answer
![Page 20: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/20.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 20
Mediation in Virtual Providers (VPs) IV
What does the PROCESSing machine do? Working one current request
Controls sending & receiving machines
How can communications be mediated? Incoming messages Create request (from their content)
Compute request by generating a sequence of parallel new requests (msgs)
Generate returning answer
![Page 21: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/21.jpg)
Interaction Mismatches
Outlook
Introduction
Virtual Providers
![Page 22: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/22.jpg)
Interaction Mismatches
Outlook
Introduction
Virtual Providers
![Page 23: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/23.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 23
Refinement of Virtual Provider
Basic Patterns Refine VP
What to do?
Refine data structures
Define:Where to refine? In ReceiveReq
![Page 24: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/24.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 24
Pattern a) Discard first message
Forward second
Implementation Stateful Block until receipt of second message
Resolvable Interaction Mismatches – Pattern a) I
![Page 25: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/25.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 25
Pattern a) Discard first message
Forward second
Implementation Stateful Block until receipt of second message
Resolvable Interaction Mismatches – Pattern a) II
![Page 26: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/26.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 26
Pattern b) Extension to a)
Save both messages
Forward in reverse order
Implementation Stateful Block until receipt of second message
Keep first message in memory
Resolvable Interaction Mismatches – Pattern b) I
![Page 27: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/27.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 27
Pattern b) Extension to a)
Save both messages
Forward in reverse order
Implementation Stateful Block until receipt of second message
Keep first message in memory
Resolvable Interaction Mismatches – Pattern b) II
![Page 28: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/28.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 28
Pattern d) Extension to b)
Save both messages
Forward combined message
Implementation Stateful Block until receipt of second message
Keep first message in memory & combine
Resolvable Interaction Mismatches – Pattern d)
Changes over b)
![Page 29: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/29.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 29
Pattern c) Forward splitted message
Implementation No State Don’t block
Resolvable Interaction Mismatches – Pattern c)
![Page 30: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/30.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 30
Pattern e) Acknowledge receipt
( Reliable connection implied)
Implementation No State Directly send confirmation
Resolvable Interaction Mismatches – Pattern e)
![Page 31: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/31.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 31
Pattern e) Acknowledge receipt
( Reliable connection implied)
Implementation No State Directly send confirmation
Resolvable Interaction Mismatches – Pattern e)
![Page 32: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/32.jpg)
Interaction Mismatches
Outlook
Introduction
Virtual Providers
![Page 33: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/33.jpg)
Interaction Mismatches
Outlook
Introduction
Virtual Providers
![Page 34: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/34.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 34
Mediator Patterns (MPs)
Complex Interaction Patterns VP’s homogeneous Communication structure Chaining VPs
Yields tree-like structure of VP composition:1. A request can be transformed into a sequence of parallel new requests
2. New requests can be handled as in 1 (by a chained VP)
Mediation Component Choose appropriate Mediator Patterns from a library
Mediator Pattern
Virtual Provider
![Page 35: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/35.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 35
DN, AH, BH
BN
Virtual Internet Service Provider Transparently contacting 3rd parties
via their (different) interfaces
Situation Different interfaces
Solution Library of Mediator Patterns
Mediator Patterns Example – VISP
AN
BN
DN
AH, BH, DH
Req
ues
to
rAN, BN, DN
AH, BH, DH
Pro
vid
er
1
AN
AH
DH
Pro
vid
er
2BH
![Page 36: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/36.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 36
DN, AH, BH
BN
Virtual Internet Service Provider Transparently contacting 3rd parties
via their (different) interfaces
Situation Different interfaces
Solution Library of Mediator Patterns
Mediator Patterns Example – VISP
AN
BN
DN
AH, BH, DH
Req
ues
to
rAN, BN, DN
AH, BH, DH
Pro
vid
er
1
AN
AH
DH
Pro
vid
er
2BH
Library
MP 1
MP 2
![Page 37: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/37.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 37
DN, AH, BH
BN
Virtual Internet Service Provider Transparently contacting 3rd parties
via their (different) interfaces
Situation Different interfaces
Solution Library of Mediator Patterns
Mediator Patterns Example – VISP
AN
BN
DN
AH, BH, DH
Req
ues
to
rAN, BN, DN
AH, BH, DH
Pro
vid
er
1
AN
AH
DH
Pro
vid
er
2BH
Library
MP 1
MP 2
MP 1
![Page 38: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/38.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 38
DN, AH, BH
BN
Virtual Internet Service Provider Transparently contacting 3rd parties
via their (different) interfaces
Situation Different interfaces
Solution Library of Mediator Patterns
Mediator Patterns Example – VISP
AN
BN
DN
AH, BH, DH
Req
ues
to
rAN, BN, DN
AH, BH, DH
Pro
vid
er
1
AN
AH
DH
Pro
vid
er
2BH
Library
MP 1
MP 2
MP 2
![Page 39: An Execution Semantics for Mediation Patterns](https://reader035.vdocuments.site/reader035/viewer/2022062301/56814f9a550346895dbd56db/html5/thumbnails/39.jpg)
SAP AG 2005, An Execution Semantics for Mediation Patterns / Jens Lemcke / 39
Summary and Conclusion
Summary Formal high-level mediator specification
Composition into Mediator Patterns
Representation of interaction mismatches
Using ASM facilitates Unambiguous formal specification
Clear separation of abstraction layers
Identification of refinement spots
Future Work Classification of interaction mismatches
Automated pattern selection / definition
Formalize further components using ASMLike discovery module spec. (Andreas Friesen, Stephan Grimm)
Questions
or Comments ?