Escolar Documentos
Profissional Documentos
Cultura Documentos
Collaborative Design
Min Liu1,2, Weiming Shen2, Qi Hao2, Junwei Yan1, Qi Gao1
1
CIMS Research Center, Tongji University, Shanghai 200092, P.R. China
2
National Research Council Canada, London, Ontario N6G 4X8, Canada
{min.liu, weiming.shen,qi.hao}@nrc.gc.ca; {lmin, jwyan}mail.tongji.edu.cn
Authorized licensed use limited to: Jeppiaar Engineering College. Downloaded on October 29, 2009 at 09:39 from IEEE Xplore. Restrictions apply.
However, this category-based service-discovery 3.1 Semantics-enhanced Web Services
method (e.g. UDDI) is clearly insufficient [7], because Framework
it relies on the shared common-sense understanding of Semantic Web Services possess the potential to
the application domain by the developers who publish help unify the computing resources and knowledge
and consume the specified services. scattered on the Internet into a large platform for
Semantic Web Services (SWS) were proposed to collaborative design. To facilitate the publication and
address this kind of problem. In SWS, ontology is a discovery of semantic Web services, an architectural
formal and explicit specification of a shared framework, as an extended version of the standard Web
conceptualization [12], and is expected to play a central Services model, is proposed for the development of
role to empower Web services with semantics. Using collaborative design systems (Figure 2).
Semantic Web, computers will be able to understand
pieces of information on Web pages rather than merely AL
presenting them to users, and would be able to OWL-S/UDDI KB
autonomously assist users in manipulating such Matchmaker DB
information.
In SWS, the problem of service discovery and Publish
Requests Response:
matching is analogous to the problem of component Advertisement Provider
retrieval and information retrieval [7]. First, a WSDL Profile
Profile
specification declares a “software component” Find
including a specification of its interface signature and a
Grounding Bind
specification of where the actual implementation exists Service Service
and how it can be used. Second, a WSDL specification Provider
SOAP Messages
Requester
usually includes a set of natural-language descriptions
XML+RDF
of the service and its elements. Therefore, given only a
textual description of the desired service, a semantic Figure 2 Semantic-enhanced Web Service Framework
information-retrieval method [7] can be used to identify
In this model, the UDDI service registry is
and order the most relevant WSDL specifications based
strengthened by the matchmaker, and the WSDL service
on the similarity of their element descriptions with the
description is enriched by the OWL-S semantic Web
query under question.
service description. Access to WSDL documents on the
Since WSDL does not provide formal specifications
Internet is still necessary for service requesters to
of the ontology of the data types of the available
properly ground and bind to service providers. However,
services and the functional semantics of their operations,
the matchmaker does not need to store the copies (or
it is not possible to guarantee that a retrieved service
URL) of such documents locally because only the
can fulfill all requirements of the requester. But WSDL
semantic Web services description from OWL-S
is extensible and, in fact, the OWL-S effort aims at
documents is used in the matching process.
extending WSDL with such semantic specifications.
SOAP messages, which are used for communication
However, until such extensions become standards and
between Web services, are to be augmented with RDF
actual services with such semantic specifications are
statements so that XML data transmitted from a sender
published, the issue of programmatically discovering
will be meaningful to the recipient. Each parameter of
relevant services among the multitude of published
the request and response messages between service
services makes the problem of service-similarity degree
consumers and providers consists of the serialized XML
extremely relevant. Therefore, a service profile
data and its corresponding RDF statements which
matching algorithm is proposed by researchers at
explain the meaning of such data. RDF statements are
Carnegie Mellon University to be used by matchmakers.
also typically encoded in XML format and the format is
termed RDF/XML according to the RDF specification.
3. Semantics-enhanced Web Service As RDF/XML can naturally be included as extra
Framework and Service Operation Model attachments in SOAP messages, RDF-augmented SOAP
The Web services stack of standards is designed to messages will not cause a compatibility issue with non-
support the reuse and interoperation of software semantic aware recipients because the recipients can
components on the Web. A critical step in the process of simply ignore the part of an unrecognized attachment.
developing applications based on Web services is In the matchmaker, the Application Logic (AL) is the
service discovery, i.e. the matching and identification of primary component of a semantics-enhanced service. It
existing Web services that can potentially be used in the performs the functions advertised in its service
context of a new Web application. However, discovery description. It handles and processes requests initiated
through catalog-style browsing (e.g. UDDI) is clearly by service consumers, and delegates tasks to service
insufficient. This paper presents a novel Web service providers by sending out request messages.
framework and service operation model to improve the The Knowledge Base (KB) provides intelligent
matching and discovery ability of Web service based on assistance to AL. It consists of an inference engine and
Semantic Web Services Framework. the copies of ontology and RDF (or OWL) statements
downloaded from the Semantic Web. Multiple domain
Authorized licensed use limited to: Jeppiaar Engineering College. Downloaded on October 29, 2009 at 09:39 from IEEE Xplore. Restrictions apply.
ontology, e.g., a unit-of-measurement ontology, a level model for web service operation in matchmaker
material-property ontology and a structural engineering contains a set of rules that are organized into five levels
ontology, is downloaded and stored locally in the (Figure 3). Each rule at a certain level compares a
knowledge base during the initialization process of a specific feature of services. L0 compares syntactic
semantics-enhanced service. The knowledge base uses attributes such as the number of parameters in message.
its inference engine and the premises from RDF (or L1 compares static semantic attributes, including the
OWL) statements to answer queries initiated from AL. static semantics of messages and the static semantics of
The database component (DB) provides information operations. L2 compares dynamic semantic attributes.
processing assistance to AL. L3 focuses on the qualitative service and contains
business and runtime attributes. L4 emphasizes on the
3.2 Multi-level Model of Web Service Operation
dependable service and contains the security, trust and
In the semantics-enhanced web service framework,
self-managing attributes of Web service operation.
the semantic description of web services and the
description level of service operation are important for 4. Operation-based Multi-level Matching
evaluating their matching scores. The operation Model for Web Services in Matchmaker
ontology, a meta-data ontology, is used as a template to In the multi-level model for Web service operation
define Web service operations and provides concepts (Figure 3), the matching rules of Web service operation
that allow description of other concepts [6, 7]. in matchmaker are divided into five levels. Therefore,
Each operation, defined by a set of nonfunctional the Web service matching rules are also organized into
and functional attributes, is an instance of the operation syntactic matching level, static semantic matching level,
ontology. Nonfunctional (e.g., qualitative) attributes dynamic semantics matching level, qualitative level and
include a set of metrics that measure the quality of the dependable level. A service request is matched in serial
operation (e.g., time, availability, and cost). Functional with the advertisement service through the above rules.
attributes describe syntactic and semantic features of an
operation. We identify three groups of functional 4.1 Syntactic Matching Level
attributes: syntactic, static semantic and dynamic The syntactic-matching focuses on the matching of
semantic. Syntactic attributes represent the structure of WSDL specifications and it is a natural extension of the
a service operation, e.g., the list of input and output signature-matching method for component retrieval [7].
parameters that define the operation’s messages. It involves the comparison of the operations’ set offered
Semantic attributes refer to the meaning of the by the Web service, which, in turn, is based on the
operation or its messages. Among them, static semantic comparison of the data types communicated by these
attributes describe features that are not related to the messages, the operations’ input and output messages,
execution of the operation, such as the operation’s the operation and Web services.
category (i.e., domain of research). While dynamic x Matching of data types
semantic attributes refer to the way and constraints The basis of service, operation and message
under which the operation is executed. The dynamic matching is the matching of the individual data types.
semantic attribute generally refers to the business logic To assess the degree of similarity between two service
of the operation, i.e., the results returned by the data types, this method performs a domain-specific
operation given certain parameters and conditions. comparison of the “trees” corresponding to the XML
Self-optimization syntax of these data types specifications. This
L4: Dependable Self-managing
Self-configuration
Self-healing
comparison is based on the three heuristics rules:
Service Level Dependability of Attributes Self-monitoring Heuristic 1: Two simple data types are compared on the
Operation Trust Attributes Availability
Confidentiality basis of their programming-language type
Security Attributes
Identification (matchSimpleDataTypes); Heuristic 2: Complex data
Encryption
L3: Qualitative
Response Time types are compared on the basis of their constituent
Runtime Attributes Running Statistics
Service Level Quality of Operation Cost
elements and the XML grouping organization among
Business Attributes Reputation them (getCompositeDataTypes); Heuristic 3: Complex
Exact
L2: Dyanmic Semantic Plugin data types (matchIdenticalTypes), imported from the
Dynamic Semantics Behavior Exact Post
Level Plugin Pre
same namespace, are considered identical if they have
Plugin Post the same name. Based on these rules, the comparison
Serviceability
Prov. & Cons. Type algorithm for matching two lists of Data Types
Operation Category
L1: Static Semantic Static Semantics Purpose
(sourceList and targetList) is described as follows:
Level Message Type int matchOfDataTypes (sourceList(m), targetList(n))
Data Types
Message Business Role
matrix = construct a mn matrixG
Language for (int i = 0; i<m; i++)
Unit
L0: Syntatic Mode for (int j = 0; j<n; j++)
Operation Binding sourceType = sourceList(i)
Level 6\QWD[
Message Number of Parameters
targetType = targetList(j)
if (both sourceType and targetType are
Figure 3 Semantic-augmented multi-level model of Web
primitive)
Service operation
matrix[i][j] =
Based on the operation ontology, the proposed multi- matchSimpleDataTypes (sourceType,
Authorized licensed use limited to: Jeppiaar Engineering College. Downloaded on October 29, 2009 at 09:39 from IEEE Xplore. Restrictions apply.
targetType); matchOfOperations(list1[i],list2[j])
if (both types share the same name and return the match-degree with the maximum score
namespace)
matrix[i][j] = 4.2 Static Semantic Matching Level
matchIdenticalTypes(sourceType, The semantic description of service operations are
targetType); semantically described at two levels: static and dynamic.
if (either sourceType or targetType is The static semantics of an operation models “non-
complex) computational” properties of an operation, that is,
newSourceList = properties that are independent of the execution of the
getCompositeDataTypes(sourceType); operation. The static semantics is described at two
newTargetList = “granularities”: operation and message.
getCompositeDataTypes(targetType);
matrix[i,j] = matchOfDataTypes 4.2.1 Static Semantics of Operations
(newSourceList, newTargetList) + The static semantics at the operation granularity is
defined by the following attributes:
organizationChange(sourceType, x Serviceability
targetType);
This attribute gives the type of assistance provided
return the match-degree with the maximum score;
by the operation. Examples of values for this attribute
x Matching of messages are “part-architecture” and “material-property”. FEA
After evaluating the data-type matching scores, the assistance is another example of service that provides
structures of the query-service messages against the finite element analysis support to needy product design
target-service messages are compared. Clearly, given a companies.
source message and a target message, there are many x Provider and consumer types
possible correspondences between their parameter lists. The provider of an operation may be corporations
The objective of this step, then, is to evaluate all pair- (“global”, “state,” “local,” etc.) or nonprofit agencies
wise mappings resulting from all possible permutations (“individual” and “community”). For example,
of the messages’ parameter lists and to identify the partModeling service may be provided by the design
parameter correspondence that maximizes the sum of department of a corporation or by volunteers (nonprofit
their individual data-type matching scores. Therefore, community). The consumer type specifies the group of
the comparison algorithm for matching two messages companies (e.g., Automotive manufacturing, equipment
(msg1, msg2) of Web service is described as follows: manufacturing).
int matchOfMessages (msg1, msg2) x Category
list1 = list of data types associated to msg1;
The category C of an operation op describes the area
list2 = list of data types associated to msg2;
score = matchOfDataTypes (list1, list2) of Web service community of op. It is defined by a tuple
return score; (Domain, Synonym, Specialization, Overlap). Domain
gives the area of interest of the community (e.g.,
x Matching of operations “partdesign”). It takes its value from a vertical ontology
The matching process of operations is based on the for domain names. Synonym contains a set of alternative
process of matching their request and response (and domain names for C. For example, “3D/2D-modeling”
exception when applicable) messages. The matching is a synonym of “partmodelling.” Specialization is a set
score between two operations is the sum of the of specializations of C’s domain. For example,
matching scores of their input and output messages. The “partModeling” and “part” are specializations of
comparison algorithm for matching two Web service “productDesign.” This means that C provides part
operations (op1, op2) is described as follows: modelling services for parts. Overlap contains the list of
int matchOfOperations (op1, op2) categories that overlap with C’s category. It is used to
score = matchOfMessages (op1 input, op2 input) +
provide a peer-to-peer topology for connecting
matchOfMessages (op1 output, op2 output)
return score operations with “related” categories. We say that
Category overlaps with category if composing op is
x Matching of web services “meaningful.” By meaningful, we mean that the
Web services define a set of operations. The composition service provides a value-added service (in
following comparison algorithm matchOfWebServices terms of categories).
is used to match all operations between the WSDL x Purpose
specifications from the source service and target service The purpose describes the goal of the operation. It is
in a pair-wise fashion to identify the best source-target defined by four attributes: Func, Syn, Spec, and Overlap.
operation correspondence. The Func describes the business functionality offered
int matchOfWebServices (service1, service2) by the operation. Examples of functions are
m = number of operations in service1
“partModeling,” “modelAnalyzing,” and
n = number of operations in service2
operationMatrix = construct mn matrixG
“virtualAssembly.” The Syn, Spec and Overlap
for (int i = 0; i<m; i++) attributes work as they do for categories. The Overlap
for (int j = 0; j<n; j++) contains the list of purposes that are related to the
operationMatrix[i][j] = purpose of the current operation.
Authorized licensed use limited to: Jeppiaar Engineering College. Downloaded on October 29, 2009 at 09:39 from IEEE Xplore. Restrictions apply.
4.2.2 Static Semantics of Messages (Pr eParameterikm , Pr eConditionikm )
Each message within an operation is semantically Rikm
( PostParameterikm , PostConditionikm )
described via a message type MT. MT gives the general
semantics of the message. For example, a message may Pr eParameterikm and PostParame terikm are sets of
represent a “purchase order” or an “invoice.” parameters. Each parameter is defined by name, data
Message types do not capture the semantics of type, business role, unit, and language. The elements of
parameters within a message. We define below a set of Pr eParameterikm and PostParameterikm generally refer to
attributes to model the semantics of message parameters: op’s input and output parameters. However, they may in
x Data type some cases refer to parameters that are neither input nor
It gives the range of values that may be assigned to output of op. For example, assume that the address of
the parameter. We use XML Schema’s built-in data every citizen registered with the Department on the
types as the typing system. Built-in (or simple) types Aging is stored in the department’s database. In this
are predefined in the XML Schema specification. They case, this parameter should not be required as input for
can be either primitive or derived types. Unlike the orderMeal operation since its value could be
primitive types, derived types are defined in terms of retrieved from the database.
other types. For example, integer is derived from the Pr eConditionikm and PostConditionikm are conditions
decimal primitive type. Complex data types can also be
over the parameters in Pr eParameterikm and
adopted in this model.
x Business role PostParameter , respectively. They are specified as
m
ik
It gives the type of information conveyed by the predicates in first-order logic. The rule Rikm specifies that
message parameter. For example, an address parameter
if Pr eConditionikm holds when the operation op starts,
may refer to the first (street address and unit number) or
second (city and zip code) line of an address. Business then PostCondit ionikm holds after op reaches its End state.
roles take their values from a predefined taxonomy. If Pr eConditionikm does not hold, there is no guarantees
Every parameter would have a well-defined meaning
according to that taxonomy. An example of such about the outcome of the operation. The following is an
taxonomy is Rosetta Net’s business dictionary [13]. It example of the pre and post-condition of a rule
contains a common vocabulary that can be used to associated with the operation registerCompanySearch:
describe business properties. income 1,000,000 size t 200 zip 22,044
x Unit approved true duration 6
It refers to the measurement unit in which the The rule uses income (unit = {year, US dollar}),
parameter’s content is provided. For example, a weight companySize, zip, approved, and duration (unit =
parameter may be expressed in “Kilograms” or {month}) as parameters. It states that companies with a
“Pounds.” An eligibility period parameter may be yearly income less than 1,000,000 dollars, a minimum
specified in days, weeks, or months. We use standard company size 200, and living in area code 22,044 are
measurement units (length, area, weight, etc.) to assign eligible for company index for a 6-month period.
values to parameters’ units. If a parameter does not have 4.4 Qualitative Level
a unit (e.g., address), its unit is equal to “none.” Qualitative level focuses on quality of services and
x Language contains business attributes and runtime attributes. One
The content of a message parameter may be of the most important operations in the qualitative
specified in different languages. For example, an service level is the runtime matching of the ideal
English-Chinese-translation operation takes as input an service profile of a service consumer against the service
English word and returns as output its translation in profiles registered by several service providers.
Chinese. We adopt the standard taxonomy for languages Therefore, a service profile matching algorithm is
to specify the value of this attribute. proposed for use by matchmakers, which is inspired by
4.3 Dynamic Semantic Matching Level the one proposed by Semantic Web Services researchers
The dynamic semantics of an operation models at Carnegie Mellon University [14, 15] and in the
computational or execution-related features of that domain of Computational Mechanics [2].
operation and it generally refers to the way and In detail, an OWL-S profile description is a set of
constraints under which an operation is executed. OWL-S statements that semantically describe a service,
The dynamic semantics or business logic of an which is either needed by a service requester or offered
operation op refers to the outcome expected after by a service provider. In the OWL-S specification, the
executing op given a specific condition. Service elements of a profile description that are relevant to the
providers may decide beforehand which “effects” are interoperation of Web services are the taxonomic type
made visible to users. The business logic of an of profile, i.e., whether a service belongs to a certain
operation is defined by a set of rules where each rule class and the hasInput, hasEffect and hasOutput
properties.
Rikm has the following format:
For each pair of the service profiles, the degree of
matching is calculated by using the weighted average of
the matching scores between the pairs of the profile
Authorized licensed use limited to: Jeppiaar Engineering College. Downloaded on October 29, 2009 at 09:39 from IEEE Xplore. Restrictions apply.
types, the input parameters, the effects of service, and Through these standards, TPM instruments, with core
the output parameters. Mathematically, the degree of security technologies, can generate and store keys
match between a pair of service profiles is securely for use in digital certificates and encryption.
¦W
d i i
p These operations are accessed and controlled through
standard TSS interfaces and readily available to security
DS i (1)
¦W i
i
management software for file/folder encryption, secure
e-mail, identity and access management, and remote
Where DS is the degree of match between two access.
service profiles, Wi and d ip represent the weight and 5. Case Study: Web Service Matching
Architecture for Collaborative Design
the matching scores between the profile types, the input
In the collaborative product design domain, the
parameters, the effects of services and the output
performance of a product prototype should be tested
parameters. By default, equal weights are assigned to
before a new product is put into production. Since it is
the matching scores in matchmaking operations.
always very expensive and time-consuming to
Service consumers may request higher weights to
manufacture a prototype with full functions of the
certain pairs of the profile description if compatibility
product, some computer aided technologies and tools
between those pairs is more important.
are used to reduce the cost like the CAE tools, CAD
For each pair of the ideal service request concept
tools, FEA and so on.
C R and the advertised concept C A , the matching score
Web Service Community
° 0 . 25 if C R subsumes C A
Service Engine
SR3: get
Request VA Service
°¯0 otherwise
VA service
of d (C R , C A ) =1.00 signifies that the ideal parameter CAD Modeling FEA Analysis VA VT
Authorized licensed use limited to: Jeppiaar Engineering College. Downloaded on October 29, 2009 at 09:39 from IEEE Xplore. Restrictions apply.
Web Service Syntactic WSDL Acknowledgements
Matching Services
Discovery Matching Operation Static Semantics
Architecture
Engine
Matching The research work presented in this paper was
Message Static Semantics Management
Web Client.
Invocation partially supported by the National High Technology
Interaction
Request
Service
Dynamic Semantics
Research and Development Program of China (Grant
Handler
Locator Qualitative Similarity No. 2007AA04Z104 and 2007AA10Z206) and the State
OWL-S/UDDI SOAP SOAP
Scholarship Fund of China Scholarship Council.
Authorized licensed use limited to: Jeppiaar Engineering College. Downloaded on October 29, 2009 at 09:39 from IEEE Xplore. Restrictions apply.