Formal Definition
From WebLichtWiki
(Difference between revisions)
Line 70: | Line 70: | ||
* {{#tag:math|F_{ {IR}_1} = F_{I_1} \setminus F_{ {UI}_1} = \{type\} }}, | * {{#tag:math|F_{ {IR}_1} = F_{I_1} \setminus F_{ {UI}_1} = \{type\} }}, | ||
* {{#tag:math|V_{ {PM}_1} = \{(lang,en), (type,text/plain)\} }}. | * {{#tag:math|V_{ {PM}_1} = \{(lang,en), (type,text/plain)\} }}. | ||
+ | |||
+ | |||
+ | ==Match Function== | ||
+ | A match function {{#tag:math|M: \langle \mathcal{S} \times \mathcal{P} \rangle \mapsto \{0,1\} }} from a set of all the possible web service/profile tuples into zero or one. If the value is one then porfile {{#tag:math|P \in \mathcal{P} }} describes a possible input of web service {{#tag:math|S \in \mathcal{S} }}. | ||
+ | {{#tag:math|M}} is defined as follows: | ||
+ | |||
+ | {{#tag:math| | ||
+ | M(S,P) = | ||
+ | \begin{cases} | ||
+ | 1, & F_{IR} \subseteq F_P,\\ | ||
+ | &\text{and } V_{PM} \subseteq V_I,\\ | ||
+ | &\text{and if } new=true \text{ then } F_O \cap F_P = \varnothing\\ | ||
+ | 0, & otherwise | ||
+ | \end{cases} | ||
+ | }} | ||
+ | |||
+ | Example: | ||
+ | |||
+ | Profile {{#tag:math|P_1=\langle F_{P_1}, V_{P_1}\rangle}} describes a possible input of service {{#tag:math|S_1=\langle I_1, O_1\rangle}} where: | ||
+ | * {{#tag:math|I_1=\langle F_{I_1}, V_{I_1}, F_{ {IU}_1}, V_{ {IS}_1}\rangle}}, | ||
+ | * {{#tag:math|O_1=\langle F_{O_1}, V_{O_1}, V_{ {OS}_1}, D_1, new_1\rangle}} | ||
+ | |||
+ | because: | ||
+ | |||
+ | * {{#tag:math|F_{ {IR}_1} \subseteq F_{P_1} }}, i.e. {{#tag:math|\{type\} \subseteq \{lang, type\} }} | ||
+ | * {{#tag:math|V_{PM} \subseteq V_I }}, i.e. {{#tag:math|\{(lang,en),(type,text/plain)\} \subseteq \{(lang,en),(lang,de),(type,text/plain),(type,application/pdf)\} }}, and | ||
+ | * the output is new i.e {{#tag:math|new_1=true}}. |
Revision as of 08:56, 14 March 2012
Contents |
Preliminaries
- – a set of all the possible value names,
- – a value name,
- – a set of all the possible feature names,
- – a feature name,
- – a feature set,
- – feature/value relation, a set of ordered pairs, i.e. a binary relation between and .
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 describing some input/output data for a web service:
- – profile features, a feature set of data features,
- – profile feature/value map , a function from profile features to their values representing input data.
Example:
Input
A web service input is a tuple
- input features a set of features that must be present in the input of a web service,
- input feature/value relation a relation representing possible values of the input features of a web service,
- user specifiable input features features that a user may specify,
- input selected feature/value map a total function mapping each input feature to its selected value.
Example:
- ,
- ,
- ,
- VIS = {(lang,en),(type,text / plain)}.
Output
A web service output is a tuple
- output features a feature set representing an output of a web service,
- output feature/value relation a relation representing possible values of the output features of a web service,
- output selected feature/value map a total function mapping each output feature to its selected value.
- input dependence map , where , such that 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. .
Example:
- ,
- ,
- VOS = {(lang,en),(type,text / html)},
- ,
- new1 = true.
Service
A web service chaining description is a tuple .
- input I a web service input,
- output O a web service output.
Chaining Requirements
- required input features ,
- matching profile values .
Example:
- ,
- .
Match Function
A match function from a set of all the possible web service/profile tuples into zero or one. If the value is one then porfile describes a possible input of web service . M is defined as follows:
Example:
Profile describes a possible input of service where:
- ,
because:
- , i.e.
- , i.e. , and
- the output is new i.e new1 = true.