2.2.2 User Requirement Definition
It is natural for a user to describe requirements in a
natural language but it is very hard for a computer to
precisely understand and parse the semantic
information from natural language texts. Now a user
has to fill a detail form to define a requirement that
includes:
R=(Name, Des, Pre, In, Exp, Qos, K)
where R denotes a requirement. Name is a name
of the requirement. Des is a short description of the
requirement content. Pre is the pre-condition that has
to be satisfied before the requirement. In presents the
input data. Exp presents the expectation of the result.
Qos is the quality of the service, which is a reserved
interface and not considered at the present. K is the
knowledge model about the service composition. In
order to avoid any ambiguous understanding about
the semantic information of the requirement, the user
has to explicitly choose a rule from the knowledge
repository as the start of the inference.
2.2.3 Knowledge Model Definition
A knowledge model in the DMS Arc is a Directed
Acyclic Graph that defines a transition process
among a set of meta services. In a knowledge model,
a node presents a meta service that is a component of
a combined complex service, an edge presents the
link between two meta services, i.e. the transition of
messages from one meta service to the other. A
knowledge model is used to indicate which service is
deployed and how to assemble those services in order
to fulfil a specific task. A knowledge model is
explicitly defined as follows:
K=(Name, Des, Pre, In, Af, Ao, Out, Post, Qos,
DAG)
Where K is a knowledge model. Name is a name
of the knowledge. Des is a short description of the
knowledge. Pre is the pre-condition that has to be
satisfied before the knowledge is used. In denotes the
input data. Af denotes the effect of the knowledge.
Ao denotes the objects that will be affected by the
knowledge. Out denotes the output data. Post is the
post-condition of the knowledge model. Qos is the
quality of the service, which is a reserved interface
and not considered at the present. DAG is the
directed acyclic graph of the knowledge model,
which is defined as follows:
DAG=(Start, End, [From1, To1], [From2,To2]…)
where Start denotes the start service. End denotes
the end service. [From1, To1] denotes an edge from
the node From1 to the node To1. Every node in the
DAG describes a meta service.
At present, all knowledge models are created and
maintained by expert. They are described in Xml and
stored in the KRC.
2.2.4 Knowledge Matching
If a user does not appoint the start knowledge in the
requirement definition, the system will parse the user
requirement so as to find an appropriate knowledge
model from the KRC to satisfy the requirement. That
is the knowledge matching process. Now we use a
simple matching principle:
R.PreK.Pre R.InK.In R.ExpK.Out
R.QosK.Qos
Where R denotes a user requirement and K
denote a knowledge model. R.PreK.Pre means the
pre-condition of the knowledge can be inferred from
that of the requirement. R.InK. means the input
data of the requirement covers the input of the
knowledge. R.ExpK.Out means the output of the
knowledge contains the expectation result of the
requirement. QosK.Qos means the quality
constraints of the knowledge satisfies that of the
requirement.
2.2.5 Meta Service Definition
There are many widely used service description
scheme, such as Web Services Description Language
(WSDL) (Kona et. al, 2007), Service Composition
Description Language (SCDL) (Yue et. al. 2007) and
Web Ontology Language (OWL)(Ren et. al., 2011).
WSDL is supported by many compile and browser
tools, but it lacks of attributes description, constraint
of service behaviour and context of the service
composition. SCDL supports the context description
of service composition, pays attention on the
constraint of Web service behaviour, but it lacks of
some non-functional properties including quality of
the se
The Xml structure encoding service encodes a
well-formed xml text into a rvice. OWL uses an
explicit computer-understanding markup language to
describe Web service, tries to realize automatic and
intelligent service composition according to semantic
description and logic reasoning.
In DMS Arc, we use QWSDL(Hu et. al, 2005) to
define and describe a meta service. QWSDL is a
modified WSDL, which absorbs some features of
SCDL and expands its capabilities to define a service
with more precise description. In fact, a meta service
is explicitly defined as follows:
Data Mining Service Architecture - An Exploration on Self-organizing Software
465