=Paper=
{{Paper
|id=Vol-210/paper-14
|storemode=property
|title=Engineering a Brokering Framework for Providing Semantic Services to Agents on Lightweight Devices
|pdfUrl=https://ceur-ws.org/Vol-210/paper14.pdf
|volume=Vol-210
|dblpUrl=https://dblp.org/rec/conf/ecai/SpanoudakisM06
}}
==Engineering a Brokering Framework for Providing Semantic Services to Agents on Lightweight Devices==
Engineering a Brokering Framework for Providing
Semantic Services to Agents on Lightweight Devices
Nikolaos I. Spanoudakis1 and Pavlos Moraitis2
Abstract. This paper describes an approach towards allowing 2 THE BROKERING FRAMEWORK
lightweight nomad devices like mobile phones to access semantic
services that have either been advertised by agents or follow the In order to address our requirements we used the broker agent
semantic web services paradigm. The limitations of lightweight type [6], who can actively interface between the requester and
devices like lack of capability to process XML documents or to provider agents by facilitating the requested service transaction.
deal with complex data types and perform computationally Thus, all communication between requester and provider agents
demanding tasks are overcome by using this approach. Thus, we has to go through the broker. In this process, the requester’s
consider that when a user or agent is in a nomad or mobile identity is unknown to the service provider. Thus, assuming the
context this approach can aid him in searching for and acquiring business role of a service aggregator the broker services his
simple or complex - added value services from the web. 12 customers using providers as resources. The service requesters
are assumed to be aware of the services that they need. In our
system, the role of the broker is to either select the best service
1 INTRODUCTION for the requester, or to redirect the request to the appropriate
broker. The added value of our approach is the service protocol
There is a growing interest on the launching of agents on that allows for anonymous brokering for agents in a nomad
lightweight devices and that comes from many different business context adding, for the first time, the possibility to broker
and research sectors, including the Ambient Intelligence, the subscription services.
infomobility, the collaborative working environments and others. The matchmaking process is a subset of LARKS [11], suited
Lightweight devices pose certain limitations on the available for the nomad device applications domain. In this context, the
resources (CPU speed, memory capacity, storage capacity, etc) requester is assumed to use the same ontology with the broker.
for programs. Services are becoming semantic so that agents can Our process’s novelty lies in the manipulation of the inter-agent
adequately locate and execute them in order to achieve their messages content that is delivered using the LEAP protocol,
goals. Semantic services imply the use of XML, RDF and OWL which poses specific limitations and is in byte code format.
[13] technologies. The use of such technologies requires more Heterogeneous services are wrapped by service provider agents
than what is available on a lightweight device. who advertise and offer services using the application domain
Brokering is the solution to this problem, since the broker can ontology.
always be on a server computer side having access to needed Moreover, brokers can be distributed and each one can
computational and storage resources. The nomad devices residing specialize to a specific domain of services. We follow the notion
agents need access to services that require computational power of broker specialization of Infosleuth [9]. We model this
(for example filtering 100 hotels in order to present to a user the requirement using a broker capability property concept allowing
best 10). Such services are proposed to be offered by server- a broker to define its specialization in terms of service parameters
based provider agents. Important works from the agent constraints and share it with other brokers. The advantages of our
technology domain, but also from that of the semantic web, have approach compared to Infosleuth are a) brokers do not simply
addressed the issue of brokering and matchmaking ([3], [11], exchange their advertisements but define their special capabilities
[7]). However, these works lack the support for agents on the over the provided services in the domain, b) the requester agent
specific context of being resident on nomad, lightweight devices. doesn't have to define a search policy for the broker, and, c)
Our work builds on this previous work and provides a compatibility with FIPA standards.
framework for defining services using the OWL-S [12] paradigm The way to profile the services, the matchmaking process and
and making them available to lightweight devices. We use the the brokering protocol are described in detail in the following
FIPA-ACL [2] standard for defining the agent messages that are paragraphs.
used by our novel interaction protocol. The content of the
messages is encoded using the FIPA-SL [2] language for
lightweight agents. 2.1 Service Profiling
In section 2 we describe our approach in detail and we
conclude with a discussion in section 3. We use italics in order to For service profiling we follow the semantic web trend and thus
type concepts of the ontology that we developed, their properties are compatible to OWL-S. The service profile (SP) defines the
and ACL message performatives. type of the service (e.g. mapping service), describes input and
output parameters, as well as preconditions and post-conditions.
Here we would like to note that in the service parameters
1
Singular Software SA, Greece, email: nspan@singular.gr definition we have defined semantics for declaring a parameter as
2
René Descartes University, Paris, France, optional or mandatory.
email: pavlos@math-info.univ-paris5.fr
2.2 The matchmaking process device uses ontology java beans [1] in order to represent
ontology concepts. These beans are normal Java classes
Having defined the input requests and profiles we can proceed containing properties that cannot be ambiguous, i.e. defined of
to defining the matchmaking process. We need to match a service type Object because the LEAP encoding and decoding process
advertisement to a service request. Two types of matching best needs specific data types to instantiate as properties of concepts.
serve our needs ([7], [11]): a) the exact matching, which demands
that the advertised service has the same semantics and equal
more input/output parameters than the ones requested. The exact
matching is obviously always preferable.
Our matchmaking algorithm gradually filters the repository of http://imagine-
it.eu/ontology#RequestForEService
advertisements until the one best to serve the request is found.
Three types of filters, originally proposed by [11], are used: a) broker@nspan2kp:1099/JADE
Semantic Match (SM) searches the service profile advertisements
(PAs) for a service that matches the request (RP), b) Profile
Match (PM) searches the PAs provided by the SM for input and
http://imagine-it.eu/ontology#
output parameters that match those of the request. PM determines createMap
which PAs are exact or plug-in matches and sorts them
accordingly, and, c) Constraint Match (CM) determines which of
the PAs provided by the SM, match the constraints of a request. http://imagine-it.eu/ontology#
CallParameter
CM is performed to the sorted list provided by PM and either the http://imagine-
first or all PAs that successfully match the constraints are it.eu/ontology#forCountry
http://www.w3.org/2001/XMLSchema#
selected depending on the broker’s policy. string
DE
A special CM is needed before SM (named Pre-CM) so that
the broker agent (BA) can determine if he can serve the request
or it needs to redirect the request to another broker. Thus, broker
http://imagine-it.eu/ontology#
capabilities are described as constraints for parameter values. For CallParameter
querying the PAs repository we use the RDQL (RDF Query http://imagine-it.eu/ontology#
screenSize
Language) of the Jena open source tool [5]. http://imagine-it.eu/ontology#
Thus, according to our matchmaking algorithm, the broker ScreenSize
first applies the pre-CM filter. If he can handle the request, he
200
then sequentially applies the three other filters (SM, PM, CM) to 320
his PA repository.
Technical challenges were related to this matchmaking
process. The first was relevant to the transformation of a LEAP
message to RDF format for filtering. In order to overcome it we
use the LEAP codec for decoding a message at the broker side
and then encode it again with the use of the RDF codec [4] (see
an example in Figure 1). Thus, the request gains the necessary
semantics so as to be processable by Jena. From that point
forward the matchmaking process takes place and whenever the
Figure 1. A Service Request Message (RDF)
response of the service provider is ready, it is encoded at the
broker side with the LEAP codec and sent to the lightweight
We overcame this issue by defining all possible values that a
agent requester.
parameter can have as properties of the CallParameter concept.
Another problem that we had to overcome is that FIPA ACL
The basic properties of the CallParameter in an OWL/RDF
allows for a single ontology to be included in the content of an
setting would be the withName, withType and withValue. In this
ACL message. Thus, it is not possible to use different existing
case, however, we must cater for all possible types defined in our
ontologies when defining the ACL protocols (e.g. import all
ontology concepts. Figure 1 shows an instance of a request
OWL-S namespaces and use their concepts). That is why we
message related to a specific application [8], which is based on
added in our ontology all the concepts that we need in order to
the http://imagine-it.eu/ontology# namespace. The reader can
define a service profile similar to OWL-S. However, these are
observe the hasParameterIn RDF sequence element that is
reusable since the Protégé tool [10] that we used in order to
composed of a list of CallParameter elements that have a name
define our ontology doesn’t associate namespaces to ontologies
(parameter withName), a type (it can be a simple data type such
before deployment.
as string or a complex type like for example the ScreenSize type)
For describing an input/output parameter within a request for a
and a value corresponding to the type.
service we created the CallParameter concept. There, we
For example, for the ScreenSize type (these types are also
encountered another technical challenge related to the fact that
related to application [8]) the relevant property of CallParameter
we used the LEAP codec and thus, we could not add dynamically
that is used is the withScreenSizeValue. Similarly the forCountry
a value concept to a parameter property as we could easily do in
CallParameter is of type string and has the withStringValue
an RDF document. This happens because the agent on the nomad
property. Thus, the CallParameter concept has as many such
properties as the number of the data type concepts defined in our 3 DISCUSSION
ontology. However, for each instance the requester defines the
withName and withType (withType=PropertyType) properties and We used this brokering framework in the context of IST project
the relevant withPropertyTypeValue property. It is obvious that a Im@gine IT in the infomobility sector domain [8]. An Im@gine
designer can define appropriate parameter types related to his IT prototype has been developed and deployed. Two added value
own application. service providers were developed.
This work is meant as an extension of important works in the
brokering domain ([3], [11], [7]), towards offering semantic
2.3 The Service Protocol services to nomad devices. We provide a complete solution for
the nomad devices service provisioning including not only simple
The service provisioning protocol is presented in Figure 2 in the services but also the delegation of complex tasks and subscription
form of a FIPA interaction diagram [2]. services. The solution is composed of a protocol, a service
profiling scheme and the relevant matchmaking process.
Requester Broker Service Provider
As future work we aim to enrich the broker with the capability
to use directly OWL-S services advertisements (along with those
Request Advertise service
received by other agents) where the broker performs the service
protocol. grounding himself.
Inform The SL content of
the request
Request message is the
AgentAction
"RegisterEService" Acknowledgements
Service Protocol. The Matchmaking . Thus, a service
SL content of the provider advertises
Request message is the
Request
his service. We gratefully acknowledge the European Commission
AgentAction
"RequestForEService".
Information Society Technologies (IST) Programme and
Alternative - Option
Inform
specifically the Integrated Project (IP) “Ambient Intelligence
X System of Agents for Knowledge-based and Integrated Services
This is optional in the Confirm
sense that the broker for Mobility Impaired users” (ASK-IT, IST-2003-511298)
Failure
might invoke a simple
service through DMM
project for contributing in the funding of our work.
Refuse X
X
Alternative
Inform Service Protocol. The
REFERENCES
SL content of the Inform
X Confirm [1] Caire, G., Van Aart, C., Bergenti, F., Pels, R. : Creating and Using
or Confirm message is
Failure the Predicate Ontologies in Agent Communication. Workshop on Ontologies and
"FoundServiceResults"
X Refuse Agent Systems at AAMAS 2002
X [2] FIPA, Foundation for Intelligent Physical Agents, www.fipa.org
Option [3] Gomez, M., Abasolo, C., Plaza, E.: Domain-independent ontologies
Cancel
for cooperative information agents. In: Cooperative Information
Cancel
X Agents V. LNAI 2128, Springer-Verlag, 2001, p. 118-129
X [4] JADE, Java Agent Development Environment, http://jade.tilab.com/
[5] Jena, A Semantic Web Framework for Java,
Option Inform http://jena.sourceforge.net/
Inform [6] Klucsh M., Sycara K.: Brokering and Matchmaking for
Coordination of Agent Societies: A Survey. In Omicini et al (editor),
Coordination of Internet Agents, Springer, 2001
[7] Li. L. and Horrocks, I.: A software framework for matchmaking
Figure 2. Service Protocol Definition based on semantic web technology. Int. Journal of Electronic
Commerce, Vol. 8, No 4, 2004
The service protocol can also be used for subscription [8] Moraitis, P., Petraki, E. and Spanoudakis, N.: An Agent-Based
services provisioning. We use the FIPA Request, Inform, Refuse, System for Infomobility Services. In: 3rd European Workshop on
Multi-Agent Systems (EUMAS2005), Brussels, Belgium, December
Failure and Confirm performatives. The important AgentAction
7 - 8, 2005
and Predicate concepts [1] that are used as content in the ACL [9] Nodine, M., Bohrer, W., Hee Hiong Ngu, A.: Semantic Brokering
message are also presented. The participants are the Requester over Dynamic Heterogeneous Data Sources in InfoSleuth. In Proc.
agent type (RE), the Broker agent type (BR) and the service of the International Conference on Data Engineering, Sydney,
provider agent type (SP). In the case of distributed brokering the Australia, March 23-26, 1999
SP is another broker, who considers the broker, who received the [10] Protégé, An Ontology Editor and Knowledge Acquisition System.
original request, as a RE (implementing the relevant part of the http://protege.stanford.edu
same protocol). [11] Sycara, K., Widoff, S., Klusch, M. and Lu, J.: LARKS: Dynamic
Matchmaking Among Heterogeneous Software Agents in
Finally, for the service subscription protocol, the broker
Cyberspace. JAAMAS, 5, 173–203, 2002.
always retains the recent addresses of the communicating agents [12] The OWL Services Coalition (Martin, D. et al.): Bringing Semantics
so as to be able to forward new messages to the latest address of to Web Services: The OWL-S Approach, Proc. of the 1st Int.
the requester agent. This is important since the requester agent is Workshop on Semantic Web Services and Web Process
on a nomad device and usually is assigned a dynamic IP Composition (SWSWPC2004), July 6-9, 2004, San Diego,
whenever he accesses the network. California, USA.
[13] W3C, The World Wide Web Consortium, www.w3c.org