AGENT ORGANIZATION AND COMMUNICATION WITH
MULTIPLE ONTOLOGIESHIDEAKI TAKEDA
Graduate School of Information Science
Nara Institute of Science and Technology (NAIST)
8916-5, Takayama, Ikoma, Nara 630-01, Japanand
KENJI IINO
Graduate School of Information Science
Nara Institute of Science and Technology (NAIST)
8916-5, Takayama, Ikoma, Nara 630-01, JapanandTOYOAKI NISHIDA
Graduate School of Information Science
Nara Institute of Science and Technology (NAIST)
8916-5, Takayama, Ikoma, Nara 630-01, Japan

ABSTRACTIn this paper, we discuss how ontology plays roles in building a distributedand heterogeneous knowledge-base system. First we discuss relationship between ontology and agents in the Knowledgeable Community which is a framework of knowledge sharing and reuse based on a multi-agent architecture.
Ontology is a minimum requirement for each agent to join the Knowledgeable Community. Second we explain mediation by ontology to show how
ontology is used in the Knowledgeable Community. A special agent called mediator analyzes undirected messages and infer candidates of recipient agentsby consulting ontology and relationship between ontology and agents. Third
we model ontology as combination of aspects each of which can represent a
way of conceptualization. Aspects are combined either as combination aspect
which means integration of aspects or category aspect which means choiceof aspects. Since ontology by aspect allows heterogeneous and multiple descriptions for phenomenon in the world, it is appropriate for heterogeneous
knowledge-base systems. We also show translation of messages as a way ofinterpreting multiple aspects. A translation agent can translate a message
with some aspect to one with another aspect by analyzing dependency of aspects. Mediation and translation of messages are important to build agentseasily and naturally because less knowledge on other agents is requested foreach agent.
Keywords: multi-agnet system, ontology, mediation, agent communication,
KQML, KIF
1

1. Introduction

Large scale Knowledge base is indispensable to put AI theories to work in the realworld. There are two approaches to realize large scale knowledge bases. One is tobuild a large scale knowledge base system such as Cyc [8, 10]. The other is to provide
a framework of knowledge sharing and reuse by common languages and ontologies
among di erent systems. The purpose of our project called the Knowledgeable
Community[12, 13] is to provide a framework of knowledge sharing and reuse basedon a multi-agent architecture.
It is most important but dicult for knowledge sharing and reuse how to use
di erent concept structures together. Each system or each agent adopts its own
concept structure that is the way how concepts are de ned and associated to eachother. Each concept structure has a domain that its concepts cover and a perspectivethat is policy how to describe the domain as concepts. When two agents withdi erent concept structures try to communicate to each other, di erence in concept
structure disturbs their communication. There are mainly two reasons for it. One
is that it is dicult for each agent to know what concepts are used and to know
which agent to talk to. The other is, even if they nd relationship among theirconcept structures, it is dicult for each agent to interpret concept structure of theother agent.
We provide ontologies which are vessels to put concepts and their relations
used in each agent to solve the rst problem. Each agent is required to declareits ontology explicitly. We realize mediation mechanism using ontology that cansuggest possible agents to respond the given undirected messages.
For the second problem, we allow multiple aspects for concepts and provide
relations among di erent aspects which are used to translate information from one
aspect to the other.
In Section 2, we show our approach of building a large-scale knowledge-basesystem based on a multi-agent architecture. In particular we identify relationshipbetween agents and ontologies. Then we show mediation of undirected messages asapplication of use of ontology in Section 3. While we assume a single ontology until
Section 3, we introduce aspect as component of ontology and de ne ontology as
structure of aspects in Section 4. This de nition allows us co-existence of multiple
ontologies. We also de ne relationship between aspects, and show how representation in an aspect can be translated into representation in other aspect. Section 5
discusses some related work, and Section 6 summarizes the paper.
2. Ontology in the Knowledgeable Community

The Knowledgeable Community is an arti cial community of cooperating agents.
Each agent is supposed to represent some computing ability like problem solver
or database, or human interaction, or mixture of computing ability and humaninteraction.
As the rst step to realize the Knowledgeable Community, we are now working
on building KC0 system. Agents in the KC0 are required to have the following
abilities;2Communication ability Each agent can communicate to other agents. It is anindispensable requirement to be a member of the community. This requirement implies that each agent should share communication languages (a uniquelanguage is not required).
Declaration of its concept structure Each agent should declare its concept structure, because it enables other agents to guess what kind of concepts an agent
can deal with.
Declaration of its processing ability Each agent should declare what it can do
or at least what it is expected to do.
The rst requirement is realized by providing KQML[2] and KIF[4] as standard
protocols (actually KQML is mandatory, but KIF is recommended).
The second requirement (declaration of agents' concept structures) is realized bysharing ontology, i.e., each agent has part of ontology1 . Then other agents can guess
relation between itself and the other agent by comparing their part of ontology.
In KC0 , ontologies are built using frame ontology as meta-ontology, i.e., there
are classes, relations, and hierarchy of classes. Figure 1 shows ontology of travel
plan ontology used in our prototype system KC-Kansai.
In the Knowledgeable Community, we provide ontology server as manager of ontology and relationship between ontology and agents. Its main functions are(i) accepts a pair of an agent and a part of ontology used by the agent,(ii) keep ontology consistent,(iii) reply part of ontology associated to requested ontology,(iv) reply part of ontology associated to requested agents,(v) reply a set of agents associated to requested ontology.
3. Agent Communication with a Single Ontology

In this section, we assume a single ontology. Since it means that all agents agree
usage of all concepts in the ontology, there are no confusion to interpret messages,i.e., only a single interpretation exists for every message.
Then the next problem is mediating messages to appropriate agents. Even if allagents agree to use a single ontology, they can not interpret all of the ontology but
can only deal with some part of the ontology. Every message should be processedby agents whose ontology matches ontology of the message. On the other hand,since it is not mandatory for agents to have knowledge on other agents, it is naturalfor agents to make messages whose recipients are not determined. Therefore it is
an important task for the Knowledgeable Community to mediate such undirected
messages.
1 Ontology can be multiple as long as they are connected with each other. We will discuss thisissue in Section 4

3

GEOGRAPHICAL-THING
PLACE
name NAME-STRING
display-point LOCATION-POINT
Geography Agentfeaturenearest-station STATIONLOCATION-POINT
x-location
y-location

AREA
border setof BOUNDARY-LINE
PREFECTURE

BOUNDARY-LINEboundary-lines listof LOCATION-POINT
boundary-kindPOINTlocation LOCATION-POINT

CITY

COURSElines listof LOCATION-POINT

RIVER
BUILDING
name NAME-STRING
address ADDRESS-STRING
telephone TELEPHONE-NUMBER

LAKE
PARK
Park Agent

TRAFFIC-LINE
ROAD
BUS-LINE

Traffic AgentSTATION
traffic-facility

Railway Agent

RAILROADNARAKOTU-BUS-LINE
KINTETSU-RAILROAD

BUS-STOP
Railway Agent

JR-RAILROADRAILROAD-STATIONJR Agent
ACCOMMODATIONKINTETSU-STATION
Kintetsu Agent

JR-STATIONJR Agent

UNIVERSITY

Temple Agent GroupTEMPLEVISIT-PLACE
Sight-seeing Agentname NAME-STRING
telephone TELEPHONE-NUMBER
fee AMOUNT-OF-MONEY
admission-time TIME-TO-TIME
required-time TIME-LENGTH
how-to-access ACCESS-INFO

DORMITORY
UNIVERSITY-HALL
TEMPLE
name NAME-STRING
telephone TELEPHONE-NUMBER
fee AMOUNT-OF-MONEY
admission-time TIME-TO-TIME
required-time TIME-LENGTH
how-to-access ACCESS-INFO

Park Agent

SPOT

Todaiji-temple Agent

LAKE

Akishino-temple
Agent
...
. . . Temple Agent GroupPARK

Figure 1: An Example of Ontology

4

Kintetsu Agent

Hotel Agent
HOTEL
name NAME-STRING
address ADDRESS-STRING
telephone TELEPHONE-NUMBER
room-number NUMBER
capacity NUMBER
single-room-number NUMBER
twin-room-number NUMBER
single-room-fee AMOUNT-OF-MONEY
twin-room-fee AMOUNT-OF-MONEY
check-in-time TIME-POINT
check-out-time TIME-POINT
perking-fee AMOUNT-OF-MONEY
parking-limit NUMBER
morning-fee AMOUNT-OF-MONEY
dinner-fee AMOUNT-OF-MONEY
how-to-access ACCESS-INFO
special-feature STRING
nearest-station STATION
access-time TIME-LENGTH
access-means TRAFFIC-MEANS

facilitator
2. forward(=1)
8. forward(=6)
3. query suitable agents

ontology server

7. forward(=6)
4. list of possible agents

mediator
1. request

6. reply

5. request(=1)
6. reply

5. request(=1)

5. request(=1)
6. replysource agent

target agent

target agent

target agent

Figure 2: Mediation by Ontology
Since all agents are mapped into the ontology, we can determine appropriate
agents for undirected messages by using the ontology. The ontology server knows
ontology and relations between ontology and agents. It can reply candidates of
agents associated to concepts in the given message by searching concept hierarchy
for feasible agents.

Mediation Procedure The mediation is performed by the facilitator[14, 1], me-diator and the ontology server (see Figure 2).
All message transmission is made through facilitators. When the recipient is
speci ed, the facilitator will just pass the message to the recipient. Otherwise, thefacilitator will forward the message to the mediating agent (we call mediator) which
will determine the recipient based on knowledge about agents and ontology.
The mediator can determine feasible recipient agents by consulting the ontology
server, and send out the message to each of the feasible recipient agents repeatedly
until the successful replying message is returned.
The ontology server analyzes received messages to suggest feasible agents. First
it detects main classes of messages by checking predicates in contents of messages.
Then, it searches agents associated to main classes, then subclasses of them, andsuperclasses of them in order. Finally the mediator returns a list of candidate agentsassociated to the given message.
Figure 3. shows how a messages is forwarded for mediation. They are represented
in KIF (Knowledge Interchange Format)[3, 4] and KQML (Knowledge Query andManipulation Language)[2]. Message numbers in this gure are corresponding tothose in Figure 2. Note that the content of the original message is not unchanged,
but that only KQML performative types are changed in the process.
4. Multiple Aspects

In this section, we introduce aspect as component of ontology in order to realize
multiple ontologies.
5

(ask-one :content (and (hotel ?x)(name ?x "Nara-hotel")(nearest-station ?x ?y)):aspect ?y :language KIF)

(broker-all :content(ask-one :content (and (hotel ?x)(name ?x "Nara-hotel")(nearest-station ?x ?y)):aspect ?y :language KIF)
:reply-with q1)(a) Message 1(b) Message 2(recommend-all :content(ask-one :content (and (hotel ?x)(name ?x "Nara-hotel")(nearest-station ?x ?y)):aspect ?y :language KIF)
:reply-with q1)(ask-one :content (and (hotel ?x)(name ?x "Nara-hotel")(nearest-station ?x ?y)):receiver sight-seeing-agent:aspect ?y :language KIF)
:reply-with q1)(c) Message 3(d) Message 4

Figure 3: Forwarded Massages for Mediation

4.1. Aspects
In the previous section, we assume a single ontology. But it is not easy to build
large ontologies in fact. One of the reasons is that we often confuse concepts fromdi erent conceptualization when we try to build large ontologies.
For example, Figure 4 shows how concept \temple" is modeled di erently. One
may think temple as item in textbook of history, so \founded year", \sect", \historical events", and so on are used with \temple". One may think temple as place
for religion, so \doctrine", \parishioners", \branch temples", \chief priest" are concepts related to \temple". Of course, some conecpts are appeared in more than one
aspect like \name" and \location".
Mixture of concepts from di erent conceptualization often confuse us. Somedi erent concepts in di erent aspects may denote the same fact, for example \chief
priest" in aspect-for-temple-as-religious-place and \representative" in aspect-fortemple-as-public-organization may be the same. On the other hand, concepts usedin more than one aspect may denote di erent facts, for example \name" is used incommon, but its meaning is either religious name or historical name or ocial namewith according to aspect it is used. In such cases, the more concepts are collected,
the less clear are meanings of concepts.
Each concept is meaningful if and only if concept is used in proper way, that is,concept is used with concepts which come from the same conceptualization. We callthis unit aspect. We can say that an aspect is a consistent view for conceptualization.
Then ontology can be composed of some aspects.
We use various aspects, for example in engineering we use aspects like dynamics
aspects, kinematics aspects. To model the commonsense world of traveling, we may
use aspects like trac aspect or geography aspect.
There are two issues on aspect. One issue is what should be in aspect. Aspectshould have a vocabulary to describe phenomena in its domain. It should also6

TempleTemplechief priest

founded year
sectfounder

Temple historical eventsstyle of architecture

namehistorical value

location

branch temples
parishioners
doctrinearea

events of the year

representative

Templecultural assets

Figure 4: What is Ontology for Temple?
have a theory which associates concepts in its vocabulary. And the theory should
be consistent. In the other words, aspect is what we can conceptualize the world
without inconsistency2.
The other issue is how to compose aspects from other aspects.
We provide two types of basic connections among aspects. One is combination
aspect. This is just integration of aspects for di erent domains. For example,
one of the ways to build aspect-for-travel is to combine aspect-for-hotel and aspectfor-trac. In this case, concepts like \railway" which is in aspect-for-trac do notexist in aspect-for-hotel, because domain of modeling is di erent from each other. In
aspect-for-travel, concepts like \tour" are de ned using concepts from both aspects.
The other is category aspect. This is collection of aspects which share domains
but come from di erent conceptualization.
When a temple is modeled di erently we have just shown, we can assume there
is a category-aspect-for-temple. This aspect has some speci c aspects for temple
like aspect-for-temple-as-history-textbook and aspect-for-temple-as-religious-place ascomponent. Since component aspects share domains, it is reasonable (but not
mandatory) that there are relations among concepts in di erent component aspects.
Such relations are contents of the category aspects.
Since combination and category aspects can use other combination or category
aspects as component, we can construct large aspects from relatively small aspects.
We call such relatively large aspects as ontologies.
Figure 5 is an example how di erent ontologies can be de ned with sharing
aspects.
2 The other important content of aspect is, because aspect is abstraction of the target
world by some
. But intention itself is seldom written explicitly. We have tried torepresent intention of aspect of object modeling as[16].
intention

intentionfunction7

sight-seeing tour

sight-seeing hotel

sight-seeing point

charge withtwo meals

templehotel
itinerary

hotel chargeplacecharge withoutmealbusiness hotelbusiness tour

: category aspect: combination aspect

Figure 5: Multiple and Sharable Ontologies

8Two aspects can share aspects in their consititution, or be connected by category
aspects. We call these two aspects are compatible. That is, they may share ortransfer information to each other.
In the following sections, we rst describe aspect in a logical framework, andthen in a programming framework. Finally, we show how communication between
di erent aspects can be established.

4.2. A Logical Formalization of Aspect
Since our basic policy is to de ne aspects constructively, we start from de ning
atomic aspect and then de ne more complicated aspects.
We assume a rst-order language LE , and predicate aspect of LE . L is a rstorder language which is the same to LE except predicate aspect is removed.
4.2.1. Aspect Theory
First we de ne atomic aspect, aspect which does not depend on any other aspects.
De nition 1 An atomic aspect A with a consistent theory T (A) of a rst language
L and with a unique name aspect(A) satis es the following formula.
aspect(A) $ T (A)aspect(A) is an identi er of aspect which has a similar e ect to the second argumentof predicate ist in Ref. [9], and a modal operator in Ref. [11].
Then, we introduce LmE and Lm as modal extension of LE and L respectively.
Here we assume domain of individuals are always the same regardless of possible
worlds. In the following discussion, we assume this language LmE .
A combination aspect is simply de ned as follows.
De nition 2 T (ACOM (A1 ;::: ;An)), aspect theory of combination aspect for aspect A1 ;::: ;An , is a consitent theory de ned as follows;
T (ACOM (A1 ;:: :;An )) = aspect(A1 ) ^ ::: ^ aspect(An) ^ I (A1 ;:::; An)
where I (A1 ;:: :;An ) is a set of formula of language Lm [faspect(A1 );:: :;aspect(An )g,which means inter-aspect theory among A1 ;:: :An .
Apparently, it would cause unexpected results if some of aspect theories sharepredicates. We ideally assume that if the same predicates appear in some aspects,
there should share some concepts in them3. In such cases, it should be represented
by category aspects.
On the other hand, a category aspect is more complicated because it does not
imply that both of aspect theories are always true. In order to represent a category
aspect, we introduce modal operators 2 (necessity) and 3 (possibility) and assume
S4 modal system. Then a category aspect for two aspects is de ne as follows.
3 Of course, it is too strict in practise. In programming approach we allows the same predicatesin di erent meanings.

9

De nition 3 T (ACAT (A1 ;:: :;An )), aspect theory of category aspect for aspect
A1 ;:: :;An, is a consistent theory de ned as follows;
T (ACAT (A1 ;: ::;An)) = 3aspect(A1 ) ^ ::: ^ 3aspect(An) ^ I (A1; :::; An)
where I (A1 ;:: :;An ) is a set of formula of language Lm [faspect(A1 );:: :;aspect(An )g,which means inter-aspect theory among A1 ;:: :An .
I (A1 ;: ::;An) is again an inter-aspect theory among A1 ; :::;A2 .

Since we can use combination and category aspects as component of aspects, we
can de ne hierarchical aspects using combination and category aspects. In otherwords, An aspect A is represented A = f (A1 ;: ::;An ) where A1; :::; An are aspects
and function f is composed by ACOM and ACAT .

4.2.2. Inter-aspect Relations
Then we can de ne relations between aspect, inclusion and strict inclusion.
De nition 4 An aspect A is included in aspect B if and only if aspect(B ) `3aspect(A).
De nition 5 An aspect A is strictly included in aspect B if and only if aspect(B ) `aspect(A).
Note that there are two reasons for these relations, i.e., one is composition or category relations among aspects and the other is logical implication. Strict inclusion
corresponds weaker-than relation in Ref. [11].
Similarly, relations between formula and aspect are de ned.
De nition 6 A formula f is included in aspect A if and only if aspect(A) ` 3f .
De nition 7 A formula f is strictly included in aspect A if and only if aspect(A) `f.
These de nitions mean that there are two types of interpretation of aspect theories. One is represented as strict inclusion which is traditional way of inter-theory
relation. The other is inclusion which takes account of all alternatives of theories. By having two types of interpretation, we can deal with both strictly a single
representation and variety of representations.
Theorem 1 If aspect A is strictly included in aspect B , then A is included in aspect
B.
Another relation is compatibility which is criteria two aspects are related toeach other4 .
De nition 8 Aspect A and B is compatible if one of the following condition issatis ed;4

Termcompatible

is borrowed from Ref.[7].

10(i) A and B is the same aspect,(ii) there exists aspect C which has both A and B as componet,(iii) there exist compatible aspect A and B are componets of A and B respectively.
De nition 9 Formula f is compatible with aspect A if and only if there exists
aspect B in which f is and B is compatible with A.
Compatibility assure neither consistency nor translatability between aspect theories, but denotes existence of connection between aspects.
004.2.3. Inter-aspect Theory: Aspect-level Relations
Characteristics of category aspect varies according to its inter-aspect theory. One
type of category aspect is compact.
De nition 10 If I (A1 ;::: ;An) of a category aspect satis es the following formula,
it is called compact category.
I (A1 ;::: ;An) ` 2(aspect(A1 ) _ ::: _ aspect(An))
Intuitively, all of theories can be true and either of them should be true at any timein compact category aspects. It means that aspect A1 ;:::; An is sucient to de ne
the category.
Theorem 2 If a compact category aspect A which has exactly two componets A1
and A2 , and A1 is strictly included in A2 , then A1 is strictly included in A.
Actually relation between A and A1 is stronger, i.e., aspect(A) ` 2aspect(A1 ). We
can say that any formula in A1 is rigid in A by de ning rigidness as follows;
De nition 11 A formula f is rigid in aspect A if and only if aspect(A) ` 2f .
Theorem 3 If a compact category aspect A which has exactly two componets A1
and A2 and A1 is strictly included in A2 , then any formula which satis es A1 is
rigid in A.
Rigidness in ontology is discussed in Ref.[7].
The other type of category aspect is exclusive.
De nition 12 If I (A1 ;::: ;An) of a category aspect satis es the following formula,
it is called exclusive category.

I (A1 ; :::;An) `^^ :3(aspect(Ak) ^ aspect(Al))

k=1;:::;n 1 l=k+1;:::;n011

4.2.4. Inter-aspect Theory: Object-level Relations
We also describe relations between formulae in di erent componet aspects by interaspect theories. We call such relations object-level relations, while we call relations
described in Section 3.3 aspect-level relations. For example, p in aspect A should
imply q in aspect B can be written as follows;3(aspect(A) ^ p) ! 2(aspect(B ) ! q)
More generally a rule \If f1 in A1 is true, then f2 in A2 should be true" is describedas;3(aspect(A1 ) ^ f1 ) ! 2(aspect(A2 ) ! f2 )If p in A and q in B should be equivalent to each other, then(3(aspect(A) ^ p) ! 2(aspect(B) ! q)) ^ (3(aspect(B ) ^ q) ! 2(aspect(A) ! p))
Theorem 4 If a proposition p is equivalent in all componet aspects of a compact
category aspect A, p is rigid in A.

4.3. ASPECTOL: A Language for Aspects
Here we show a language of aspects called ASPECTOL(Aspect-based Ontology Description Language), which is an extension of Ontolingua-like ontology de nition(see [5]). Syntax of ASPECTOL is shown in Figure 6.
De nition of an atomic aspect consists of declaration of aspect name and de nitions of classes, relations, and functions. Figure 7(d)(e) are examples of atomic
aspects. De nition of a combination aspect is de nition of an atomic aspect anddeclaration of including aspects (see Figure 7(b)(c))5 . De nition of a category aspect consists of a set of translation formulae. A translation formula is de ned
between two aspects in a category aspect, and is de ned as define-translation
which describes logical relation between concepts in both aspects (see Figure 7(a)).
It can represent a class of direct relations between formulae in two aspects which wehave discussed in the previous section. A left hand side of an implication formula
is a formula of the aspect of the rst argument and a right hand side is a formulaof of the aspect of the second argument.
4.4. Translation among Aspects for Agent Communication
Our approach to deal with the inter-aspect relations is to translate messages among
agents with di erent aspects6 . Translation formulae are used by a translation agent
which converts information from one aspect to the other. As we mentioned, if there
is only a single ontology, there are no ambiguity to interpret messages. Since we
now allow multiple aspects, it is needed to specify aspects the message is basedon and sometimes to translate messages from an aspect to the other. Therefore,a translation agent is inserted between the mediator and target agents (see Figure8). Mediation is performed with almost the same way to a single ontology. The
di erence is that a step to select aspects is inserted to the procedure.
De nition of classes should not be written directly in compination aspect but be in including
aspects. It is just for programming convention.
6 We discussed more direct use of multiple aspects in Ref. [15]512(de ne-category-aspect aspect-name(:use componet-aspct1, ...)(:category-type category-type)(:rename (aspect!predicate . new-name) ...)(de ne-translation aspect-name(=atmoic-formula1 atmoic-formula2)((:query-procedure nil or t
:inform-procedure nil or t

(de ne-aspect aspect-nameOntoligua de nitions are here

)

...

>

(a) atomic aspecttranslation-rule

...
))
...
)
(de ne-translation ...)...

(de ne-aspect aspect-name(:use componet-aspct1, ...)(:rename (aspect!predicate . new-name) ...))

Ontoligua de nitions are here...

)(b) combination aspect

Ontoligua de nitions are here(c) category aspect
Figure 6: De nition of aspect

There are two types of messages, i.e., one is informative message as tell KQML
performative type, and the other is query message as ask-one KQML performative.
Translation for informative messages is just to translate the given messages, whiletranslation for query messages is to translate answer messages in addition to thegiven messages (see Figure 9).
4.4.1. Function of Translation AgentsThe basic function of a translation agent is as follows;(i) The translation agent receives a message from an agent (source agent) to atarget agent via the mediator.
(ii) It analyzes the message and retrieves translation formulae from the ontology
server.
(iii) It composes a new message written in the aspect of the target agent by consulting the translation formulae, and sends the target agent. If the message
is a informative one, the procedure ends here.
(iv) It waits and receives an answer message from the target agent.
(v) It composes an answer message written in the aspect of the source agent
by consulting the same translation formulae used to compose the original
message, and sends it to the source agent.
During the procedure, the translation agent behaves that it can understand a
category aspect which includes both aspects in the source and the target agents.

13

(define-category-aspect FEE(fee/a fee/b))(define-translation FEE(=> (fee/A!fee ?fee)(fee/B!fee ?fee))((:query-precedence nil:inform-precedence nil(-> (fee-value ?fee ?value)(and (adult ?fee ?fee1)(student ?fee ?fee2)(fee-value ?fee1 ?value)(fee-value ?fee2 ?value))))))(define-aspect temple/B (TEMPLE)(:use fee/B))(in-aspect temple/B)(define-class temple (?x):def (and (has-one ?x name)(has-one ?x fee)))(define-function name (?x):-> ?n:def (and (temple ?x) (string ?n)))(define-function temple-fee (?x):-> ?f:def (and (temple ?x) (fee ?f)))(c) Combination Aspect temple/B(define-translation FEE(=> (fee/B!fee ?f) (fee/A!fee ?f))((:query-precedence nil:inform-precedence nil(-> (and (adult ?fee ?fee1)(student ?fee ?fee2)(fee-value ?fee1 ?value1)(fee-value ?fee2 ?value2)(max ?value1 ?value2?max-value))(fee-value ?fee ?max-value))))((:query-precedence nil:inform-precedence nil(-> (and (adult ?fee ?fee1)(fee-value ?fee1 ?value))(fee-value ?fee ?value))))((:query-precedence nil:inform-precedence nil(-> (and (student ?fee ?fee2)(fee-value ?fee2 ?value))(fee-value ?fee ?value)))))(define-aspect fee/A (FEE))(in-aspect fee/A)(define-class fee (?fee):def (has-one ?fee fee-value))(define-function fee-value (?fee):-> ?val:def (and (fee ?fee) (natural ?val)))(d) Atomic Aspect fee/A(define-aspect fee/B (FEE))(in-aspect fee/B)(define-class fee (?fee):def (and (has-one ?fee adult)(has-one ?fee student)))(define-class fee-elm (?elm):def (has-one ?elm fee-value))(define-function fee-value (?elm):-> ?val:def (and (fee-elm ?elm)(natural ?val)))(define-function adult (?fee):-> ?elm:def (and (fee ?fee) (fee-elm ?elm)))(define-function student (?fee):-> ?elm:def (and (fee ?fee) (fee-elm ?elm)))(define-function make-fee (?elm1 ?elm2):-> ?fee:def (and (fee-elm ?elm1)(fee-elm ?elm2)(fee ?fee) (adult ?fee ?elm1)(student ?fee ?elm2)))(define-function make-fee-elm (?val):-> ?elm:def (and (natural ?val)(fee-elm ?elm)))(a) Category Aspect fee(define-aspect temple/A (TEMPLE)(:use fee/A))(in-aspect temple/A)(define-class temple (?x):def (and (has-one ?x name)(has-one ?x fee)))(define-function name (?x):-> ?n:def (and (temple ?x) (string ?n)))(define-function temple-fee (?x):-> ?f:def (and (temple ?x) (fee ?f)))(b) Combination Aspect temple/A(e) Atomic Aspect fee/B

Figure 7: Examples of De nition of Aspect
14facilitator
ontology server
forwarding
consulting
forwarding
forwarding

mediator

mediator

forwarding

source agent

target agent

Figure 8: A Translation Agent in the Knowledgeable Community

Aspect A

SourceAgent

an informative
message withaspect A

Tranlation
Agent

an informative
message withaspect B

Aspect B
Targent
Agent(a) Translation of a Informative Message
Aspect A
SourceAgent

Aspect Ba query message
with aspect A

Tranlation
Agenta query message
with aspect B

Targent
Agent

an answer message
with aspect B

an answer message
with aspect A(b) Translation of a Query Message

Figure 9: Agent Communication with Multiple Aspects

15

4.4.2. Translation Procedure
The translation agent analyzes the given message based on the ontology and translation formulae among aspects.
Finding category aspects First, it analyzes the aspect of the given message andthe aspect of the target agent to nd the category aspects to join them. It
collects all including aspects in these aspects by tracing include relations.
An aspect is a category aspect to join them if it contains both an aspect in
the included aspects of the message's aspect and an aspect in included aspectof the target agent's aspect. Then it retrieves translation formulae in thesecategory aspects.
Identifying classes in the message The translation agent analyzes the message
and identi es a class of each term in it. If class predicates (unary predicates)
are used, classes of terms of their arguments are identi ed. Otherwise, classesof terms are identi ed by consulting de nition of predicates and functions.
Then it adds class literals for all terms to the message.
Applying translation formulae The message is modi ed by applying appropriate translation formulae. In case of informative messages, if a left hand sideof a formula can match the message, the matched part of the message is replaced by the right hand side of the formula. In case of query messages, righthand sides of the formulae are applied. Binding of terms are preserved fortranslation of the answer message.
Removing unnecessary literals Literals which are not included in the target
agent's aspect are removed.
Figure 11 shows how translation is applied to messages. Here we use aspects
shown Figure 7 and two agent temple/A and temple/B use temple/A and temple/B
aspects respectively. Then suppose that temple/B agent asks temple/A agent adultfee of the temple although temple/A agent believes that fee exists but that adultfee does not (see Figure 10).
In this example, a query message with aspect temple/B is expected to betranslated into a message with aspect temple/A (see Figure 11(a)). Since aspect
temple/B and temple/A use aspect fee/B and fee/A respectively (see Figure 7(d)(e)), a category aspect fee including both aspects is retrieved (see Figure 7(a)).
On the other hand, class de nitions of terms are added to the message (see Figure11(b)). The rst translation formula (Line 6 to 10 in Figure 7(a)) is applied to themessage and translated into one in Figure 11(c). Finally unnecessary literals are
removed (see Figure 11(d)).
5. Related Work

Gruber proposed Ontolingua and discuss how ontology should be written [6]. His
claim is that a good ontology can yield various formats in representation. The
idea behind it is that there is a canonical conceptualization. For example, concept
timepoint can be used to represent both year/month/day and \year season". But
16

Tell me adult fee of the temple?
Fee:

Fee: $xx.xx

Adult: $yy.yy
student: $zz.zz

TEMPLE/A agent

TEMPLE/B agent

Aspects
Aspect temple/A

Aspect temple/B

Aspect fee: atomic aspect: category aspect

Aspect fee/A

Aspect fee/B: combination aspect

Figure 10: An Example of Communication between Agents(temple ?x)(name ?x ?y)(fee ?x ?f)(adult ?f ?f1)
(student ?f ?f2)
(fee-value ?f1 ?v1)
(fee-value ?f2 ?v2)(< ?v1 500)(< ?v2 400)

(temple ?x)(name ?x ?y)(fee ?x ?f)(adult ?f ?f1)
(student ?f ?f2)
(fee-value ?f1 ?v1)
(fee-value ?f2 ?v2)(< ?v1 500)(< ?v2 400)
(string ?y)(temple-fee ?f)(temple-fee-elm?f1)(temple-fee-elm?f2)(temple ?x)(name ?x ?y)(fee ?x ?fee)(fee-value ?fee?value)(temple ?x)(name ?x ?y)(fee ?x ?fee)(fee-value ?fee?value)(< ?value 500)(< ?value 400)
(string ?y)(temple-fee ?fee)(temple-fee-elm?fee1)(temple-fee-elm?fee2)(< ?value 500)(< ?value 400)
(string ?y)(temple-fee ?fee)(a) The given (b) Adding class (c) Applying a (d) Removing unmessage
necessary litde nitionstranslation
erals
formulaFigure 11: An Example of Translation17

we do not believe that there always exists such canonical conceptualization and also
it is a great e ort to x such conceptualization even if it exists. On the other hand,since we permit various ways of conceptualization of a single phenomena, we canwrite ontologies more naturally. In our approach, a phenomena is conceptualized
as a network of some aspects each of which represents a way of conceptualization.
Guha proposed idea of context to deal with multiple theories [9]. He introduced\(ist name-of-context formula)" predicate to denote relationship among context.
This predicate corresponds translation formulae in our approach. Although heshowed several ways to use this predicates in logical inference, there is no uni ed
way to deal with it. It is also a burden to embed the predicate in logical inference.
We adopt translation approach in which interpretation of translation formulae are
separated and invoked when they are needed. This approach is applicable if agent
is poor in logical inference or even if non-logical.
6. Conclusion and Future WorkWe discussed how ontology plays roles in building a distributed and heterogeneous
knowledge-base system. Ontology is one of the minimum requirements for eachknowledge-base system to join the community of knowledge-base system.
Ontology for a heterogeneous knowledge-base system should be heterogeneous
because description according to perspective of each system should be allowed.
Since we modeled ontology as combination of aspects each of which can represent a
way of concepualization, our model of ontology allows heterogeneous and multiple
descriptions for phenomenon in the world. Therefore it is appropriate as ontology
of a heterogeneous knowledge-base system.
We also showed translation of messages as a way of interpreting multiple aspects.
Combination of mediation and translation of messages makes it easy to build eachcooprating system because it is required to have less knowledge on other systems.
Although our framework have these appropriate features for large-scale heterogeneous knowledge-base systems, the current system is not sucient to realize exible
comminication among various heterogeneous agents In particular some issues areleft to solve in mediation and translation. For example, message decomposition isneeded to interpret complex messages. Description of translation rules should be
improved because it requires much e orts to write rules. We need dynamic generation of rules (for example by learning) to realize exible translation. We areplanning to solve these problems in next work.
References[1] M. R. Cutkosky, R. S. Engelmore, R. E. Fikes, M. R. Genesereth, T. R. Gruber,
W. S. Mark, J. M. Tenenbaum, and J. C. Weber. PACT: An experiment in
integrating concurrent engineering systems. IEEE Computer, January 1993:28{
38, 1993.
[2] T. Finin, D. McKay, R. Fritzson, and R. McEntire. KQML: An information andknowledge exchange protocol. In K. Fuchi and T. Yokoi, editors, Knowledge
Building and Knowledge Sharing. Ohmsha and IOS Press, 1994.
18

[3] M. Genesereth. Knowledge interchange format. In Principles of Knowledge
Representation and Reasoning: Proceedings of the Second International Conference, pages 599{600. Morgan Kaufmann, 1991.
[4] M. Genesereth and R. E. Fikes. Knowledge interchange format, version 3.0
reference manual. Technical Report Technical Report Logic-92-1, Computer
Science Department, Stanford University, June 1992.
[5] T. R. Gruber. Ontolingua: A mechanism to support portable ontologies. Technical Report KSL 91-66, Stanford University, Knowledge Systems Laboratory,
1992.
[6] T. R. Gruber. Toward principles for the design of ontologies used for knowledge
sharing. Technical Report KSL 93-4, Knowledge Systems Laboratory, Stanford
University, 1993.
[7] N. Guarion, M. Carrara, and P. Giaretta. Formalizing ontological commitments. In Proceedings of AAAI-94, pages 560{567, 1994.
[8] R. V. Guha. Representation of defaults in Cyc. In Proc. AAAI-90, pages
608{614, 1990.
[9] R. V. Guha. Contexts: A Formalization and Some Applications. PhD thesis,
Department of Computer Science, Stadford University, Stanford, CA, 1991.
(Available as Report No. STAN-CS-91-1399-Thesis).
[10] R. V. Guha and D. B. Lenat. Cyc: A midterm report. AI magazine, pages
32{59, Fall 1990.
[11] P. P. Nayak. Representing multiple theories. In Proceedings of AAAI-94, pages
1154{1160, 1994.
[12] T. Nishida. Towards integration of heterogeneous knowledge for highly autonomous analysis of dynamical systems | preliminary report from the PSX
project. Journal of Information Processing, 15(3):350{363, 1992.
[13] T. Nishida and H. Takeda. Towards the knowledgeable community. In Proceedings of International Conference on Building and Sharing of Very Large-Scale
Knowledge bases '93, pages 157{166, Tokyo, 1993. Japan Information Processing Development Center.
[14] R. S. Patil, R. E. Fikes, P. F. Patel-Schneider, D. McKay, T. Finin, T. R. Gruber, and R. Neches. The DARPA knowledge sharing e ort: Progress report.
In C. Rich, B. Nebel, and W. Swartout, editors, Principles of Knowledge Representation and Reasoning: Proceedings of the Third International Conference.
Morgan Kaufmann, 1992.
[15] H. Takeda and T. Nishida. Integration of aspects in design processes. In J. S.
Gero and F. Sudweeks, editors, Ariti cial Intelligence in Design '94, pages
309{326. Kluwer Academic Publishers, 1994.
19

[16] Y. Umeda, H. Takeda, T. Tomiyama, and Y. Yoshikawa. Function, behaviour,and structure. In J. Gero, editor, Applications of Arti cial Intelligence inEngineering V, volume 1, pages 177{194, Berlin, 1990. Springer-Verlag.

20