ONTOLOGY GATEWAY
Enabling Interoperability between FIPA Complaint Agents
and OWL Web Services
Sabih Ur Rehman, Maruf Pasha, Arshad Ali
NUST Institute of Information Technology, 166-A, Street 9, Chaklala Scheme 3, Rawal - pindi, Pakistan
Farooq Ahmed, Hiroki Suguri
Communication Technologies, 2-15-28 Omachi Aoba-ku, Sendai 980-0804, Japan
Keywords: Semantics, Agents, Grid Computing.
Abstract: The introduction of Ontology Web Language (OWL) which is a W3C standard for providing explicit
semantics for establishing and sharing ontologies on the World Wide Web, has made it easier to embed
semantics with web data. Similarly FIPA Semantic Language is the core of the agent platforms due to its
high expressive power. Ontology plays an important role in the knowledge representation, reuse and
communication between web services. Similarly in an Multi-agent system ontology also plays an important
role, where the messages exchanged between agents should conform to an Ontology so that they could be
understood. In this paper we will introduce a technology enabling bidirectional interoperability between
FIPA compliant software agents and the Web services published in OWL. This is an extension of previous
work in which we proposed the development of semantic translations in such a way that the agents can
communicate with web services in an efficient manner. We will also describe and discuss the
implementation in which a FIPA complaint software agent will invoke and use a web service published in
OWL. Our goal for this paper is to show how a FIPA complaint agent can invoke and use the web services
published on the World Wide Web by the help of ontological transformations.
1 INTRODUCTION
The semantic web (T. Berners-Lee, 2004) field
within the W3C has grown rapidly during the last
few years. The semantic web is aimed to unite the
existing web information in order to make it easier
for the third parties to share and reuse. Formal
taxonomies, ontologies and the available web
standards such as RDF, XML, OWL, DAML-S, etc.
allow the web application developers to specify the
information in a standard way, to enable reusability
and sharing. The semantic web aims at providing
more intelligent access and management of the Web
information and more semantically richer modeling
of applications and their users. The web can reach its
full potential if the information available on the web
can be processed both by the automated tools as well
as the people.
Ontology (D. Fensel, 2003) is a specification of a
conceptualization (formal taxonomy). It provides a
vocabulary that describes a domain of interest and
the meaning to the terms being used. Through
ontologies we can produce information that is
human as well as machine understandable. In fact
the ontologies from the core of the semantic web and
enable automated interoperation and cooperation.
Computer can just read the information currently
available on the World Wide Web and cannot
interpret it. The growth of the semantic web will
give rise to such information that is structured and
understandable by the computers. It will be an
extension of the existing World Wide Web in which
the information will be given a well defined
meaning and better-enabled computers
(T. Berners-
Lee, 2004
). The semantic web will enable efficient
discovery and better utilization of the resources on
the web. W3C and several other research groups are
309
Ur Rehman S., Pasha M., Ali A., Ahmed F. and Suguri H. (2007).
ONTOLOGY GATEWAY - Enabling Interoperability between FIPA Complaint Agents and OWL Web Services.
In Proceedings of the Ninth International Conference on Enterprise Information Systems - SAIC, pages 309-314
DOI: 10.5220/0002410203090314
Copyright
c
SciTePress
working to provide a formal language for defining
ontologies and explicit semantics for the web
resources. Therefore Ontology Web Language
(OWL)
(M. Dean, 2004) has been proposed by the
W3C. OWL can be used to describe the classes and
relations between them. It is capable of defining and
instantiating Web ontologies and has overcome
many of the deficiencies that are present in other
ontological web languages.(overhead)
On the other hand Grid computing (IBM Grid
Computing Homepage) has emerged as an important
field; it provides a hardware and software
infrastructure that enables dependable, consistent,
persuasive and inexpensive access to computational
capabilities and coordinated resource sharing. The
semantic grid is the extension of the current Grid,
with the exception that in the semantic grid
information and services are given well defined
meanings and enables autonomous interoperation
between entities (M. Wooldrige, 1997). It is similar
to the Semantic Web in a way that it uses metadata
to describe information in the grid. Turning
information into more than just simple information,
enabling computers not only to read the data but also
understand the information presented. The key idea
behind semantic grid is to enable software agents to
dynamically discover, invoke and monitor the
semantic enabled web services.
An agent platform is an infrastructure through
which agents can be deployed. A typical agent
platform such as Foundation for Intelligent Physical
Agents (FIPA) complaint agent platform, Scalable
fault tolerant Agent Grooming Environment (SAGE)
(Abdul Ghafoor, 2004) provide services like
creating a multi agent application that uses services
provided by the agent platform itself and services on
the Grid (Ferber, 1999).
Figure 1: Agent Communication Language.
For agents to communicate with each other they
need a set of instructions and standards on how
agents will carry out effective and meaningful
conversation. For this FIPA has proposed ACL. That
provides semantics and precise syntax descriptions
for messages to be exchanged between the agents.
In cases where the service or resource required by an
agent to accomplish a task is not available on the
Grid on which the agent platform is running, in such
cases the agent will have to leave the work
incomplete. We propose an Ontology Gateway that
will enable an agent to consume services available
on the web. In cases described above if an agent is
unable to perform a task due to shortage or
unavailability of a service it can then search for that
service on the World Wide Web. The agent can then
consume or make use of a Web service published in
OWL to complete its task. We will enable such
communication through ontological transformations
in the Ontology Gateway. The architecture of the
proposed Ontology Gateway will be explained in
section 2.
2 PROPOSED ARCHITECTURE
The architecture we proposed in (Maruf Pasha,
2006) provided the semantic operability in
distributed environments where technologies like
agent applications and grid systems are combined
and reused to provide a Semantic Grid and thus
providing a service oriented framework.
In it the OWL that is a W3C standard for
specifying the services on the web will be used as a
content language. The communication infrastructure
specified by FIPA permits agents to communicate
using any mutually comprehensive content language
as far as it fulfils a few minimal criteria laid down
by the FIPA.
The key idea behind the proposed architecture
was to enable software agents to communicate with
the web services.
We will carry forward the previous architecture
but will enhance it in such a way that it will be able
to cater more OWL and ACL operators converting
them into their appropriate OWL/ACL operators. In
the enhanced Ontology Gateway we have also added
a Natural Language Process (NLP) module. The
NLP module will take the user query as input in the
form of natural language. Then it will convert the
query into an ACL query, which will then be passed
to the ontology gateway that will interpret the ACL
query and will locate the appropriate web service.
The NLP module implements a text mining (J.
Dorre, 1999) algorithm. Text mining is similar to
data mining; data mining seeks to extract data and
meaningful patterns from the data
(Eibe Frank,
ICEIS 2007 - International Conference on Enterprise Information Systems
310
1999
), where as text mining is about looking for
meaningful patterns or data in natural language text.
This module will help the agent in determining the
semantic meaning of a user query given in simple
English and will enable users that are not familiar
with the syntax of FIPA-ACL to generate queries
using simple English, which will then be converted
to an appropriate ACL query.
Figure 2 shows an abstract architecture of the
proposed system. The addition of the NLP module
will also enable users having little knowledge of the
Multi Agent Systems to use the Ontology Gateway
and generate ACL queries. The key idea behind the
proposed architecture is to show how software
agents communicate with the OWL based web
services and to enable users that are not aware of
FIPA syntax to use and generate queries in English
that would then be converted to appropriate ACL
query through the NLP module.
Figure 2: The Proposed Architecture.
3 IN DEPTH ANALYSIS OF FIPA
AND OWL
The main reason for these conversions is that both
FIPA SL and OWL have different principles in
terms of syntax, semantics and implementation
constraints. Therefore devising translations for such
a system is quite demanding and challenging, as
both the languages are quite different from each
other. This section will present some details on how
exactly the conversions in the Ontology Gateway
will take place. In this section we will also present
analysis of ontologies of FIPA
Table 1 shows the mappings of OWL class.
Every class in the OWL world is a member of the
class owl:thing, therefore each user defined class is
by default a sub class of owl:thing, where as in FIPA
Ontologies every class is by default a subclass of the
universal class :THING. Every OWL class provides
an abstraction to group together resources with
similar characteristics therefore they are mapped to
frames in FIPA Ontology, which represents an
entity.
OWL provides a set of complex operator for
defining classes such as owl:intersectionOf,
owl:unionOf, owl:oneOf etc. which are used to
provide explicit semantics with the classes. Our key
focus during the transformations will be to map the
operators in such a way that the underlying
semantics are preserved as much as possible. See
Table 1 for FIPA implementation of the OWL
operators and tags.
Table 1: OWL Class Mappings.
OWL FIPA
Basic owl:Thing :THING
Frame
Class owl:Class
:CLASS
Class rdfs:subClassOf subclass-of
Equivalent
Axioms owl:equivalentClass
:SAME-
VALUES
Individual Individual
Rdfs:domain :DOMAINS
rdfs:range
:SLOT-VALUE-
TYPE
Class owl:restriction Content
Descrip
tion
owl:minCardinality
:MINIMUM-
CARDINALITY
owl:maxCardinality
:MAXIMUM-
CARDINALITY
owl:DatatypeProperty :VALUE-TYPE
owl:intersectionOf
BinaryLogicalOp
= "and"
owl:unionOf
BinaryLogicalOp
= "or"
owl:complementOf
UnaryLogicalOp
= "not"
owl:oneOf set-of
owl: disjointWith
:NOT-SAME-
VALUES
Table 2 shows the Property mapping of Ontology
Web Language. The
owl:objectProperty tag is
used to define relations between instances of two
classes, for example :
Ontology Gateway
With the ability to
Translate and interpret
More operators/tags
Owl To
FIPA SL
FIPA SL
To Owl
OWL based
Web
Services
Ontologies
S
O
A
P
R
e
s
p
o
n
s
e
S
O
A
P
R
e
q
u
e
s
t
FIPA
Compliant
Multi Agent
System
(SAGE)
Ontologies
A
C
L
R
e
s
u
l
t
A
C
L
r
e
q
u
e
s
t
Ontology
Gateway agent
NLP
Module
User
Queries
ONTOLOGY GATEWAY - Enabling Interoperability between FIPA complaint Agents and OWL Web Services
311
<owl:ObjectProperty
rdf:ID="fatherOf">
<rdfs:domain
rdf:resource="#Man"/>
<rdfs:range
rdf:resource="#Children"/>
</owl:ObjectProperty>
where as in FIPA frames (classes) has
slots(properties) and each slot of a frame has
associated with it a set of facets, and each facet of a
slot has a set of entities associated(classes) with it,
therefore while translating an OWL Ontology into a
FIPA Ontology
owl:objectProperty will be
mapped onto facets. The data type properties are
basically instances of classes and RDF schema and
XML schema data types. Therefore,
owl:datatypeProperty is used to define a data
type for the property.
Table 2: OWL Property Mappings.
OWL FIPA
Property rdfs:domain :DOMAINS
Associat
ions
rdfs:range
:SLOT-VALUE-
TYPE
owl:equivalentPropert
y
:SLOT-SAME-
VALUES
Property owl:inverseOf
:SLOT-
INVERSE
Relation
ships
rdfs:subPropertyOf
:SLOT-SUBSET-
OF-VALUES
rdfs:Datatype
:SLOT-VALUE-
TYPE
owl:cardinality
:SLOT-
CARDINALITY
Property owl:maxCardinality
:SLOT-
MAXIMUM-
CARDINALITY
Restricti
ons
owl:minCardinality
:SLOT-
MINIMUM-
CARDINALITY
OWL FIPA
owl:allValuesFrom
:SLOT-SAME-
VALUES
Restricti
ons
owl:someValuesFrom
:SLOT-SOME-
VALUES
owl:hasValue
:SLOT-SUBSET-
OF-VALUES
Whereas in FIPA Ontology :SLOT-VALUE-
TYPE is used to define a data type for a slot. Hence
owl:DatatypeProperty will be transformed to
:SLOT-VALUE-TYPE.
For other properties such as
owl:equivalentProperty, owl:inverseOf,
etc and property restrictions such as
owl:cardinality, owl:allValuesFrom,
owl:hasValue, etc there are appropriate
equivalent operators in FIPA, which also perform
the same functionality as that of OWL tags. For
further mappings see Table 2.
4 TEST BED AND RESULTS
First Machine has Tomcat web server, Eclipse
version 2.1 installed in it and Jena 2.4 to enable web
server to create and deploy OWL web services.
On the second machine, the above mentioned
system is installed to provide required
transformations.
The third machine contains FIPA compliant agent
platform SAGE
(Abdul Ghafoor, 2004), on which
agent providing some services have been deployed.
The successful ontological transformations depends
on the provided information of the web service, if
the provided information is valid then the
transformation will be successful and 100% results
can be obtained. Agents with the help of AgentWeb
Gateway (Hiroki Suguri, 2004) (Muhammad Omair
Shafiq, 2005) (H. Farooq Ahmad, 2004) searches for
the required service in the UDDI. Upon successful
search it retrieves the web service. Now the software
agent needs to know about the ontology, the
predicate schema and the concept schema therefore
it passes the OWL ontology to the Ontology
Gateway which transforms the Web Serviced
published in OWL to its equivalent FIPA Ontology.
The agent can then use the transformed ontology to
populate its knowledge base.
Figure 3: Testbed Cofiguration.
SAGE
Agent Platform
Ontology Gateway
Agent Web Gateway
OWL 2 FIPA SL
Converter
FIPA SL 2 OWL
Converter
Apache Tomcat
Web Server
JENA
Web Service
Machine 3Machine 2
Machine 1
ICEIS 2007 - International Conference on Enterprise Information Systems
312
The time required for the transformation depends
on the number of classes involved and their
corresponding properties.
The proposed system will also help the W3C
compliant OWL based web services (Grid entities)
to communicate with the software agents. The Grid
entity sends a SOAP based UDDI query which is
converted into a valid ACL based DF query with the
help of the AgentWeb Gateway. If the required
service is found it is then forwarded to the Onotlogy
Gateway which then converts the FIPA Ontology
into its equivalent OWL ontology. And the
converted Ontology is then embedded into its
original SOAP message with its name and certain
other parameters, which is then forwarded to the
Web Service client that requested for the service.
This can be established using the same testbed
configuration as described above.
5 FUTURE WORK
This paper proposes ontology gateway architecture
and detailed mappings that is our research focus for
enabling flexible, autonomous interaction between
Semantic Web services and agent services. A
prototype implementation of this architecture is
under development at NUST-Comtec lab. It is
intended to improve the proposed design so as to
cater more semantically enriched communication.
We expect that this effort of conducting
communication between agents and web services via
a Gateway service, bridging agents and WS is only a
prelude to exploring the immense potential it offers
as a means to compose, invoke, administer and
manipulate heterogeneous service populations. As
OWL is based on description logic so it
comparatively less expressive then FIPA ACL/SL
therefore we need to introduce new operators while
transforming from SL to OWL.
6 CONCLUSION
In this paper we have proposed an enhanced version
of Ontology Gateway as compared to the version
proposed in (Maruf Pasha, 2006). The system will
now allow the user to enter queries in natural
language which will then be processed by the NLP
module which extract keywords from the query and
generate an equivalent ACL query. Our proposed
system will provide mappings/translations for more
operators and tags for the interoperability of FIPA
Semantic Language with Ontology Web Language
(OWL) and will prove to be a vital step in achieving
a semantic web and ultimately the Semantic Grid.
In order to achieve this milestone, this paper
contains the key issues and the detailed comparison
of the two technologies. The paper describes the
testbed configuration and the results when OWL
ontologies are mapped/transformed using the
Ontology Gateway. We have also described the
proposed architecture that will enable us to achieve
autonomous coordination in the messages that are
exchanged between the FIPA compliant Multi agent
systems and OWL based web services. And will
allow agents to interact with OWL based Web
Services.
REFERENCES
T. Berners-Lee, 2004; T. Berners-Lee, J. Hendler, and O.
Lassila. The semantic web. Scientific American,
284(5): 34-43.
Maruf Pasha, 2006; Maruf Pasha, Sabih ur Rehman, H.
Farooq Ahmad, Arshad Ali, and Hiroki Suguri,
“Middleware Between OWL and FIPA Ontologies in
the Semantic Grid Environment”, The 2006
International Conference on Semantic Web and Web
Services (SWWS'06), June 2006, Las Vegas, USA
D. Fensel, 2003; Ontologies: Silver Bullet for Knowledge
Management and Electronic Commerce, 2nd edition.
Springer-Verlag,Berlin,2003.
M. Dean, 2004; M. Dean and G. Schreiber, eds. OWL
Web Ontology Language Reference. 2004. W3C
Recommendation 10 February 2004.
IBM Grid Computing Homepage ; www.ibm.com/grid/
Abdul Ghafoor, 2004; Abdul Ghafoor, Mujahid ur
Rehman, Zaheer Abbas Khan, H. Farooq Ahmad,
Arshad Ali, “SAGE: Next Generation Multi-Agent
System”, PDPTA'04, pp.139- 145, Vol. 1, (2004).
M. Wooldrige, 1997; ”Agent based Software Engineering
IEE Proc. Software Engineering, vol. 144, no .1,
pp.26-37, 1997”.
Ferber, 1999; Multi Agent Systems, Addeson Wesle,
ReadingMA,1999.
Eibe Frank, 1999; Eibe Frank, Gordon W. Paynter, Ian H.
Witten, Carl Gutwin and Craig Nevill-Manning,
Domain-Specific Keyphrase Extraction. Proceedings
of the Sixteenth International Joint Conference on
Artificial Intelligence, Stockholm, Sweden. Morgan
Kaufmann Publishers, San Francisco, CA, pp. 668-
673.
J. Dorre, 1999; J. Dorre, P. Gerstl, and R. Seiffert,
Text mining: Finding nuggets in mountains of textual data.
In Proc. of the 5th ACM SIGKDD, pages 398--401,
1999.
Zaheer Abbas Khan, 2004; Zaheer Abbas Khan, H. Farooq
Ahmad, Arshad Ali, Hiroki Suguri, China, April
“Decentralized Architecture for Fault Tolerant Multi
ONTOLOGY GATEWAY - Enabling Interoperability between FIPA complaint Agents and OWL Web Services
313
Agent System”, ISADS, 04, 5-7, 2005 (2004) pp 167-
174.
Hiroki Suguri, 2004; Hiroki Suguri, H. Farooq Ahmad, M.
Omair Shafiq and Arshad Ali: Agent Web Gateway -
Enabling Service Discovery and Communication
among Software Agents and Web Services. Proc.
Third Joint Agent Workshops and Symposium
(JAWS2004), pp. 212-218, October 2004, Karuizawa,
Japan
Muhammad Omair Shafiq, 2005; Muhammad Omair
Shafiq, Hafiz Farooq Ahmad, Hiroki Suguri, Arshad
Ali, “Autonomous Semantic Grid: Principles of
Autonomous Decentralized Systems for Grid
Computing” IEICE/IEEE TRANS., VOL. E85-
A/B/C/D, No. 1 (2005).
FIPA SL Content Language Specifications;
http://www.fipa.org/specs/fipa00008/SC00008I.html#
_Toc26668863
H. Farooq Ahmad, 2004; H. Farooq Ahmad, Hiroki
Suguri, M. Omair Shafiq and Arshad Ali: Autonomous
Distributed Service System: Enabling Webs Services
Communication with Software Agents. Proc. of 16th
International Conference on computers and
Communication (ICCC 2004), pp. 1167-1173
September 2004, Beijing, China
ICEIS 2007 - International Conference on Enterprise Information Systems
314