Professional Documents
Culture Documents
Agent Approach For Service Discovery: Berdjouh Chafik
Agent Approach For Service Discovery: Berdjouh Chafik
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.
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
Processing Module
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
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
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.