1 / 39

An Execution Semantics for Mediation Patterns

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.

bliss
Download Presentation

An Execution Semantics for Mediation Patterns

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Execution Semantics for Mediation Patterns Jens LemckeResearch Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger

  2. Introduction Virtual Providers Interaction Mismatches Outlook

  3. Introduction Virtual Providers Interaction Mismatches Outlook

  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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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.

  10. Introduction Virtual Providers Interaction Mismatches Outlook

  11. Introduction Virtual Providers Interaction Mismatches Outlook

  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

  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

  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

  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

  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

  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

  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

  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

  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

  21. Introduction Virtual Providers Interaction Mismatches Outlook

  22. Introduction Virtual Providers Interaction Mismatches Outlook

  23. Refinement of Virtual Provider • Basic Patterns • Refine VP • What to do?  Refine data structures  Define: • Where to refine? •  In ReceiveReq

  24. Resolvable Interaction Mismatches – Pattern a) I • Pattern a) • Discard first message • Forward second • Implementation • Stateful  Block until receipt of second message

  25. Resolvable Interaction Mismatches – Pattern a) II • Pattern a) • Discard first message • Forward second • Implementation • Stateful  Block until receipt of second message

  26. 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

  27. 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

  28. 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)

  29. Resolvable Interaction Mismatches – Pattern c) • Pattern c) • Forward splitted message • Implementation • No State  Don’t block

  30. Resolvable Interaction Mismatches – Pattern e) • Pattern e) • Acknowledge receipt ( Reliable connection implied) • Implementation • No State  Directly send confirmation

  31. Resolvable Interaction Mismatches – Pattern e) • Pattern e) • Acknowledge receipt ( Reliable connection implied) • Implementation • No State  Directly send confirmation

  32. Introduction Virtual Providers Interaction Mismatches Outlook

  33. Introduction Virtual Providers Interaction Mismatches Outlook

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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)

More Related