Professional Documents
Culture Documents
SANDEEP KUMAR1
R. B. MISHRA
Department of Computer Engineering, Institute of Technology,
Banaras Hindu University, (IT-BHU), Varanasi-221005, India
1
(sandeepkumargarg@gmail.com, sandeep.garg.cse06@itbhu.ac.in)
Abstract. The semantic web service composition systems can also be implemented using the concept
of multi-agent systems. In this approach, each of the agent capability is used to serve a particular
service request. Paper presents two models for multi-agent based semantic web service composition
process, differing on the point of using a coordinator for controlling the process or not. Further, based
on one of the model, a novel multi-agent based semantic web service composition approach has been
presented, which deals with some of the important issues in composition process. The approach
presented is further applied by exploring a new area i.e. education planning as an application of
semantic web technology.
Task 1 SPA 1
Negotiation
Task 2 Selecting SPA 2
Decomposing service
User complex provider
Agent request into Task 3 agent for SPA 3 U
U simple tasks each task
. .
Input . .
request . .
values
Task n SPA n
The coordinator agent C negotiate with the SPAs and The model with coordinator is advantageous than the
assign tasks, which further invoke the services, in the other one due to the reason that in this model, some of
similar way described for the first model. The second the constraints and parameters put by the user are
variation, as shown in Figure 2(b), works similar to the validated by the coordinator agent C, before performing
first one except that in this model, the coordinator agent the actual composition process and hence saving the
C can perform some of the tasks, in addition to time and resources. For example, the customer may put
coordinating the composition process. So, C only select some constraints like constraints over the budget of
the service provider agents SPAc1, SPAc2, SPAc3 … SPAck his/her request, constraints over the time in which the
for the tasks Taskc1, Taskc2, Taskc3 … Taskck, from request has to be satisfied, and constraints over the
among the total decomposed tasks Task1, Task2, Task3 … expenditure on service fees of SPAs. This is the
Taskn for which it is not capable to perform on its own. possibility that the constraints are such that within these
constraints the satisfaction of request seems near to
impossible. On the other hand, all these types of constraints or not and if any one of the constraints is not
constraints in the request can not be checked by any one satisfiable even after the negotiation then that flow of
of the SPAs. So, in the first model, after the negotiation composition process will fail.
process with all the SPAs are over, then only it is
decidable that the request can be satisfied within the
Task 1 SPA 1
Negotiation
Task n SPA n
SPA c1 Taskc1
Identifying
tasks by C,
SPA c2 Selecting Taskc2 which it can
service not perform
C provider by itself
SPA c3 agent for Taskc3
each task
Negotiation
. .
. .
. .
SPA ck Taskck
Figure 2(b): SWS Composition System with coordinator agent, which also perform some tasks
But in the second model, the coordinator agent can be computation time as compared to the first model, but it
made to check whether the constraints seems to be will have more reliability also.
satisfiable up-to a level or are clearly unsatisfiable. So
in case of unsatisfiablity, coordinator can warn the user 3 A MAS Based SWS Composition Approach
agent U about it and there will be no need to move
further in the composition process. However, in normal In this section, we present a novel MAS Based SWS
cases, this model will have more communication and Composition Process (MABSCP). MABSCP is based
on the model shown in Figure 2(a) and described in • SPA joins the composition process, only for the
preceding section, which uses an independent dedicated time its service is required.
coordinator agent for controlling the various activities in Layouts of MABSCP are shown in Figures 3(a) and
composition process. A layout of the MABSCP is 3(b), respectively for CA and SPA selection. The
shown in Figures 3(a) and 3(b). The system mainly system has novelty in the following aspects:
consists of following three types of agents: • In the practical scenario, it is not always the case
• Service Requester Agent (SRA) that the negotiation can be performed freely
• Coordinator Agent (CA) between SRA and CA or SPA and CA (or SRA
• Service Provider Agent (SPA) and SPA in reference of other model). Because
SRA has the responsibility to perform the request to there can be following conditions:
CA. The request by SRA is then specified in the term of o Some of the request parameters, constraints or
ontology, which is then used by the CA. An intelligent preferences are so rigid that they are not
CA has following properties and capabilities: negotiable.
• CA is a modular, self-contained software o All of the constraints, preferences and
component wrapping coordination services, with parameters specified by the customer are such
ontological service description. that they are not negotiable.
• It has the capability of validating the constraints, o Customer is not at all interested in performing
preferences, and other higher level parameters of the negotiation.
the input request by the SRA. Avoiding these conditions may cause un-
• It has the capability of validating if the input necessarily wasting the negotiation effort. If the
activity is atomic or complex. In case it is first condition is there, then the system can avoid
complex, interpreting it as task comprising of these particular parameters for the negotiation
various atomic activities of varying granularity process. For example, in some cases, the time
and decomposing it into atomic tasks according constraints may be very rigid and not meeting it
to their ontology description. may cancel the request. To the best of our
• It can evaluate and assess the SPAs using their knowledge, no literature on MAS based SWS
cognitive and Quality of Service (QoS) composition handling this issue is there.
parameters. MABSCP has handled this problem, by
• It can negotiate with the SPAs as well as SRA to communicating with the SRA regarding this,
adjust activity-input, SRA preferences and before starting the actual composition process.
constraints, and to obtain matching common • Various different requests from SRAs, even
IOPE (Inputs, Outputs, Pre-conditions, and falling in same domain, can not be treated in the
Effects), in order to satisfy the ultimate request. same manner. The performance of agent may
• It makes arrangement for outsourcing the activity vary depending on some parameters of requests.
to SPAs based on FIPA Contract Net Protocol For example, in famous travel planning scenario,
[12] and agent’s communication interface built one agent may be performing better in handing
upon FIPA-ACL [4]. the problems of travel planning in Europe region,
while the other may be performing for Asia
An intelligent SPA has following properties and region. It may also be the case that an agent may
capabilities: be desired to perform for some parameters only
for some particular time-period, while for other
• SPA is a self-contained, modular agent wrapping in other time-period. To the best of our
services in the form of software components, knowledge, no literature on MAS based SWS
with the corresponding ontological service composition handling this issue is there.
description. MABSCP is handing this problem by dividing
• The purpose of SPA is decided by the services it the requests falling in same domain into multiple
wraps. categories and deciding the category in the
• It is able to understand the meaning of activity, it related domain for input request of that domain.
has to perform. It further assesses only those agents for their
possible selection, who desires in performing for request seems near to impossible. In those cases,
the decided category of input request, at that the composition will fail at the end, when even
time. We have only applied this procedure for the after negotiation between SPAs and CA, the
selection of CA. However, it can be applied to constraints are not satisfied. This problem has
the selection of SPAs in the similar fashion. But already been discussed in detail in section-II.
as the request to CA is in the form of a complex MABSCP handle this problem by placing
task, so there is more chances that it can be validation on these parameters of requested task
properly categorized, so this concept seems to fit by the CA, before proceeding further in the
in this case in better way. process.
• Request from SRA may contain such parameters, MABSCP involves sending a request from the SRA,
constraints or preferences which seem infeasible user agent U, to the system, which is further represented
or within specified constraints the satisfaction of in the term of ontologies.
Filtering
candidate
Selection coordinator
Deciding of agents based Applying agent
User task-type candidate on matching selection model Selected
Agent category in coordinator of their for coordinator Coordinato
U which the agents desired task- agent selection r Agent C
request fall based on type category
domain of with task-type
Input category of
Request input request
Values
Task
Filtering
Selection candidate
Validating Decomposin of service Applying
Coordinator
input g complex Task candidate provider agent
Agent C SPA 1
request request into service agents selection C
values for simple tasks provider based on model for
their Task agents their IOPE Service
feasibility based on matching provider Negotiation
. domain with Task 1 agent
. of Task 1 selection
Communication .
regarding negotiation
conditions Task
U
The parameters in the request are used to decide the LARKS [15] or service discovery techniques based on
domain and further the task-type category within the UDDI protocol [8] or semantic matching [9] based on
domain of the request. The domain of request is used to ontology profiles like in DAML-S [17], OWL [7] or
discover the entire candidate CAs after matching from using any other service matching method. Various
their published ontological service profiles. The techniques of discovery [14] can be applied here like
candidate CAs are further filtered based on the matching keyword matching, controlled vocabulary matching,
that if the task-type category of the input request is semantic matchmaking etc. The system can be made to
matching with any of the category mentioned in the set proceed with the exact match, plug-in match,
of desired task-type categories of the candidate CA or subsumption match, or intersection match as required in
not. The matchmaking here can be performed based on the process. An index of selection (IoS) is then
calculated for each of the filtered CAs using an agent initiated if required and allowed. Figure 3(b) shows this
selection model and the CA with maximum IoS is process for Task1 only, however, it is performed for
selected as the coordinator C for given composition each atomic task in the same manner. The selection
problem. At this stage, U can perform negotiation with models here can be based on the various important
C based on FIPA Contract Net Protocol [12]. C accept attributes of SPAs like QoS (Quality of Service)
task from U by means of agent’s communication attributes or Cognitive attributes. Various cognitive
interface built upon FIPA-ACL [4]. All of the remaining parameters are like capability, desire, intention,
activities further in the process are coordinated by C; commitment, trust, reputation etc. and various QoS
however, it can perform negotiation with U during the parameters are like cost, response time, reliability,
process, if required and allowed. C acquires the accuracy, security feature, execution time, exception
conditions of negotiation from U by means of agent’s handling feature, penalty on breaking service contract
communication interface built upon FIPA-ACL [4]. etc.
Now, C performs a validation over the parameters,
preference, and constraints to check their feasibility. It 4 Implementation Issues
also determines from the input request, if it is an atomic
activity or complex one. In case the input request is This section discusses the implementation issues
complex task, then C decomposes it into atomic tasks, involved in the MABSCP, taking Education Planning
Task1, Task2, Task3 … Taskn, of varying granularity. Problem as the application. The education planning is a
Now for each atomic task, the candidate SPAs are new problem for semantic web based system. No
discovered and filtering over discovered SPAs are literature is there which explore this area for application
performed based on their IOPE matching with the of semantic web. The education planning problem for
required task. The matchmaking at this stage can be taking admission for higher education involves various
performed in the similar way as described above for the activities like Counseling and Preparation, Institute
CA. IoS is then calculated for each of the filtered SPAs Tracking, Admission Consultancy, Financing,
using an agent selection model and the agent with Transportation Booking, and Map and Weather
maximum IoS is selected as service provider. The Information. All these activities can be assigned to
negotiation between C and the selected SPA now can be different SPAs.
The system implemented using Java and related tools For elaborating the implementation, we have shown the
easily access the service profiles and uses the Jena APIs output of different steps for selection of coordinator
for interrogating, manipulating, or querying the profiles. agent in Figure 5 and for selection of a Finance Service
The querying support provided by the Jena APIs, which Provider Agent in Figure 6, otherwise these steps do not
is internally implemented in query language SPARQL require user-interaction. As shown in Figure 5, the agent
[10] is used for querying over the profiles. The query ‘Get-Educated Education Services’ has maximum index
language RDQL [11] can also be used with Jena for of selection and hence it is selected as coordinator
availing the advanced querying support. For handling agent. Figure 6 shows that agent ‘HDF Services’ with
the large service profiles the persistent ontologies of maximum index of selection get selected as Finance
Jena ontology APIs can be used. The implemented Provider Agent. Jade [16], a Java based agent-
system mainly uses the exact-match approach in
development environment, can be used to develop the technology i.e. education planning. Paper introduces
agents and to establish communication between them. this area with some related implementation by applying
Jade also provide the environment for implementing the MABSCP on it. Our future work will involve exploring
FIPA Contract Net Protocol [12] for negotiation further the area of education planning as an application
between the agents involved in the system. Figure 7 of semantic web technology and to further enhance
shows the layout of composed system in the form of MABSCP and also provide better selection approach for
blocks, with each block representing different selected service provider agents.
agents for various activities such as counselling and
preparation service, institute tracker service, admission References
consulting service, transportation service, financing [1] Altova. SemanticWorks Semantic Web tool - Visual
service, map & weather information service involved in RDF and OWL
the education planning request. editor,http://www.altova.com/products/semanticwo
rks/semantic_web_rdf_owl_editor.html, Website
accessed March 01, 2008.
These selected agents are now invoked to take the [5] Herman, I., Swick, R., Brickley, D. Resource
respective services and a FIPA-compliant agent Description Framework (RDF),
communication interface is provided between them http://www.w3.org/RDF/, Website accessed Feb
using Jade, so that they can communicate with each 28, 2008.
other.
[6] HP Labs Semantic Web Programme. Jena- A
Semantic Web Framework for Java,
5 Conclusion http://jena.sourceforge.net/, Website accessed
March 01, 2008.
The paper presented two models for multi-agent based
semantic web service composition process, depending [7] McGuinness, D.L, Harmelen, F.V. OWL Web
on the variations in the composition process. These Ontology Language
models basically vary on the use of coordinator agents Overview, http://www.w3.org/TR/owl-features/,
Website accessed on Feb 13, 2008.
in the composition process. The model which uses
coordinator agent found to be more advantageous than [8] OASIS. OASIS UDDI Specifications TC -
the other one. Further a SWS composition approach Committee Specifications, http://www.oasis-
based on the presented composition model (with open.org/committees/uddi-spec/doc/tcspecs.htm,
coordinator), MABSCP, is also presented. MABSCP website accessed Feb 13, 2008.
deals with some of the important issues like handling
negotiation conditions, validating input request, and [9] Paolucci, M., Kawamura, T., Payne, T., Sycara, K.
Semantic Matching of Web Service Capabilities,
categorizing input request based on its nature. The work
also presents a new application area of semantic web
In: Proc. Of Int. Semantic Web Conference (ISWC,
2002), Italy, 2002.
[10] Prudhommeaux, E., Seaborne, A. SPARQL Query
Language for RDF,
http://www.w3.org/TR/2008/REC-rdf-sparql-
query-20080115/ , 2008.