Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution...

39
Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns

Transcript of Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution...

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

Jens LemckeResearch Associate, SAP AG

Co-Authors: Michael Altenhofen, Egon Börger

An Execution Semantics for Mediation Patterns

Page 2: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

Interaction Mismatches

Outlook

Introduction

Virtual Providers

Page 3: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

Interaction Mismatches

Outlook

Introduction

Virtual Providers

Page 4: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

Interaction Mismatches

Outlook

Introduction

Virtual Providers

Page 11: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

Interaction Mismatches

Outlook

Introduction

Virtual Providers

Page 12: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

Interaction Mismatches

Outlook

Introduction

Virtual Providers

Page 22: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

Interaction Mismatches

Outlook

Introduction

Virtual Providers

Page 23: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

Interaction Mismatches

Outlook

Introduction

Virtual Providers

Page 33: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

Interaction Mismatches

Outlook

Introduction

Virtual Providers

Page 34: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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: Jens Lemcke Research Associate, SAP AG Co-Authors: Michael Altenhofen, Egon Börger An Execution Semantics for Mediation Patterns.

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 ?