Formal Definition

1 Preliminaries

Example:

2 Profile

A profile is a tuple P = ‹FP, VP› describing some input/output data for a web service:

Example:

3 Input

A web service input is a tuple I = ‹FI, VI, FIU, VIS

Example:

4 Output

A web service output is a tuple O = ‹FO, VO, VOS, D, new›

Example:

5 Service

A web service chaining description is a tuple S = ‹I, O›.

6 Chaining Requirements

Example:

7 Match Function

A match function M : ‹S × Ƥ› ↦ {0,1} from a set of all the possible web service/profile tuples into zero or one. If the value is one then profile P ∈ Ƥ describes a possible input of web service S ∈ S. M is defined as follows:

1, FIR ∈ FP, and
VPM ∈ VI, and
M(S,P) =                if new == true then FO ∩ FP = ∅
0, otherwise

Example:

Profile P1 = ‹FP1, VP1› describes a possible input of service S1 = ‹I1, O1› where:

because:

8 Specialisation Function

A specialisation function E : ‹S × Ƥ› ↦ S, E is defined as follows:

E(S,P) = SN = ‹IN, ON› such that:

and