<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Implementation of FIPA Ontology Service</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Hiroki</forename><surname>Suguri</surname></persName>
							<email>suguri@comtec.co.jp</email>
							<affiliation key="aff1">
								<orgName type="institution">Iwate Prefectural University</orgName>
								<address>
									<addrLine>152-52 Takizawa-aza-sugo, . Tel</addrLine>
									<postCode>020-0173, +81-19-694-2000 *</postCode>
									<settlement>Takizawa, Japan</settlement>
									<region>Iwate</region>
								</address>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="department">Foundation for Applied Information Sciences</orgName>
								<orgName type="institution">Sendai</orgName>
								<address>
									<addrLine>5-12-55 Tsutsujigaoka Miyaginoku</addrLine>
									<postCode>983-0852</postCode>
									<settlement>Sendai Tel</settlement>
									<country key="JP">Japan</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Eiichiro</forename><surname>Kodama</surname></persName>
							<email>kodama@iwate-pu.ac.jp</email>
						</author>
						<author>
							<persName><forename type="first">Masatoshi</forename><surname>Miyazaki</surname></persName>
							<email>miyazaki@iwate-pu.ac.jp</email>
						</author>
						<author>
							<persName><forename type="first">Hiroshi</forename><surname>Nunokawa</surname></persName>
							<email>nunokawa@sfais.or.jp</email>
						</author>
						<author>
							<persName><forename type="first">Shoichi</forename><surname>Noguchi</surname></persName>
							<email>noguchi@sfais.or.jp</email>
						</author>
						<author>
							<affiliation key="aff0">
								<address>
									<postCode>980-0804</postCode>
									<settlement>Sendai</settlement>
									<country key="JP">Japan</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Implementation of FIPA Ontology Service</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">1B323E8EEF18EDC33E11C06E62718B2A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T01:41+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Practical experience</term>
					<term>Standardisation issues</term>
					<term>Implications on agent internal structure</term>
					<term>Component architectures for agents</term>
					<term>FIPA</term>
					<term>Ontology Service</term>
					<term>OKBC</term>
					<term>Agentcities. ****** * Communication Technologies. 2-15-28-6F Omachi Aobaku</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The authors have implemented FIPA 98 Spec 12: Ontology Service. In addition, we developed a sample application of online shopping service that integrated multiple database schemata using the ontology service to verify and demonstrate the specification and the implementation. In this paper, we briefly introduce FIPA and FIPA Specifications at first. Next, we describe Comtec Agent Platform, on which the ontology service is deployed. Then, after reviewing the ontology service specification and its relationship with OKBC, we discuss details of the implementation of the ontology service and demonstration application. We conclude with a prospect of real-world applications in the Agentcities project and future works that we are currently preparing for.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">INTRODUCTION</head><p>FIPA (The Foundation for Intelligent Physical Agents, http://www.fipa.org/) is a non-profit organization aimed at producing standards for the interoperation of heterogeneous software agents. The purpose is realized by publishing a set of specifications so that the agents developed by different vendors can talk to each other based on the standard specifications.</p><p>In 1997, FIPA introduced its first set of specifications called FIPA 97. FIPA 97 specifications include Spec 1: Agent Management, Spec 2: Agent Communication Language, Spec 3: Agent/Software Integration and four other application specifications. Specs 1-3 are called normative specifications that prescribe technical aspects of multi-agent systems like how agents are managed, what language and interaction protocols agents use to communicate with each other, and how agents and non-agent software interact in the Internet. Four application specifications are called informative, which are intended to verify the normative technical specifications and to promote the development and deployment of agent-based applications.</p><p>In 1998, FIPA produced second set of specifications: FIPA 98. FIPA 98 includes normative specifications of Spec 8: Human-Agent Interaction, Spec 10: Agent Security Management, Spec 11: Agent Management Support for Mobility and Spec 12: Ontology Service <ref type="bibr" target="#b3">[3]</ref>. Spec 1: Agent Management and Spec 2: Agent Communication Language were also revised and updated.</p><p>Comtec Corporation (in October 2000, Communication Technologies was established by the management buyout of Comtec Corporation) implemented FIPA 97 Specs 1-3 and released the source code of world's first free implementation of FIPA in September 1998. In October 1999, Comtec added the implementation of Spec 12: Ontology Service to its agent platform and also made the source code open to public. A live service of Comtec Agent Platform had been offered in order to facilitate the global interoperability trials of FIPA-based agent platforms using the Internet since February 9, 1999, following the first interoperability trials at FIPA Seoul meeting in January 1999. Unfortunately, the live service has been stopped during the chaos of the transition of the company from Comtec Corporation to Communication Technologies <ref type="bibr" target="#b6">[6]</ref>.</p><p>In October 1999, FIPA decided that it no longer abide by a yearly cycle (such as FIPA 97 and FIPA 98) and release the specifications asynchronously. FIPA also undertook major restructuring of the organization and introduced a new document policy and lifecycle management of the specifications. According to the new lifecycle schema of the specifications, the documents follow the steps below:</p><p>(1) Preliminary, where the technical committee decides that the document is worth public review;</p><p>(2) Experimental, where FIPA Architecture Board, the top technical authority within FIPA, confirms that experimental implementation and interoperability trials of the implementations is encouraged;</p><p>(3) Standard, where the interoperability of the multiple implementations by different developers has been achieved; and</p><p>(4) Deprecated and Obsolete where documents are no longer valid and archived for historical reference purpose only.</p><p>As of April 2001, most of the latest specifications are at the Experimental stage. Such specifications include abstract architecture, agent management, agent communication language and content languages, interaction protocols, message transports and message encodings, agent/software integration, and ontology service <ref type="bibr" target="#b4">[4]</ref>. Previous FIPA 97 and FIPA 98 specifications are now Obsolete status. Unfortunately, Comtec agent platform is based on FIPA 97 and FIPA 98. It is currently not yet fully compatible with the latest Experimental specifications. Since FIPA 97 and FIPA 98, there are some major changes in agent management and message transport in the latest specifications. However, the differences between FIPA 98 Spec 12: Ontology Service and the latest experimental ontology service specification are just cosmetic and there is no functional change.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">COMTEC AGENT PLATFORM</head><p>Comtec Agent Platform is a straightforward implementation of agent management, agent communication language and agent/non-agent software integration functions of the FIPA 97 specifications. Figure <ref type="figure">1</ref> shows the basic building blocks of the platform.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 1. Basic building blocks of Comtec Agent Platform</head><p>Java 2 is the foundation for the platform. Hardware and operating system independency is achieved by using Java. Kawa <ref type="bibr" target="#b1">[1]</ref> is a Scheme (a dialect of LISP) interpreter written in Java. Kawa allows Scheme programmers to access Java classes and vice versa. Java IDL is adopted to implement IIOP-based communication between agents as specified by the agent management. Agent communication language library is a collection of primitives of ACL communicative acts, content language interpreters SL0 and SL2, basic design patterns of an agent, and interaction protocol handlers. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 2. Agent platform configuration models</head><p>Comtec's implementation simplifies the FIPA reference model by using IIOP as the internal messaging protocol, too. Therefore, ACC is responsible for both inter-and intraplatform message exchange. Figure <ref type="figure">3</ref> below details out how an agent talks to the ACC.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 3. Agent communications</head><p>In this picture, agents (agent-a and ACC) are composed of two parts. The main part is written in Kawa Scheme, which controls agent's behavior. The communications interface utilizes Java IDL to use IIOP transport protocol.</p><p>To establish the communications between the agents, COS naming service (tnameserv) is employed for name resolving. The ACC registers the server (receiver) reference with the COS naming service and agent-a (sender) retrieves the object reference from the naming server. Agent-a sends a message to ACC using the IOR and ACC then forwards the message to the recipient agent (the recipient address is specified in the :receiver slot of the ACL message) with the same manner (which is not described in Figure <ref type="figure">3</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">FIPA ONTOLOGY SERVICE SPECIFICATION</head><p>After the initial release of the Agent Communication Language specification, FIPA Technical Committee C, which was responsible for the agent communications, began the work of ontology service in January 1998. Since the basic framework of the agent communications was established by specifying the ACL, content language SL and interaction protocols such as contract net and auctions, it seemed natural to proceed to deal with the problem of how agents can share a common ontology in order to make a meaningful conversation. The task finished in October 1998 and the document was published as FIPA 98 Specification Part 12: Ontology Service. The original document itself has been in obsolete status since revised version was edited according to the new document management and lifecycle policy described above. However, the differences between the old and new documents are mostly cosmetic and no significant change has been made. A Japanese translation of the original FIPA 98 specification <ref type="bibr" target="#b5">[5]</ref> is also available, which was made by Intelligent Agent Society of Japan.</p><p>FIPA ontology service is basically an agent wrapper of OKBC <ref type="bibr" target="#b2">[2]</ref>. Open Knowledge Base Connectivity, or OKBC, is a set of applications programming interfaces (API) that connects frontend user applications and back-end knowledge bases (KBs). Like ODBC (Open Data Base Connectivity) or JDBC (Java Data Base Connectivity), OKBC connects to a wide variety of KB servers (such as Ontolingua, Loom and Cyc) in the back-end while allowing the client user applications to be able to access these KBs via standardized front-end API. The reference implementation of OKBC, which is available from Artificial Intelligence Center of SRI International and Knowledge Systems Laboratory of Stanford University, comes with C, Java and Common Lisp programming language bindings of the API. OKBC specification also defines a frame-based knowledge model written in KIF that is used to describe the contents of the API.</p><p>The problem with OKBC in FIPA perspective is that its clientserver model API does not fit for the FIPA agent standard style where communicative interface of the agent is specified but programming language API is outside the scope of the specification. Therefore, FIPA decided to wrap the OKBC front-end API with ACL-speaking agent, which is called Ontology Agent (OA). (The back-end KBs are mentioned as ontology server.) Client agents of the OA utilize standard FIPA ACL (query-if, query-ref, request etc.), interaction protocols (FIPA-request and FIPA-query), white page and yellow page directory services (DF and AMS) and agent message transport (IMTP/ACC) to talk to the OA in order to access the ontology service behind the OA. Ontology clients store, modify, delete or query the ontology with the OA to share the common ontology with other client agents. Figure <ref type="figure" target="#fig_0">4</ref> below, which is taken from the specification document and modified a little to better emphasize the role of OKBC, shows the reference model of FIPA Ontology Service.  The FIPA Ontology Service specification adopts OKBC knowledge model as FIPA-meta-ontology (that is, an ontology that is used to access the Ontology Agent). It also defines actions and a predicate used in the content of the conversation with the OA, which are shown in Tables <ref type="table" target="#tab_4">1 and 2</ref> below. FIPAontol-service-ontology consists of these actions, predicate and FIPA-meta-ontology. For the complete list of FIPA-metaontology, see the OKBC specification, part of which is also included in the FIPA Ontology Service specification with the permission of the original authors. This action asserts the predicate in the ontology specified by the :ontology parameter of the ACL.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>(retract &lt;predicate&gt;)</head><p>This action retracts (cancels) the predicate in the ontology specified by the :ontology parameter of the ACL.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>(atomicsequence &lt;action&gt;*)</head><p>This action introduces a transactiontype sequence of actions, which is treated as if it was a single action. The result of the action is one of the two cases: (1) all actions are successfully done; or (2) none of the actions is made. It is used to modify an existing ontology by combining the actions of retraction and assertion, for example. The mechanism to maintain the consistency inside the sequence (rollback if necessary) and to protect values from outside the sequence is dependent on the implementation. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">IMPLEMENTATION OF THE ONTOLOGY SERVICE</head><p>The implementation of the Ontology Service specification is pretty straightforward based on the specification. Figure <ref type="figure">5</ref> shows the overall view of the internal composition of the ontology agent.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 5. Overview of the ontology agent</head><p>The development of the OA is divided into two parts. The first part is an interface to the OKBC front-end. From OKBC point of view, the OA is one of the front-end user applications. This part is also responsible for managing OKBC knowledge model and FIPA-meta-ontology. The second part is the FIPA interface where the agent wrapper is implemented. The FIPA interface includes functions such as ontology naming, ontology relationship and FIPA-ontol-service-ontology management. It utilizes existing interaction protocol handlers for FIPA-query and FIPA-request, which are prescribed in the specification for client agents to talk to the OA. The content language SL2 interpreter from the agent communication language libraries of the Comtec Agent Platform is also used to express the actions, objects and predicates in the ACL message.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">OKBC Interface</head><p>The OKBC interface connects to the OKBC front-end using the Java binding of the OKBC API. Figure <ref type="figure" target="#fig_2">6</ref> below shows the OKBC interface. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">FIPA Interface</head><p>The FIPA interface is an agent wrapper that takes care of generating and interpreting SL actions and predicates, and ACL communicative acts based on appropriate interaction protocols. It also processes the registration with DF, and management of ontology names and relationship between the ontologies. Figure <ref type="figure">7</ref> below displays the internal composition of the FIPA interface.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 7. FIPA interface</head><p>The following are descriptions of the sub-modules.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.1">Naming and Referring Ontologies</head><p>This sub-module processes naming of ontologies. Each ontology must have a unique logical name, which is used in the :ontology slot of the ACL message. The logical ontology name corresponds to the physical name of the KB that is connected to the back-end of OKBC. The ontology name database manages the mapping of the logical name and physical name of the ontologies. This module deals with the name database to insert, delete, modify and query the logical and physical names of the ontologies. These requests come from actions and predicates module and ontology relationship module.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.2">Relationship between Ontologies</head><p>Six relations are defined between ontologies in the specification:</p><p>Extension, Identical, Equivalent, Weakly-Translatable, Strongly-Translatable and Approx-Translatable.</p><p>These relationships of the ontologies are expressed in the ontol-relationship predicate with the form of (ontol-relationship &lt;o1&gt; &lt;o2&gt; &lt;relation&gt;). This sub-module is responsible for managing and maintaining the ontology relationship database. It inserts, deletes, modifies and answers the relationship according to the request coming from the actions and predicates sub-module and naming and referring ontologies sub-module. Table <ref type="table">3</ref> below explains the definition of the relations between two ontologies.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Table 3. Relations between ontologies</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Relation Description</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>&lt;O1&gt; &lt;O2&gt; Extension</head><p>Ontology O1 extends the ontology O2.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>&lt;O1&gt; &lt;O2&gt; Identical</head><p>Ontologies O1 and O2 are identical.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>&lt;O1&gt; &lt;O2&gt; Equivalent</head><p>Ontologies O1 and O2 are equivalent.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>&lt;O1&gt; &lt;O2&gt; Weakly-Translatable</head><p>The source ontology O1 is weakly translatable to the target ontology O2.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>&lt;O1&gt; &lt;O2&gt; Strongly-Translatable</head><p>The source ontology O1 is strongly translatable to the target ontology O2.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>&lt;O1&gt; &lt;O2&gt; Approx-Translatable</head><p>The source ontology O1 is approximately translatable to the target ontology O2.</p><p>Please look at the specification document for the complete description of these relations. It should be noted here, however, that the following properties hold between the levels of relationships:</p><formula xml:id="formula_0">• Strongly-Translatable ⇒ Weakly-Translatable ⇒ Approx-Translatable • Equivalent (O1, O2) ⇒ Strongly-Translatable (O1, O2) ∧ Strongly-Translatable (O2, O1) • Identical ⇒ Equivalent</formula><p>The relationship sub-module is responsible for tracking these implications and correctly answering the queries from the clients about the relationship even if the implications are deeply nested.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.3">Registration with DF</head><p>Directory Facilitator, or DF, is a yellow page directory service of agents in an application domain defined in the Agent Management specification. It stores the agent description and service descriptions of the agents and answers queries about them from other agents. Agent must register with the DF in order to advertise the capabilities of itself. This sub-module prepares the agent description and service descriptions of the OA and registers with the DF using the FIPA-request interaction protocol when the OA is activated. (Registration with AMS, which is a white page directory service of the agent platform, is also a mandatory step of initializing the agent and thus automatically handled by the agent communications library.)</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.4">Actions and Predicates</head><p>This sub-module handles the actions and predicates used in the OA. There are two cases in terms of the actions and predicates that are handled here.</p><p>(1) OKBC-related actions and predicates</p><p>In this case, this module calls OKBC interface to process the actions and predicates.</p><p>(</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>2) Actions about ontology name and relationship between ontologies</head><p>If the action is about the ontology name or the relationship between the ontologies, naming and referring sub-module and ontology relationship sub-modules are called to process the request.</p><p>The actions include assert, retract, atomic-sequence from the FIPA-ontol-service-ontology, and inform, request, query-if, query-ref, agree and cancel from the standard communicative act library. The translate action of the FIPA-ontol-service-ontology is not implemented. This is the only feature that is not implemented inside the specification. The OA registers with the DF expressing that it is unable to process the translate action from one ontology to another.</p><p>Note that the basic policy of FIPA about the implementation of the specification is that the developer can choose which subset of the document to implement and which part not to implement, as far as the consistency of the behavior of the agent is maintained. The agent must properly register with DF and AMS about its capabilities: which functions are implemented and which functions are not implemented.</p><p>(Some features, for example, which communicative acts the agent understands, are not registered with DF. This problem should be resolved in the future version of the FIPA architecture.) It is a responsibility of the applications designers (or, maybe the responsibility of the agents themselves if the agents are intelligent enough) to identify the necessary features of the agents and integrate the multiagents by asking the DF for the service description of the agents in order to achieve the interoperability of the agents and deploy the applications.</p><p>The atomic-sequence action needs a special attention. This action introduces a transaction-like (i.e., the ones found in SQL RDB) sequence of actions, which is treated as if it was a single action. The result of the atomic-sequence action is strictly one of the two cases: (1) all actions in the sequence have been successfully done; or (2) none of the actions in the sequence has been committed. Like RDB transactions, the OA takes care about the consistency between before and after the atomic-sequence, and inside and outside of the atomicsequence. Firstly, the OA maintains the transactions log of each action in the sequence and rollbacks to the previous state of the KB, which is just before the atomic-sequence is initiated, if one of the actions in the sequence fails by any reason. Secondly, while the sequence of the actions is processed, the OA provides a virtual view of the state of the KB, which is just before the atomic-sequence is commenced, to other transactions so that outside agents cannot see the interim, possibly inconsistent, stage of the sequence. The OA commits the changes made by the sequence of actions if all of the actions in the sequence have been successfully completed without an error.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.5">Interaction Protocols</head><p>This sub-module generates function closures that process the specified interaction protocols. In the OA, FIPA-request and FIPA-query are the only two interaction protocols used. The main loop of the OA evaluates the interaction protocol handler closure to control the conversations between the OA and the client agents or the DF according to the specified interaction protocol. (Note that closures are heavily used everywhere in the program in general.)</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">DEMONSTRATION APPLICATION</head><p>The purpose of the demonstration application of OA is to identify the strengths and weaknesses of the OA and its client agents that constitute the real-world applications. Web-based on-line shopping mall was selected as such a practical application. Comtec's business partner, Intercraft Corporation (http://www.intercraft.co.jp/), has developed an on-line shopping application that is called Gumbo (http://www.gumbo.ne.jp/). We received the source code from Intercraft and developed a version of the application that makes use of the ontology service, which is called Ontology Gumbo. As a consequence, we could not only test the Ontology Gumbo but also compare the performance of Ontology Gumbo with the original Gumbo. The following Figures <ref type="figure" target="#fig_3">8 and 9</ref> show the structure of the original Gumbo and the modified part of Ontology Gumbo. Please note that Ontology Gumbo server is implemented as a client agent of the OA. By developing the demonstration application, firstly, we wanted to know how easily an existing application could be modified to become the ontology client agent that utilizes the OA. Then we have tested both original and Ontology Gumbo systems in terms of resource (CPU, memory, network etc.) utilization, response time, ease of systems modification such as adding and removing database schemata, and fault tolerance.</p><p>Here we report some of the results.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Development of the Demonstration Application</head><p>The development of the demonstration application was made by a programmer who had a pretty good knowledge on Oracle, Perl, Apache and Kawa, but did not hear anything about ontology. The following Table <ref type="table">4</ref> summarizes hours that actually took for the programmer to modify the original Gumbo to support the ontology service as a client agent of the OA. # of lines indicates modified or added number of lines in the program code. Although Gumbo is not a very big system (total number of lines: 16144), which offers just minimal functionalities of the on-line shopping mall, it took less than one person-week to change it to use the ontology agent. Please note that half of the time is spent by preparation. It would not take this much if the same person does the similar task.</p><p>However, it should be also noted that advantage of having explicit and external ontology over implicit, internal and hard-coded ontology (database schema) was not made clear with such a small-sized applications. For example, there was no significant difference<ref type="foot" target="#foot_0">1</ref> in terms of the development time between the original and Ontology Gumbo systems when new schema had to be added and the unified end-user view must be presented. This could be partly because the developer was an Oracle specialist and new to ontology; partly because the task of integrating multiple database schemata was not appropriate for the OA.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Run-Time Performance Comparison</head><p>We have compared the run-time performance of the original and Ontology Gumbo systems. The hardware and software configuration is as follows:</p><p>Ontology Agent and OKBC server -Sun Ultra 5 These machines were connected to a closed 10Base-T LAN. Typical end-user procedures of browsing a product catalog were timed for the combinations of OS, browsers, with/without pictures and with/without ontology service. The data was not successfully acquired for the Netscape Navigator 4.7 on Mac due to unstable Java Runtime Environment. Figure10 displays the results.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 10. Gumbo performance comparison</head><p>As shown in the chart, overhead of using the ontology service often exceeds ten seconds. One of the reasons of the bad performance is that most of the Java optimization options had to be turned off in order to avoid the nasty bugs related to the optimization (JIT compiler, native thread etc.)</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">FUTURE WORKS AND CONCLUSIONS</head><p>Agentcities project (http://www.agentcities.org/) is a worldwide initiative designed to help realize the commercial and research potential of agent-based applications. The objective is to construct a worldwide network of agent platforms based on the FIPA standard. Each platform, which is called a City, will be supported by different organizations around the world and host diverse populations of agents that are able to access each other's services. Communication Technologies committed to take part in the project to host the Sendai City, where the office is located, based on the Comtec Agent Platform and the Ontology Agent. However, in order to host the city platform and to be able to connect to other cities, we have to work on some major update of the code because current platform is based on FIPA 97 and FIPA 98 specifications. Currently (as of April, 2001), FIPA has published most of the specifications as Experimental status, which means that the experimental implementations and the interoperability trials of the implementations by different developers are encouraged in order to promote the specifications to the Standard status.</p><p>Agentcities project is a great motivation for us to update the platform and add the following features to the platform: HTTP transport of the agent communications; XML representation of the ACL and SL; Gateway between the HTTP/XML world and existing IIOP/S-expression world; Deploy the Ontology Agent on top of the revised platform; and Performance tuning of overall platform.</p><p>In addition, we are committed to provide other cities with the ontology service, which is based on, as far as we know, the only implementation of the FIPA Ontology Service specification. It is expected that by utilizing the ontology service, heterogeneous agents developed by different participants and located in different cities will be able to share a common ontology to establish a basis for a meaningful conversation.</p><p>In conclusion, we have presented our experience of implementing FIPA Ontology Service specification. It is our big regret that we have not published a paper on the software immediately upon the release of the source code in October 1999 and several key evaluation results were lost or not recorded. Anyway, we believe the technology of the ontology service, which combines the proven power of OKBC and standard FIPA specifications, must be fully exploited in the real-world application in order to facilitate the advanced knowledge sharing among the computers and the human beings.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.">ACKNOWLEDGMENTS</head><p>The authors acknowledge Information-technology Promotion Agency of Japan (IPA) for funding the development of FIPA 97 agent platform (Advanced Information Promotion Assistance Software Enrichment and Cultivation Project, under the contract 9JOUGIOUDAI569GOU) and the development of FIPA 98 Ontology Service (Next Generation Digital Technology Applications and Basic Foundations Support Technologies Development Project, under the contract 10JOUGIOUDAI908GOU).</p><p>We also thank Artificial Intelligence Center of SRI International and Knowledge Systems Laboratory of Stanford University for their OKBC specification and implementation.</p><p>The demonstration application would not have been made possible without the great courtesy of the Intercraft Corporation that developed the original Gumbo system and kindly assisted us to build the Ontology Gumbo. Last but by no means least, our special thanks to 1998 FIPA Technical Committee C members led by the chair Fabio Bellifemine of CSELT, and general membership of FIPA that contributed to discuss and publish the Ontology Service Specification.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 4 .</head><label>4</label><figDesc>Figure 4. Ontology Service reference model (modified)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>Translates the expression as specified by the translation-description. It should be used with FIPA-Request interaction protocol.The specification includes two informative annexes. One of them sets forth an introduction to logical foundations of the ontology and conceptualization, contributed by Nicola Guarino (LADSEB-CNR). The other describes guidelines to define a new ontology used by the applications, contributed by Assuncion Gomez-Pérez (Universidad Politécnica de Madrid).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 6 .</head><label>6</label><figDesc>Figure 6. OKBC interface</figDesc><graphic coords="4,318.00,299.00,240.00,77.00" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 8 .</head><label>8</label><figDesc>Figure 8. Original Gumbo server</figDesc><graphic coords="6,318.00,339.00,240.00,160.00" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>Transport mechanism, or IPMT. The communications protocol used in IPMT is not specified by FIPA so that agents can use platform-specific or programming language dependent message transport mechanisms such as Unix IPC, Java RMI, HTTP, SMTP etc. To ensure the communications between agents on different agent platforms that use different IPMT protocols, the ACC must speak common 'baseline protocol', which is CORBA IIOP to forward the message to ACCs on other platforms.</figDesc><table><row><cell>application agents such as ARB (Agent Resource Broker) and</cell></row><row><cell>software wrapper agents of agent/software integration, and</cell></row><row><cell>ontology server and ontology client agents of the Ontology</cell></row><row><cell>Service specification.</cell></row><row><cell>Figure 2 depicts the difference between Comtec's</cell></row><row><cell>implementation and FIPA's reference model of the</cell></row><row><cell>configuration of the agent platform. With FIPA 97 reference</cell></row><row><cell>model, agents communicate via Internal Platform Message</cell></row></table><note>Agent Platform agents are ACC (Agent Communication Channel), AMS (Agent Management System) and DF (Directory Facilitator). (N.B., ACC is no longer an agent in the latest Experimental specification.) On top of the platform agents are the</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>Table 1 . Predicate defined in FIPA-ontol-service-ontology Predicate Description</head><label>1</label><figDesc></figDesc><table><row><cell>(ontol-</cell><cell>It is true if and only if there is a</cell></row><row><cell>relationship</cell><cell>relationship of type level between the</cell></row><row><cell>&lt;o1&gt; &lt;o2&gt;</cell><cell>ontology o1 and the ontology o2.</cell></row><row><cell>&lt;level&gt;)</cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_4"><head>Table 2 . Actions defined in FIPA-ontol-service-ontology</head><label>2</label><figDesc></figDesc><table><row><cell>Actions</cell><cell>Description</cell></row><row><cell>(assert</cell><cell></cell></row><row><cell>&lt;predicate&gt;)</cell><cell></cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">A reviewer suggested to compare the figures. Unfortunately, the record was lost and we are sorry we cannot present the exact numbers.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title/>
		<author>
			<persName><surname>References</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">The Kawa Scheme System</title>
		<author>
			<persName><forename type="first">P</forename><surname>Bothner</surname></persName>
		</author>
		<ptr target="http://www.gnu.org/software/kawa/" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Open Knowledge Base Connectivity 2.0</title>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">K</forename><surname>Chaudhri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Farquhar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Fikes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">D</forename><surname>Karp</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Rice</surname></persName>
		</author>
		<idno>KSL-98-06</idno>
		<ptr target="http://www.ai.sri.com/~okbc/spec.html" />
		<imprint>
			<date type="published" when="1998">1998</date>
		</imprint>
		<respStmt>
			<orgName>Stanford University KSL</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<ptr target="http://www.fipa.org/specs/fipa00006/" />
	</analytic>
	<monogr>
		<title level="m">FIPA0006: FIPA 98 Specification Part 12: Ontology Service</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><surname>Fipa</surname></persName>
		</author>
		<ptr target="http://www.fipa.org/specs/fipa00086/" />
		<title level="m">FIPA0086: FIPA Ontology Service Specification</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Intelligent Agent Society of Japan</title>
		<ptr target="http://fipa.comtec.co.jp/fipatrans/j98v1p12.PDF" />
	</analytic>
	<monogr>
		<title level="m">Ontology Service</title>
				<imprint>
			<biblScope unit="volume">12</biblScope>
		</imprint>
	</monogr>
	<note>Japanese translation of FIPA 98 Specification Part</note>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">H</forename><surname>Suguri</surname></persName>
		</author>
		<ptr target="http://fipa.comtec.co.jp/ap/" />
		<title level="m">Comtec Agent Platform</title>
				<imprint/>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
