390 likes | 461 Views
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.
E N D
An Execution Semantics for Mediation Patterns Jens LemckeResearch Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger
Introduction Virtual Providers Interaction Mismatches Outlook
Introduction Virtual Providers Interaction Mismatches Outlook
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
Motivation – Resolvable Interaction Mismatches I – D13.7,WSMO Deliverable • 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
Motivation – Resolvable Interaction Mismatches II – D13.7,WSMO Deliverable • 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
Motivation – Resolvable Interaction Mismatches III – D13.7,WSMO Deliverable • 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
Motivation – Resolvable Interaction Mismatches IV – D13.7,WSMO Deliverable • 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
Motivation – Resolvable Interaction Mismatches V – D13.7,WSMO Deliverable • 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.
Introduction Virtual Providers Interaction Mismatches Outlook
Introduction Virtual Providers Interaction Mismatches Outlook
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
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
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
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
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
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
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
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
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
Introduction Virtual Providers Interaction Mismatches Outlook
Introduction Virtual Providers Interaction Mismatches Outlook
Refinement of Virtual Provider • Basic Patterns • Refine VP • What to do? Refine data structures Define: • Where to refine? • In ReceiveReq
Resolvable Interaction Mismatches – Pattern a) I • Pattern a) • Discard first message • Forward second • Implementation • Stateful Block until receipt of second message
Resolvable Interaction Mismatches – Pattern a) II • Pattern a) • Discard first message • Forward second • Implementation • Stateful Block until receipt of second message
Resolvable Interaction Mismatches – Pattern b) I • 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 • 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 d) • 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 Changes over b)
Resolvable Interaction Mismatches – Pattern c) • Pattern c) • Forward splitted message • Implementation • No State Don’t block
Resolvable Interaction Mismatches – Pattern e) • Pattern e) • Acknowledge receipt ( Reliable connection implied) • Implementation • No State Directly send confirmation
Resolvable Interaction Mismatches – Pattern e) • Pattern e) • Acknowledge receipt ( Reliable connection implied) • Implementation • No State Directly send confirmation
Introduction Virtual Providers Interaction Mismatches Outlook
Introduction Virtual Providers Interaction Mismatches Outlook
Mediator Patterns (MPs) Mediator Pattern Virtual Provider • Complex Interaction Patterns • VP’s homogeneous Communication structure Chaining VPs • Yields tree-like structure of VP composition: • A request can be transformed into a sequence of parallel new requests • New requests can be handled as in 1 (by a chained VP) • Mediation Component • Choose appropriate Mediator Patterns from a library
Virtual Internet Service Provider Transparently contacting 3rd parties via their (different) interfaces Situation Different interfaces Solution Library of Mediator Patterns AH, BH, DH BN AN BN BH DN AH, BH, DH AN AH DH DN, AH, BH AN, BN, DN Mediator Patterns Example – VISP Requestor Provider 1 Provider 2
Virtual Internet Service Provider Transparently contacting 3rd parties via their (different) interfaces Situation Different interfaces Solution Library of Mediator Patterns Library BN AN BN DN AN, BN, DN AH, BH, DH AN AH DH BH DN, AH, BH AH, BH, DH MP 1 MP 2 Mediator Patterns Example – VISP Requestor Provider 1 Provider 2
Virtual Internet Service Provider Transparently contacting 3rd parties via their (different) interfaces Situation Different interfaces Solution Library of Mediator Patterns Library BN AN BN AH, BH, DH AH, BH, DH DN AN AH DH BH DN, AH, BH AN, BN, DN MP 1 MP 1 MP 2 Mediator Patterns Example – VISP Requestor Provider 1 Provider 2
Virtual Internet Service Provider Transparently contacting 3rd parties via their (different) interfaces Situation Different interfaces Solution Library of Mediator Patterns Library BN AN BN AH, BH, DH AH, BH, DH DN AN AH DH BH DN, AH, BH AN, BN, DN MP 1 MP 2 MP 2 Mediator Patterns Example – VISP Requestor Provider 1 Provider 2
Questions or Comments ? 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 ASM • Like discovery module spec. (Andreas Friesen, Stephan Grimm)