jens lemcke research associate, sap ag co-authors: michael altenhofen, egon börger an execution...
TRANSCRIPT
Jens LemckeResearch Associate, SAP AG
Co-Authors: Michael Altenhofen, Egon Börger
An Execution Semantics for Mediation Patterns
Interaction Mismatches
Outlook
Introduction
Virtual Providers
Interaction Mismatches
Outlook
Introduction
Virtual Providers
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
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
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
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
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
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
Interaction Mismatches
Outlook
Introduction
Virtual Providers
Interaction Mismatches
Outlook
Introduction
Virtual Providers
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
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
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
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
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
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
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
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
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
Interaction Mismatches
Outlook
Introduction
Virtual Providers
Interaction Mismatches
Outlook
Introduction
Virtual Providers
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
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
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
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
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
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)
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)
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)
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)
Interaction Mismatches
Outlook
Introduction
Virtual Providers
Interaction Mismatches
Outlook
Introduction
Virtual Providers
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
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
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
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
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
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 ?