Formal Definition

From WebLichtWiki

(Difference between revisions)
Jump to: navigation, search
Line 39: Line 39:
 
* {{#tag:math|F_{ {UI}_1} = \{lang\} }},
 
* {{#tag:math|F_{ {UI}_1} = \{lang\} }},
 
* {{#tag:math|V_{IS} = \{(lang,en),(type,text/plain)\} }}.
 
* {{#tag:math|V_{IS} = \{(lang,en),(type,text/plain)\} }}.
 +
 +
==Output==
 +
A web service output is a tuple {{#tag:math|O = \langle F_O, V_O, V_{OS}, D, new\rangle}}
 +
* output features {{#tag:math|F_O \subseteq \mathcal{F} }} a feature set representing an output of a web service,
 +
* output feature/value relation {{#tag:math|V_O \subseteq \mathcal{F_O} \times \mathcal{N} }} a relation representing possible values of the output features of a web service,
 +
* output selected feature/value map {{#tag:math|V_{OS} : F_O \mapsto \mathcal{N}, V_{OS} \subseteq V_O }} a total function mapping each output feature to its selected value.
 +
* input dependence map {{#tag:math|D: V_I \mapsto V_D}}, where {{#tag:math|V_D \subseteq 2^{V_O} }}, such that {{#tag:math|\bigcap V_D = \varnothing }} maps input feature/value pair to a set of dependent output feature/value pairs.
 +
* new - a web service output does not include its input, i.e. {{#tag:math|V_I \cap V_O = \varnothing }}.
 +
 +
 +
Example:
 +
* {{#tag:math|F_{O_1} = \{lang, type\} }},
 +
* {{#tag:math|V_{O_1} = \{(lang,en),(type,text/html)\} }},
 +
* {{#tag:math|V_{OS} = \{(lang,en),(type,text/html)\} }},
 +
* {{#tag:math|D_1 = \varnothing }},
 +
* {{#tag:math|new_1 = true}}.
 +
 +
==Service==
 +
A web service chaining description is a tuple {{#tag:math|S = \langle I, O\rangle}}.
 +
* input {{#tag:math|I}} a web service input,
 +
* output {{#tag:math|O}} a web service output.
 +
 +
==Chaining Requirements==
 +
 +
* required input features {{#tag:math|F_{IR} = F_I \setminus F_U }},
 +
* matching profile values {{#tag:math|V_{PM} = \{(f,v) \in V_P : f \in F_{I} \} }}.
 +
 +
Example:
 +
 +
* {{#tag:math|F_{ {IR}_1} = F_{I_1} \setminus F_{ {UI}_1} = \{type\} }},
 +
* {{#tag:math|V_{ {PM}_1} = \{(lang,en), (type,text/plain)\} }}.

Revision as of 15:13, 13 March 2012

Contents

Preliminaries

  • \mathcal{N} – a set of all the possible value names,
  • n \in \mathcal{N} – a value name,
  • \mathcal{F} – a set of all the possible feature names,
  • f \in \mathcal{F} – a feature name,
  • F \subseteq \mathcal{F} – a feature set,
  • V \subseteq \mathcal{F} \times \mathcal{N} – feature/value relation, a set of \langle f, n \rangle ordered pairs, i.e. a binary relation between  \mathcal{F} and  \mathcal{N} .


Example:

  • F1 = {lang,type} – a feature set containing two feature names lang and type,
  • V1 = {(lang,en),(lang,de),(type,text / plain) - feature/value relation contianign three ordered pairs.


Profile

A profile is a tuple P = \langle F_P, V_P\rangle describing some input/output data for a web service:

  • F_P \subseteq \mathcal{F} – profile features, a feature set of data features,
  •  V_P: F_P \mapsto \mathcal{N} – profile feature/value map , a function from profile features to their values representing input data.


Example:

  • F_{P_1} = \{lang, type\}
  • V_{P_1} = \{(lang,en),(type,text/plain)\}


Input

A web service input is a tuple I = \langle F_I, V_I, F_{IU}, V_{IS}\rangle

  • input features F_I \subseteq \mathcal{F} a set of features that must be present in the input of a web service,
  • input feature/value relation V_I \subseteq \mathcal{F_I} \times \mathcal{N} a relation representing possible values of the input features of a web service,
  • user specifiable input features F_{IU} \subseteq F_I features that a user may specify,
  • input selected feature/value map V_{IS} : F_I \mapsto \mathcal{N}, V_{IS} \subseteq V_I a total function mapping each input feature to its selected value.

Example:

  • F_{I_1} = \{lang, type\} ,
  • V_{I_1} = \{(lang,en),(lang,de),(type,text/plain),(type,application/pdf)\} ,
  • F_{ {UI}_1} = \{lang\} ,
  • VIS = {(lang,en),(type,text / plain)}.

Output

A web service output is a tuple O = \langle F_O, V_O, V_{OS}, D, new\rangle

  • output features F_O \subseteq \mathcal{F} a feature set representing an output of a web service,
  • output feature/value relation V_O \subseteq \mathcal{F_O} \times \mathcal{N} a relation representing possible values of the output features of a web service,
  • output selected feature/value map V_{OS} : F_O \mapsto \mathcal{N}, V_{OS} \subseteq V_O a total function mapping each output feature to its selected value.
  • input dependence map D: V_I \mapsto V_D, where V_D \subseteq 2^{V_O} , such that \bigcap V_D = \varnothing maps input feature/value pair to a set of dependent output feature/value pairs.
  • new - a web service output does not include its input, i.e. V_I \cap V_O = \varnothing .


Example:

  • F_{O_1} = \{lang, type\} ,
  • V_{O_1} = \{(lang,en),(type,text/html)\} ,
  • VOS = {(lang,en),(type,text / html)},
  • D_1 = \varnothing ,
  • new1 = true.

Service

A web service chaining description is a tuple S = \langle I, O\rangle.

  • input I a web service input,
  • output O a web service output.

Chaining Requirements

  • required input features F_{IR} = F_I \setminus F_U ,
  • matching profile values V_{PM} = \{(f,v) \in V_P : f \in F_{I} \} .

Example:

  • F_{ {IR}_1} = F_{I_1} \setminus F_{ {UI}_1} = \{type\} ,
  • V_{ {PM}_1} = \{(lang,en), (type,text/plain)\} .