Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Special Issue on ICIT 2009 Conference - Web and Agent Systems

AGENT APPROACH FOR SERVICE DISCOVERY

Berdjouh Chafik
Centre de Formation Professionnelle El-Meghaier
Wilaya El-OUED, ALGERIE
Berdjouh2006@yahoo.fr

Kazar Okba
Dpartement d'informatique
Facult des sciences et sciences de l'ingnieur
Universit Mohamed Khider 07000 Biskra, ALGERIE
kazarokba@yahoo.fr

ABSTRACT

Current technologies for Web Services are based on syntactical descriptions and, therefore,
lend themselves to only limited amount of automation. Research efforts in Semantic Web
Services, such as OWL-S, try to overcome this major deficiency by providing a complete
semantic description for Web Services and their related aspects. In this paper we
demonstrate the use of agent technology ,Web Service standards and Web semantic to
enable automatic service discovery.

Keywords: Web service, multi-agents system, semantic web

Combining the technologies of Web services and


1 INTRODUCTION Semantic Web has led to the concept of semantic
Web services.
Today, the Web is just an enormous warehouse The discovery of Web services is an emerging
of text and images, its development has also made area of research. Initially, the discovery is made in
it a service provider. The concept of "Web service" the UDDI registry, it is based primarily on research
is essentially an application available on the syntactic WSDL descriptions of Web services. But
Internet by a service provider and accessible by with the development of Semantic Web
clients through standard Internet protocols. In technologies, the techniques for discovery have
essence, Web services are autonomous software become essentially semantic. This semantics is
components and self-descriptive and thereby provided through one of ontologies important
constitute a new paradigm for application technologies of the Semantic Web. Thus, software
integration. agents can be developed to reason about these
Currently, Web services are implemented ontologies, making the discovery of Web services
through three technology standards: WSDL, UDDI dynamic and automatic. In this work, we propose
and SOAP. These technologies facilitate the an approach to discovery of semantic web services
description, discovery and communication between using agent technology and ontologies.
services. However, this basic infrastructure does
not yet allow Web services to keep their promise of
a largely automated management. This automation 2 EMERGING TECHNOLOGIES
is essential to meet the requirements to scale and to
reduce development costs and maintenance 2.1 Semantic Web and ontology
services. Basically, it must accommodate a means The Semantic Web [1] is an extension of the
for describing Web services in a manner current Web in which information is given well-
understandable by a machine. defined meaning, better enabling computers and
people to work in cooperation. In order to realize the
The Semantic Web [1] is a vision of future Web
Semantic Web vision a set of standard technologies
in which information has a semantic understandable have been defined (the Semantic Web layered
by a computers. Applied to Web services, the architecture):
principles of the Semantic Web should enable to the Syntactic Layer (XML),
describe the semantics of their functionality, and
the metadata layer (RDF/RDFS),
reasoning are therefore induced a proposal for
the semantic layer (Ontology languages),
automation of various tasks of their life cycle.

UbiCC Journal Volume 4 No. 3 509


Special Issue on ICIT 2009 Conference - Web and Agent Systems

the Logical Layer (automatic reasoning), computers (or nodes), where each computer owns
Proof and trust layer (proof) its resources.
The technology object which is fundamental for the The characteristics of MAS are that each agent
realization of the Semantic Web is the ontology. has incomplete information or capabilities for
Ontology is term borrowed from philosophy solving the problem and, thus, has a limited
meaning "systematic explanation of existence". viewpoint; there is no system global control; data
Ontology is similar to a dictionary or glossary but are decentralized; and computation is
with a large and detailed structure, that allows asynchronous[4].
machines to process its contents. An MAS has the following advantages over a
Bertrand [2] defines ontology as These are formal single agent or centralized approach like distributed
representations of domain knowledge in the form of systems [5]:
terms with semantic relations. An MAS distributes computational resources and
In the Semantic Web, the ontology allows the capabilities across a network of interconnected
user during a Web search to access not only to agents. Whereas a centralized system may be
documents related to keywords in the query, but plagued by resource limitations, performance
also those that are related ontologically bottlenecks, or critical failures, an MAS is
(semantically) to them, this makes the search more decentralized and thus does not suffer from the
relevant. It aims to describe concepts and "single point of failure" problem associated with
relationships that bind them, and with deduction centralized systems.
rules to make them more understandable and usable An MAS allows for the interconnection and
by the different agents (human or software). interoperation of multiple existing legacy systems.
By building an agent wrapper around such systems,
they can be incorporated into an agent society.
2.2 Ontology Web language for services An MAS models problems in terms of
(OWL-S) autonomous interacting component-agents, which
OWL-S (formerly known as DAML-S) [3] is is proving to be a more natural way of representing
ontology for web services and it has been task allocation, team planning, user preferences,
developed to enable the following tasks: automatic open environments, and so on.
service discovery, automatic service invocation and An MAS efficiently retrieves, filters, and globally
automatic service composition. The service coordinates information from sources that are
discovery is improved using ontologies because the spatially distributed.
information needed to perform this task is An MAS provides solutions in situations where
expressed using a machine-processable form. A expertise is spatially and temporally distributed.
computer can access the description of a web An MAS enhances overall system performance,
service and it can know exactly what the service specifically along the dimensions of computational
does thanks to the shared concepts contained in the efficiency, reliability, extensibility, robustness,
ontologies used in the description. maintainability, responsiveness, flexibility, and
A service described using OWL-S provides reuse.
three types of knowledge: Service Profile, Process
Model and Service Grounding. The ServiceProfile
describes what the service does, including 3 OUR APPROACH
functional information such as inputs, outputs, and
other non-functional information (category, The proposed architecture is an extension of
classification). It is normally used during the service-oriented architecture (SOA). This
automatic discovery of Web services. The Process architecture is based on agents for discovering Web
Model describes how the service works; it is an services.
abstract vision of the service operation. Finally, the This architecture (shown in Fig. 1) incorporates
ServiceGrounding tells how to access the service; it software components and operating a domain
contains all the information related to the real ontology is used during the discovery phase of Web
implementation of the service and is used to invoke services, it facilitates the automatic discovery of
it automatically. services since it allows to refine the search process
which matches a request and service offerings. The
2.3 Role of multi-agent systems use of this ontology allows the implementation of
A multi-agent system (MAS) is a loosely filtering mechanisms (comparison) between a
coupled network of software agents that interact to request and offers to implement anything other than
solve problems and function beyond the capabilities simple equality.
of any singular agent in the set-up. The agents in a
multi-agent system may be distributed on different

UbiCC Journal Volume 4 No. 3 510


Special Issue on ICIT 2009 Conference - Web and Agent Systems

S.W providers User


Inter-Agent communications Module

Processing Module

Agent W.S Agent User


Interface Interface UDDI Interface

Agent Ontologies Agent


registration W.S discovery W.S
UDDI
Registry

Figure 3: Architecture of agent registration Web services

3.1.3 Agent user interface


The agent user interface is the gateway to query
Figure 1: Proposed multi-agent architecture the system. It provides the user with the form to do
a query.
3.1 Architecture description This is the agent who will initiate the
3.1.1 Agent Web service interface discovery, by issuing to the Agent discovery, a
This software agent acts as an interface request consists of inputs, outputs, a reference
between the system and the Web service provider, ontology domain to use (e.g. the ontology of
such that for each Web service agent is associated. tourism) and presents the results tailored to the
Agent Web service interface allows the recording preferences of users after treatment.
of the description on the Semantic Web service. The internal architecture of the agent user
Moreover, it allows updates information on the interface is composed of three main modules and a
Web service. registry backup as shown in Fig. 4.
The internal architecture of the agent Web
service interface consists of three modules and a Requte
registry backup, as shown in Fig. 2.

Description User communication

Processing Module Registry


Module de communication
Fournisseur
Inter-Agent communications
Processing Module Registry Module

Figure 4: Architecture de agent user interface


Inter-Agent communications
Module 3.1.4 Agent discovery Web services
It is a software agent that allows the discovery
Figure 2: Architecture of the Web service interface
of descriptions of Web services satisfying the
agent
request sent by the agent user interface on the
semantic.
3.1.2 Agent registration Web services The internal architecture of the discovery agent
The role of this agent is the preservation of is composed of two modules and a base of storage
semantic descriptions of Web services in the UDDI services for storage the semantic descriptions of
registry, it contains two modules and an interface as services provided by UDDI as shown in Fig. 5.
shown in Fig. 3. They are as follows:
Inter-Agent communications Module : He
received from the agent user interface the query in
the form of a message and after that, he calls the
module of treatment. It also receives requests for
transmission of messages from the module of

UbiCC Journal Volume 4 No. 3 511


Special Issue on ICIT 2009 Conference - Web and Agent Systems

treatment. Such requests for transfers are received outputs of the application are covered by the output
answers queries. of supply in the domain ontology (inclusive
Base of storage Services : is used to store the matching);
semantic descriptions of Web services satisfying 3. Subsumes mode returns an offer if it is included
the user query. in a request (demand > offer) (the inverse of plug-in
mode) (partial matching);
Inter-Agent 4. Fail method returns false if no match between
communications Module offer and demand (demand # offer) (matching
failure).
Base
Of
storage Ontology
Services Processing Module DataBase
Web Service
Web 1

UDDI Registry

Figure 5: Architecture of agent Discovery Web


service

Processing Module: it has two tasks:


1) The task of analysis: selects the domain ontology
corresponding to the request (from base ontology Web Service
that stores ontologies in various domains), extract Web 2
the classes and their links and builds the
corresponding tree. In our context, this action is
possible since the vocabulary defined in the domain
ontology is described in a hierarchical form. Each
vertex of this tree corresponds to a class of the
ontology and each arc corresponds to a subclass.
This tree used to infer relationships of
generalization (subsumption) between the concepts, Figure 6: methodogy for generating semantic
i.e. that a concept is more general than another. A descriptions of Web services
concept C includes (subsumes) a concept C ' if the
extension of C' is included in that of C. Then we Modes 2 and 3 for comparison using the
say that C is more general than (or includes) C '. domain ontology. More specifically, the offers and
This principle allows us to make comparisons requests (demands) for services are expressed in
between flexible offers and requests. OWL-S, we compare, according to the four modes,
all the elements defined in the terms "input" and
2) The task of comparison: You can compare
applications and service offerings by considering "output" in the class ServiceProfile of offers and
the ontology (see Fig. 6) in accordance with four requests (demands).
main modes of comparison defined in [6] using a The comparison algorithm used in both plug-in
matchmaking algorithm: Exact mode, Plug-In mode and subsumes mode uses the function
mode, subsumes mode and Fail mode. Includes [7] (see Fig. 7).
1. Exact mode selects an offer if it corresponds The agent uses a subsumption test on outputs
exactly to a request (demand = offer) i.e. inputs and (outputs) (see Fig. 8) then we assign a score for
outputs of the offer is equivalent to the input and each mode matching: Exact (score = 3), Plug-In
output of demand (matching exact); (score = 2) subsumes (score = 1), Fail (score = 0)
2. Plug-in mode returns an offer if it includes a (see Fig. 9).
request (demand <offer) ie the entries in the
application includes the supply of inputs and

UbiCC Journal Volume 4 No. 3 512


Special Issue on ICIT 2009 Conference - Web and Agent Systems

Function Includes (E1 : string, E2 : String) : boolean The matching between inputs is computed
% This function returns true if E1 includes E2 false else following the same procedure.
% E1 is an element of the clause Input or Output of Offer Eq. (1) generalize the comparison between a
% E2 is an element of the clause Input or Output of demand service concept C O and a corresponding request
% A represent the ontology (tree form) concept C D :
i
% We uses the high level functions include : i
% Father(E) : returns the father of E in A
D O
% Root(A) : returns the root of A 3 If C = C
i i
Variables
D O
SummitOngoing : ASummit % A summit under D O 2 If C C
discussion match(Ci , Ci ) = i i (1)
TheAncestors: SetofSummits % The Ancestors of E2 D O
Begin 1 If C C
i i
TheAncestors 0 Else
If E2 = root(A) Then
% E2 does not an ancestor and can not be subsumed Assuming there are m concepts in a service
TheAncestors description and there are m corresponding concepts
Else in a service request, the similarity or global match
SommetCourant Father(E2) between the request R and the service S can be
TheAncestors Father (E2) derived by summing up the match scores between
While (SommetOngoing <>Root(A)) Do the a concept pair (Eq. (2)) :
SummitOngoing Father(SummitOngoing)
% + means adding a new element m
D O
% throughout the Ancestors Similarity(D, O) = Match(Ci , Ci ) (2)
TheAncestors TheAncestors + i =1
SummitOngoing
End While Therefore, the matching between a request and a
End If set of services can be quantitatively measured. A
Includes (E1 TheAncestors) service with the highest similarity score represents
End the most accurate service for the request. There
may be more than one most accurate service.
Figure 7: Function Includes Besides the most accurate service(s), those services
Function GetScore(rel : String) : Integer with a similarity greater than zero are still useful as
% This Function returns the score of matching backup services.
Val =0
Begin 3.2 Illustrating example
If rel = "Exact" Then val = 3 Assume that there are three Web services sales:
If rel = "PlugIn" Then val = 2 S1, S2 and S3 published in a UDDI registry.
If rel = "Subsume" Then val = 1 Functional parameters (inputs, outputs) are:
If rel = "Fail" Then val = 0 S1 have two inputs "vehicle" and
End If "parts", and one output "price".
Return val S2 have two inputs "parts" and "car"
End ,and one output "price".
S3 have two inputs "unit" and
Figure 8: Procedure of matching for the outputs
"material" and one output "price".
Procedure degreeOfMatch(OutD,OutO : String ) Consider a user request R contains two inputs
% This Procedure returns result of comparison "Car" and "Parts" and one output "Price"
% OutD, OutO are the output of demand and offer Given the ontology fragment shown in Fig. 10.
respectively
Begin
If OutO = OutD Then Return Exact
If Includes(OutO, OutD) Then Return PlugIn
If Includes(OutD, OutO) Then Return Subsume
Otherwise Return Fail
End If
End
Figure 9: Function returns the score of matching

UbiCC Journal Volume 4 No. 3 513


Special Issue on ICIT 2009 Conference - Web and Agent Systems

global matching:
S1: Total score (total score for inputs + total
Thing score for outputs) = 5 + 3 = 8, Good
S2: Total score = 6 + 3 = 9, Best
S3: Total score = 0 + 3 = 3, Not Good
Vehicle Thus, the Web service S2 is regarded as the best
corresponding to the request.

Bus Car 4 CONCLUSIONS AND FUTURE WORK

In this paper we presented a conceptual


framework and architecture based on Web services
Sedan SUV Station for interoperability.
The discovery of Web services is an emerging
Figure 10: A fragment of the Vehicle ontology area of research. Various approaches have been
If we apply the matching algorithm, we obtain proposed. These approaches have shifted from a
the following results: search based keywords (discovery syntactic) to
Comparison of inputs : methods based semantics. We proposed an
S1: approach based on agents that models the discovery
Car vehicle, Founded Input Relation is = Plug- of semantic web services. Our architecture based
in, Their score = 2, Total Score is : 2 agents consists of :
Car parts, Founded Input Relation is = Fail, -An agent Web services interface;
Their score = 0, Total Score is: 2 -An agent user interface;
Parts vehicle, Founded Input Relation is = -An agent registration Web service;
Fail, Their score = 0, Total Score is: 2 -An agent Web service discovery.
Parts parts, Founded Input Relation is = Exact, Agent Web services discovery apply inferences
Their score = 3, Total Score is: 5 to match the user query with the services offered.
Inputs score weight = 5 The pairing (matching) based on comparing the
S2: outputs and inputs of the request with the outputs
Car parts, Founded Input Relation is = Fail, and inputs of the service, and presents different
Their score = 0, Total Score is: 0 levels of matching: exact, plug-in, subsume and
Car car, Founded Input Relation is = Exact, fail.
Their score = 3, Total Score is: 3 In the short term, we will implement our
Parts parts, Founded Input Relation is = Exact, proposed architecture. To validate our work, we
Their score = 3, Total Score is : 6 will conduct tests with a variety of user queries and
Parts car, Founded Input Relation is = Fail, a panel of Web services.
Their score = 0, Total Score is : 6 Regarding the prospects for our work, we expect
Inputs score weight = 6 the following:
S3 : - As regards the matching algorithm could
Car unit, Founded Input Relation is = Fail, provide for other search parameters such as
Their score = 0, Total Score is : 0 preconditions and effects, they increase the rate of
Car material, Founded Input Relation is = accuracy.
Fail, Their score = 0, Total Score is : 0 - Submit an indirect matching in the absence of
Parts unit, Founded Input Relation is = Fail, direct matching i.e. move to Web services
Their score = 0, Total Score is : 0 composition.
Parts material, Founded Input Relation is = - We can try to use other types of agents such as
Fail, Their score = 0, Total Score is: 0 mobile agents and assess their effects on
Inputs score weight = 0 performance.
Comparison of outputs :
S1 : price price, Founded Output Relation
is = Exact, Their score = 3, Total Score is : 3 5 REFERENCES
Outputs score weight = 3
[1] Berners-Lee, T., Hendler, J. et Lassila, O.: The
S2 : price price, Founded Output Relation is
Semantic Web, In Scientific American, vol. 284
= Exact, Their score = 3, Total Score is : 3
No. 5, pp. 35 43 (2001).
Outputs score weight = 3 [2] Bertrand Sajus : La fonction Thsaurale au coeur des
S3 : price price, Founded Output Relation systmes dinformation, ADBS (2002), Available :
is = Exact, Their score = 3, Total Score is : 3 www.adbs.fr/adbs/prodserv/jetude/html/prog110
Outputs score weight = 3 402a.html.

UbiCC Journal Volume 4 No. 3 514


Special Issue on ICIT 2009 Conference - Web and Agent Systems

[3] W3C : OWL-S Semantic Markup for Web Services,


W3C Member Submission (2004), Available :
http://www.w3.org/Submission/2004/SUBM-
OWL-S-20041122/.
[4] Katia P. Sycara : Multiagent Systems, AI magazine,
Volume 19, Number 2, pp. 79-92 (1998).
[5] Multi-Agent Systems, The Intelligent Software
Agents Lab, 2008, Available :
http://www.cs.cmu.edu/~ softagents/multi.html.
[6] Paolucci, M., Kawamura, T., Payne, T., Sycara, K.:
Semantic matching of web services capabilities. In:
Proceedings of the First International Semantic Web
Conference, LNCS 2342, Springer-Verlag, pp. 333
347 (2002).
[7] Bouzguenda L., Coordination Multi-Agents pour le
Workflow Inter Organisationnel Lche, Thse de
Doctorat, Universit de Toulouse 1, pp. 100102
(2006).

UbiCC Journal Volume 4 No. 3 515

You might also like