Ontology-supported Agent Communication
Hideaki Takeda, Kenji Iino, and Toyoaki Nishidaphone: +81-7437-2-5262, fax: +81-7437-2-5269

ftakeda, kenji-i, nishidag@is.aist-nara.ac.jp

Graduate School of Information Science, Nara Institute of Science and Technology
8916-5, Takayama, Ikoma, Nara 630-01, Japan

Abstract

Building ontology is one of key issues for knowledge
sharing which is important technology to realize largescale knowledge-base systems. In this paper, we propose a computational framework for constructive ontologies called aspect. We rst formalize aspect in a
logical framework and then de ne it as a programming
language.
Aspect is representation of conceptualization which
consists of a vocabulary and a theory, and ontologies
are built as composition of aspects. Two types of composition of aspects are provided, one is combination of
aspects which is just union of aspects, and the other iscategory of aspects which links di erent but domainsharing aspects. Using them, we can represent not
only relations among di erent aspects but also a setof aspects which either of them can be used if needed.
We show a logical formalization of aspect by using
modal logic. Category aspect is modeled using modal
operator 3. We also formalize characteristics for aspects like compatible and rigid which can be used as
criteria for ontology.
We also provide ASPECTOL, a programming language
for aspect by extending Ontolingua. We then showtranslation of messages as a way of interpreting multiple aspects. A translation agent can translate a message with some aspect to one with another aspect
by analyzing dependency of aspects. Mediation andtranslation of messages are important to build agentseasily and naturally because less knowledge on otheragents is requested for each agent.

Keywords:

knowledge representation, ontology,
knowledge-sharing, context, model-based easoning.

Introduction

Large scale Knowledge base (VLKB) is indispensable
to put AI theories to work in the real world. One
approach for VLKB is knowledge sharing approach inwhich technology to share knowledge is proposed instead of VLKB system itself like Cyc project. Technology to share knowledge is summarized as environments for communication among participating systems. There three types of protocol for their communication. The rst is a language to describe queries

for exchanging knowledge and information, which isrealized for example as KQML (Knowledge Query andManipulation Language)(Finin et al. 1994). The second is a language to describe syntax of those queries,
for which KIF (Knowledge Interchange Format)(Genesereth 1991; Genesereth and Fikes 1992) is proposed.
The third is a language to describe semantics of thosequeries, which is called common ontology and Ontolingua(Gruber 1992) is proposed for this purpose. There
are signi cant di erence between the rst two protocols and the last one, i.e., while the rst two protocols
are concerning syntactical aspect of messages and as
a result just de ning a format to communicate, thelast one is committing contents of messages and therefore we have to provide not only a format but also
ontologies themselves. Although building ontologies is
crucial part of knowledge sharing, technology to build
ontologies, in particular, large ontologies has not been
established yet.
In this paper, we focus on technology to build ontologies for knowledge sharing. We propose aspect which isrepresentation of conceptualization and ontologies canbe build by composing aspects. There are two typesof composition of aspects, one is combination of aspects which is just union of aspects, and the other iscategory of aspects which represents a set of aspects
for alternatives. By using these types of compositionof aspects, we can construct multiple ontologies which
can co-exist at the same time.
Building ontology is how to describe complicatedworlds in computer, and is recognized both in modelbased reasoning and context-based reasoning recently,
i.e, aspect corresponds model and context respectively.
In model-based reasoning (for example (Falkenhainerand Forbus 1991)), the problem is how to select or how
to integrate existing models. Since models are usually
given in advance in traditional mode-based approach,they do not care about how to construct models. In theother hand, research on context(McCarthy 1993)(Guha
1991), they emphasize dynamics of context in reasoning. Although they discuss how to describe relations
among context and how to lift rule to one context to theother, they do not mention how to prepare contexts. In

TempleTemplechief abbot

founded year
sectbranch temples

founder

Templeparishioners
doctrinehistorical eventsstyle of architecture
historical value
representative

events of the year

area

Templecultural assets

Figure 1: What is Ontology for Temple?
this paper, we discuss how to provide aspects, in particular constructively. To discuss consitituion of aspect
would imply relationship among aspects and reasoning
with aspects.
Our purpose is to propose a computational treatment for building ontologies based on aspect. It meansthat we should propose not only sound formalizationof aspect but also environment to write and use ontologies by aspect. For this purpose, the following sections
are organized as follows. We will rst explain what
is concept of aspect brie y in Section 2, then we willshow a logical foundation of aspect which is based onmodal logic in Section 3. In Section 4, we will propose a programming language ASPECTOL to describe
aspects. In Section 5, we will show translation of messages between aspects to demonstrate aspects are usedin knowledge-base systems. In Section 6, we will discuss other related work, and we will summarize thepaper in Section 7.

AspectAs we mentioned above, it is not easy task to build
large common ontologies. One of the reasons is that we
often confuse concepts from di erent conceptualization
when we try to build ontologies.
For example, Figure 1 shows how concept \temple"
is modeled di erently. One may think temple as itemin textbook of history, so founded year, sect, historicalevents, and so on are used with \temple". One may
think temple as place for religion, so doctrine, parishioners, branch temples, chief abbot are concepts related to \temple". Mixture of concepts from di erent
conceptualization often confuse us because the moreconcepts are collected, the less clear are meanings ofconcepts.
Each concept is meaningful if and only if concept

is used in proper way, that is, concept is used withconcepts which come from the same conceptualization.
We call this unit aspect. We can say that an aspect is aconsistent view for conceptualization. Then ontology
can be composed of some aspects.
We have and use various aspects, for example in engineering we use aspects like dynamics aspects, kinematics aspects. To model the commonsense world, we
may use aspects like trac aspect.
There are two issues on aspect. One issue is whatshould be in aspect. Aspect should have a vocabulary
to describe phenomena in its domain. It should also
have a theory which associates concepts in its vocabulary. And the theory should be consistent. In the otherwords, aspect is what we can conceptualize the world
without inconsistency.
The other issue is how to compose aspects from otheraspects.
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 aspect-for-trac. In this case, concepts like \railway" which is in aspect-for-trac do notexist in aspect-for-hotel, because domain of modelingis di erent from each other. In aspect-for-travel, concepts like \tour" are de ned using concepts from bothaspects.
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 justshown, we can assume there is a category-aspectfor-temple. This aspect has some speci c aspects
for temple like aspect-for-temple-as-history-textbook
and aspect-for-temple-as-religious-place as component.
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.
Two aspects can share aspects in their consititution,or be connected by category aspects. In such case, wecall these two aspects are compatible. That is, they
may share or transfer information to each other.
In the following sections, we rst describe aspect in a
logical framework, and then in a programming framework. Finally, we show how communication between
di erent aspects can be established.

A Logical Formalization of Aspect

Since our basic policy is to de ne aspects constructively, we start from de ning atomic aspect and thende ne more complicated aspects.

We assume a rst-order language LE , and predicatename of LE . L is a rst-order language which is thesame to LE except predicate name is removed.

Aspect Theory

First we de ne atomic aspect, aspect which does notdepend on any other aspects.

De nition 1 An atomic aspect A has a consistenttheory T (A) of aname name(A).

rst language L and has a unique

For convenience of discussion, we de ne T 0 (A) of LE
as follows;
T 0(A) = T (A) ^ name(A)
name(A) works as identi er of aspect which has a similar e ect to the second argument of predicate ist
in Ref. (Guha 1991), and a modal operator in Ref.
(Nayak 1994).
Then, we introduce Lm
E as modal extension of LE .
Here we assume domain of individuals are always thesame regardless of possible worlds. In the following
discussion, we assume this language Lm
E.
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 as follows;

T (ACOM (A1 ; : : : ; An )) =T (A1 ) ^ : : : ^ T (An ) ^ I (A1 ; : : : ; An )00

And it must be consitent.

I (A1 ; : : : ; An ) is an inter-aspect theory among
A1; : : : An . It can be true.

Apparently, it would cause unexpected results if
some of aspect theories share predicates. We ideallyassume that if the same predicates appear in some aspects, there should share some concepts in them. 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 and 3
and assume S4 modal system. Then a category aspect
for two aspects is de ne as follows.
De nition 3 T (ACAT (A1 ; : : : ; An)), aspect theory of
category aspect for aspect A1 ; : : : ; An , is as follows;

T (ACAT (A1; : : : ; An )) =3T (A1 ) ^ : : : ^ 3T (An ) ^ I (A1 ; : : : ; An )00

And it must be consitent.

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 .

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 T 0 (B ) `3T (A).
0

De nition 5 An aspect A is strictly included in
aspect B if and only if T 0 (B ) ` T 0 (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. (Nayak 1994).
Similarly, relations between formula and aspect arede ned.

De nition 6

A formula f is included in aspect A if
and only if T (A) ` f .

3

De nition 7 A formula f is strictly included in
aspect A if and only if T (A) ` f .

These de nitions mean that there are two types ofinterpretation of aspect theories. One is represented asstrict 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 ofinterpretation, 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 .
Theorem 2 If aspect Ai is included in aspect A, thenA = f (A1; : : : ; Ai ; : : : ; An ), where function f is composed from ACOM and ACAT .
Another relation is compatibility which is criteria
two aspects are related to each other.

De nition 8 Aspect A and B is compatible if A

and B is the same aspect or there exists aspect C which
has both A and B as componet or there exist compatible aspect A0 and B 0 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.

Inter-aspect Theory: Aspect-level
RelationsCharacteristics of category aspect varies according to
its inter-aspect theory. One type of category aspect iscompact.
De nition 10 If I (A1 ; : : : ; An) of a category aspect satis es the following formula,compact category .

it is called

I (A1 ; : : : ; An ) ` 2(T (A1 ) _ : : : _ T (An ))00Intuitively, all of theories can be true and either ofthem should be true at any time in compact category
aspects. It means that aspect A1 ; : : : ; An is sucient
to de ne the category.

Theorem 3

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.,
T 0 (A) ` 2T 0 (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
2f .
Theorem 4 If a compact category aspect A which has
only if T (A) `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.(Guarion etal. 1994).
The other type of category aspect is exclusive.
De nition 12 If I (A1 ; : : : ; An) of a category aspect satis es the following formula,
exclusive category .

I (A1 ; : : : ; An ) `^^k=1;:::;n 1 l=k+1;:::;nit is called:3(T 0 (Ak )^T 0 (Al ))0

Theorem 5 Suppose a exclusive category aspect A

and its componet aspects A1 ; : : : ; Ai ; : : : ; An . If Ai is
included in A, thenT (A) ^
0

^ 2:name(Ak) ` T (Ai)
0

k=i
6

It means that aspect Ai is strictly included in aspect A
if all name(Ak )(k 6= i) are always false.

Inter-aspect Theory: Object-level
Relations

We also describe relations between formulae in di erent componet aspects by inter-aspect theories. We callsuch 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(name(A) ^ p) ! 2(name(B ) ! q)
More generally a rule \If f1 in A1 is true, then f2 in
A2 should be true" is described as;3(name(A1 ) ^ f1 ) ! 2(name(A2 ) ! f2 )If p in A and q in B should be equivalent to eachother, then(3(name(A) ^ p) ! 2(name(B ) ! q ))^(3(name(B ) ^ q ) ! 2(name(A) ! p))

Theorem 6 If a proposition p is equivalent in all com-ponet aspects of a compact category aspect A, p is rigid
in A.

(define-category-aspect FEE(:use fee/a fee/b)(:category-type nil)(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))))))...
)(a) Category Aspect fee(define-aspect temple/A (TEMPLE)(:use fee/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

Figure 2: Examples of De nition of Aspect

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 (Gruber 1992)).
De nition of an atomic aspect consists of declarationof aspect name and de nitions of classes, relations, andfunctions.
De nition of a combination aspect includes the samestyle of de nition of an atomic aspect and declarationof component aspects and renaming of predicates. Figure 2(b) is an example of combination aspects.
De nition of a category aspect consists of a setof translation formulae, declaration of component aspects, declaration of renaming of predicates, and declaration of category type. A translation formula is dened between two component aspects in a category
aspect, and is de ned as define-translation which
describes logical relation between concepts in both aspects. Figure 2(a) is an example for it. A left handside of an implication formula is a formula of the aspect of the rst argument and a right hand side is aformula of of the aspect of the second argument. This
formulae correspond object-level descriptions in interaspect theories which we have discussed in Section 3.4.
Declaration of category type is currently either nil or
exclusive or compact which we have introduced in Section 3.3.

Translation between Aspects

In order to show how de ned aspects work as ontologies, we realized translation of formulae between di erent aspects. As we mentioned in Section 1, our interest

is to provide knowledge sharing technology, especiallywith heterogeneous agents (participating systems). It
is natural that di erent agents use di erent aspects.
In our de nition, if these aspects are compatible, theseagents may be able to exchange information, otherwisenot. We realized this exchanging procedure as translation agents in our agent-based knowledge-base system
Knowledgeable Community(Nishida and Takeda 1993).
There are two types of messages, i.e., one is informative message as tell KQML performative type, andthe other is query message as ask-one KQML performative. Translation for informative messages is justto translate the given messages, while translation forquery messages is to translate answer messages in addition to the given messages.
The translation agent analyzes the given message
based on the ontology and translation formulae among
aspects. The translation Procedure is as follows;

1. Finding category aspects First, it analyzes the

aspect of the given message and the aspect of the target agent to nd the category aspects to link them. It
collects all included aspects in these aspects by tracing use relations. An aspect is a category aspect tojoin them if it contains both one of included aspectsof the message's aspect and one of included aspects ofthe target agent's aspect. Then it retrieves translation
formulae in these category aspects.
2. Identifying classes in the message The translation agent analyzes the message and identi es a classof each term in it. If class predicates (unary predicates) are used, classes of terms of their arguments are
identi ed. Otherwise, classes of terms are identi ed byconsulting de nition of predicates and functions in the
aspect. Then it adds class literals for all terms to themessage.
3. Applying translation formulae The message ismodi ed by applying appropriate translation formulae.
In case of informative messages, if a left hand side ofa formula can match the message, the matched partof the message is replaced by the right hand side of
the formula. In case of query messages, right handsides of the formulae are applied. Binding of terms arepreserved for translation of the answer message.
4. Removing unnecessary literals Literals which
are not included in the target agent's aspect are removed.
During the procedure, the translation agent behavesas agent which can understand a category aspect linked
to both aspects in the source and the target agents.
Figure 3 shows how translation is applied tomessages. Two agent temple/A and temple/B
use temple/A and temple/B aspects respectively.
Temple/A aspect uses fee/A aspect, and temple/B aspect uses fee/A. Fee category aspect uses fee/A andfee/B aspects.
Then suppose that temple/B agent asks temple/A agent adult fee of the temple although tem-

(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)(a) The given message(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)(b) Adding class definitions(temple ?x)(name ?x ?y)(fee ?x ?fee)(fee-value ?fee ?value)(temple ?x)(name ?x ?y)(fee ?x ?fee)(fee-value ?fee ?value)(< ?v1 500)(< ?v2 400)
(string ?y)(temple-fee ?f)(temple-fee-elm ?f1)
(temple-fee-elm ?f2)(< ?v1 500)(< ?v2 400)
(string ?y)(temple-fee ?f)(c) Applying a translation formula(d) Removing unnecesary literals

Figure 3: An Example of Translation

ple/A agent believes that fee exists but that adult fee

does not.
In this example, a query message with aspect
temple/B is expected to be translated into a message
with aspect temple/A (see Figure 3(a)). As aspect
temple/B and temple/A use aspect fee/B and fee/A
respectively, a category aspect fee including both aspects is retrieved (see Figure 2(a)). On the other hand,class de nitions of terms are added to the message (seeFigure 3(b)). The rst translation formula (Line 8 to
12 in Figure 2(a)) is applied to the message and translated into one in Figure 3(c). Finally unnecessary literals are removed (see Figure 3(d)).

Related Work

Gruber proposed Ontolingua and discussed how ontology should be written (Gruber 1993). His claim is thata good ontology can yield various formats in representation. The idea behind it is that there is a canonicalconceptualization. For example, concept timepoint canbe used to represent both year/month/day and \yearseason". But we do not believe that there always exists such canonical conceptualization and also it is agreat e ort to x such conceptualization even if it exists. On the other hand, since we permit various waysof conceptualization of a single phenomenon, we canwrite ontologies more naturally. In our approach, aphenomenon is conceptualized as a network of some
aspects each of which represents a way of conceptual-ization.
Guha proposed idea of context to deal with multiple theories (Guha 1991). He introduced \(istname-of-context formula)" predicate to denote relationship among context. The advantage of this approach is ist is also a rst-class object. Since formulaeusing ist predicate and other normal predicates together are allowed, various complicated situations with
context can be represented. In our terminology, it isuseful to describe object-level relations of aspects. It isdicult to describe aspect-level relations, e.g., to compare theories or to compose theories. Another problem
is that his theory is unclear from a computational view.
Although he presented various ways of inferences with
context like default reasoning and temporal reasoning,each solution for them are isolated and not integrated.
It is because concept of context is too wide and vague
yet. On the other hand, aspect is clearly de ned in a
logical framework. And then a speci c language for a
speci c usage is proposed to realize part of such logical de nition, for example ASPECTOL is a language
for sharing ontologies with multiple agents. Therefore
its capability is clearly de ned.
Nayak(Nayak 1994) proposed another approach to
represent multiple theories. He also used modal logic
and each modal operator presents a micro theory. It
provides simple but logically sound relation among
theories. They discussed inter-theory relations likeweaker-than. But inter-theory relations they mentioned are too simple, i.e., limited to those for comparison, therefore it is dicult to describe composition of
aspects we have discussed here.
Wiederhold(Wiederhold 1994) proposed DomainKnowledge-Base(DKB) algebra like DKB-Intersection.
He discussed how to integrate schemes when they sharesome concepts and realized it as above algebra. It is
the same problem we identi ed as category aspects.
Since his solution is limited to scheme integration, ourapproach gives more general solution, for example we
can use category as aspect again.

Conclusion

In this paper, we have developed a computationalframework for constructive ontologies as aspect. A
key feature of aspect is compositionality, i.e, it can becomposed by other aspects. We provide combinationand category aspects for composition, and then we canconstruct large ontologies as aspects composed of othersmaller aspects.
Category aspect is a unique idea which links di erent
but domain-sharing conceptualizations. By category
aspect, we can represent not only relations among different aspects but also a set of aspects which either ofthem can be used if needed. Logically category aspect
is modeled using modal operator 3. It means thateach component aspect is possible, not always true.
According to introduction of modal operators, we also
introduced two types of interpretation of which di er-ence is whether possible aspects should be taken into
account. We also showed some theorems, e.g., howpossible aspects can be always true.
We have also provided a programming language for
aspect by extending Ontolingua. We have shown how
aspects described in this language is used in the agentbased knowledge-base system. We have been developing VLKB systems with the aspect language as common ontology description language where mediationand translation is supported by using aspect.

References

Falkenhainer, B. and Forbus, K.D. 1991. Compositional modeling: Finding the right model for the job.
Arti cial Intelligence 51.
Finin, Tim; McKay, Don; Fritzson, Rich; and McEntire, Robin 1994. KQML: An information and knowledge exchange protocol. In Fuchi, Kazuhiro andYokoi, Toshio, editors 1994, Knowledge Building andKnowledge Sharing. Ohmsha and IOS Press.
Genesereth, M.R. and Fikes, R. E. 1992. Knowledge interchange format, version 3.0 reference manual. Technical Report Technical Report Logic-92-1,
Computer Science Department, Stanford University.
Genesereth, M.R. 1991. Knowledge interchange format. In Principles of Knowledge Representation andReasoning: Proceedings of the Second International
Conference. Morgan Kaufmann. 599{600.

Gruber, T. R. 1992. Ontolingua: A mechanism tosupport portable ontologies. Technical Report KSL
91-66, Stanford University, Knowledge Systems Laboratory.
Gruber, Thomas R. 1993. Toward principles for thedesign of ontologies used for knowledge sharing. Technical Report KSL 93-4, Knowledge Systems Laboratory, Stanford University.
Guarion, Nicola; Carrara, Massimiliano; and Giaretta, Pierdaniele 1994. Formalizing ontological commitments. In Proceedings of AAAI-94. 560{567.
Guha, Ramanathan V. 1991. Contexts: A Formalization and Some Applications. Ph.D. Dissertation, Department of Computer Science, Stadford University,
Stanford, CA. (Available as Report No. STAN-CS91-1399-Thesis).
McCarthy, J. 1993. Notes on formalizing context. In
Proceedings of IJCAI-93. 555{560.
Nayak, P. Pandurang 1994. Representing multiple
theories. In Proceedings of AAAI-94. 1154{1160.
Nishida, T. and Takeda, H. 1993. Towards the knowledgeable community. In Proceedings of International
Conference on Building and Sharing of Very LargeScale Knowledge bases '93, Tokyo. Japan Information

Processing Development Center. 157{166.
Wiederhold, Gio 1994. Interoperation, mediation,and ontologies. In FGCS 94 workshop on Hetrogeneous Cooperative Knowledge-Bases. ICOT. 33{48.