
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