Formal Definition
From WebLichtWiki
(Difference between revisions)
(2 intermediate revisions by one user not shown) | |||
Line 11: | Line 11: | ||
Example: | Example: | ||
* {{#tag:math|F_1 = \{lang,type\} }} – a feature set containing two feature names {{#tag:math|lang }} and {{#tag:math|type }}, | * {{#tag:math|F_1 = \{lang,type\} }} – a feature set containing two feature names {{#tag:math|lang }} and {{#tag:math|type }}, | ||
− | * {{#tag:math|V_1 = \{(lang,en),(lang,de),(type,text/plain) }} - feature/value relation | + | * {{#tag:math|V_1 = \{(lang,en),(lang,de),(type,text/plain) }} - feature/value relation contianig three ordered pairs. |
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 profile {{#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}\\ | ||
+ | &\text{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\} }}, and | ||
+ | * {{#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}}. | ||
+ | |||
+ | ==Specialisation Function== | ||
+ | A specialisation function {{#tag:math|E: \langle \mathcal{S} \times \mathcal{P} \rangle \mapsto \mathcal{S} }}. {{#tag:math|E}} is defined as follows: | ||
+ | |||
+ | |||
+ | {{#tag:math|E(S,P) = S_N = \langle I_N, O_N\rangle }} | ||
+ | such that: | ||
+ | * {{#tag:math|I_N=\langle F_I, V_{I_N}, F_{IU}, V_{ {IS}_N}\rangle}}, where: | ||
+ | ** {{#tag:math|V_{ {IS}_N} = \{(f,v) \in V_{IS} : f \in F_P \rightarrow (f,v) \in V_{PM}\} }}, | ||
+ | ** {{#tag:math|V_{I_N} = \{(f,v) \in V_I : f \in F_P \rightarrow (f,v) \in V_{PM}\} }}, | ||
+ | and | ||
+ | * {{#tag:math|O_N=\langle F_{O}, V_{O_N}, V_{ {OS}_N}, new \rangle }}, where: | ||
+ | ** {{#tag:math|V_T = \bigcup_{v \in V_{ {IS}_N} } D(v) }}, | ||
+ | ** {{#tag:math| V_{ {OS}_N} = V_T \cup \{(f,v) \in V_{OS} : f \notin domain(V_T)\} }}, | ||
+ | ** {{#tag:math| V_{O_N} = \{(f,v) \in V_O : f \in domain(V_T) \rightarrow (f,v) \in V_T\} }}, |
Latest revision as of 09:13, 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 contianig 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 profile describes a possible input of web service . M is defined as follows:
Example:
Profile describes a possible input of service where:
- ,
because:
- , i.e. , and
- , i.e. , and
- the output is new i.e new1 = true.
Specialisation Function
A specialisation function . E is defined as follows:
such that:
- , where:
- ,
- ,
and
- , where:
- ,
- ,
- ,