=Paper=
{{Paper
|id=Vol-52/paper-11
|storemode=property
|title=Multilingual Agents: Ontologies, Languages and Abstractions
|pdfUrl=https://ceur-ws.org/Vol-52/oas01-willmott.pdf
|volume=Vol-52
}}
==Multilingual Agents: Ontologies, Languages and Abstractions==
Multilingual Agents: Ontologies, Languages and
Abstractions
Steven Willmott Ion Constantinescu Monique Calisti
Laboratoire d’Intelligence Laboratoire d’Intelligence Laboratoire d’Intelligence
Artificielle, Ecole Artificielle, Ecole Artificielle, Ecole
Polytechnique Federal de Polytechnique Federal de Polytechnique Federal de
Lausanne, Lausanne, Lausanne,
Lausanne, Switzerland Lausanne, Switzerland Lausanne, Switzerland
ABSTRACT Multiple ACLs, each with multiple possible encodings.
Agent Environments are becoming increasingly open, in- Multiple CLs, each with multiple possible encodings.
terconnected and heterogeneous. This suggests that future
agents will need to be able to deal with multiple agent com- Multiple ORs, each with multiple possible encodings.1
munication languages, multiple ways of expressing content
and multiple ontology representations. How will agents deal with this heterogeneity? How can
One way to deal with this heterogeneity is by identifying agent toolkits support developers in exploiting the di erent
an agent's internal knowledge representation with an ab- language frameworks? How can we ensure that code is re-
stract ontology representation (AOR). This AOR then can usable across many agent languages? What is the best way
be used to capture abstract models of communication re- to bridge between the ACL, CL and OR levels? In answer
lated knowledge (domain models, agent communication lan- to some of these questions, the central thesis of this paper
guages, content languages and models of how these interact) is that:
and make it possible for the agent to manipulate all elements
of messages in a uniform way - as instances of its ontological 1. An agent's internal knowledge representation can be
knowledge. seen as an abstract ontology representation (AOR).
The paper outlines the approach, highlights interesting
issues and describes a prototype implementation. 2. This AOR can be used to capture abstract models
of communication related knowledge (domain mod-
els, agent communication languages, content languages
Keywords and models of how these interact).
Ontologies, Agent Languages, Content Expressions, Repre-
sentations, Abstraction, Agent toolkits 3. This makes it possible for the agent to manipulate el-
ements from all levels of messages (ACL, CL and do-
main) in a uniform way - as instances of its ontological
1. INTRODUCTION knowledge.
Recent years have seen signi cant e ort invested in the
study of communication mechanisms for agents. Particu- The main idea is therefore to give agents explicit repre-
lar attention has been paid to Agent Communication Lan- sentations of languages and domains to manipulate at run-
guages (such as FIPA-ACL and KQML), Content Languages time. The approach is described in three parts: abstract
(such as KIF and FIPA-SL) and Ontology representations ontology representation (Section 3.1), the de nition of lan-
(DAML, OIL and others). These frameworks can be used guages structures as ontologies (Section 3.2) and how these
to describe both the structure and meaning of the messages can be used to develop communicating agents (Section 3.3).
agents might exchange. For an agent to make e ective use Section 4 then details a prototype implementation of the ar-
of these frameworks it must be able to construct and manip- chitecture supporting all of the main ideas presented and,
ulate messages combining aspects from all three areas (on- in particular:
tology, content language, agent communication language).
Often constraints (structural and semantic) imposed by the The abstract ontology representation described in Sec-
frameworks being used must be respected to ensure that the tion 3.1.
message has meaning.
Whilst this task is dicult enough if Agent Communica- An interface for a restricted version of DAML ontology
tion Language (ACL), Content Language (CL) and Ontol- representation as a rei cation of the AOR.
ogy Representation (OR) are xed in advance, agents in het- 1
Here an Ontology Representation is taken to be de ned
erogeneous environments are increasingly likely to be faced by the information which can be represented (entities, rela-
with: tions and constraints allowed) and its encoding is the phys-
Author
ical representation. An Object Oriented OR may have two
for correspondence. Email: representations for example: one in UML and another in
Steven.Willmott@ep .ch XMI/XML.
Conceptual models of the agent languages FIPA-SL, Often the speech act used at the ACL level constrains
FIPA-KIF, First order logic (content languages) and the type of content allowed - a FIPA \request" should
FIPA-ACL (agent communication language) expressed be for an action and not a proposition for example.
as DAML ontologies.
Content Languages usually interface with ontologies
Codecs for the rei cation of instances of messages in via certain constructs able to express entities de ned
three of the languages listed above to their respec- in an ontology (the car construct in the message above
tive syntaxes (FIPA-SL S-Expression syntax, FIPA- is represented by an SL functional term for example).
KIF Standard syntax and FIPA-ACL S-Expression syn-
tax). Ontologies often express constraints on composition of
concepts in the ontology, e.g. that the value of a car's
This work described here is in many ways a logical pro- colour attribute must be a \colour" of some sort.
gression of previous work by others in the following areas:
1) work on modelling agent languages as ontologies such as Some of these constraints are expressed in language gram-
[1], 2) implementations of Agent toolkits such as Jade [9], mars, others in ontology de nitions and others as free text
FIPA-OS [7] and Jat-Lite [10] which provide ACL, Content descriptions.
Language or Ontology access for speci c languages and 3) This paper also makes use of the following terms:
Ontology frameworks such as DAML, OIL, DAML+OIL and
UML approaches which form the basis of the example AOR Agent Language: a language which is either an Agent
given in Section 3.1. Communication Language or a Content Language.
It should be noted that the objective of this paper is to Concept (or Class): A notion de ning a named class
provide a global view of the feasibility and potential utility of entities.
of this approach rather than provide de nitive results in any
one area. Conceptual Model: a model (or meta model) con-
taining de nitions of a number of concepts and rela-
2. DEFINITIONS tionships between these concepts.
Before delving into the main body of the paper this sec- Public: stable de nition (of a language, encoding or
tion de nes important terms. The following example of an other) or structure which is available to all agents in
agent message using FIPA-ACL (S-expression syntax [4]), a given community and something which can be relied
FIPA-SL [6] and an ontology about cars illustrates one way upon to enable interoperability.
of seeing the relationship between di erent levels of agent
communication: Internal: something which is not necessarily public.
(inform Instance Knowledge: statements about particular
:sender (agent-identifier :name i) instances of concepts (classes). (E.g. \Harry the cat
:receiver (agent-identifier :name j) is blue".)
:ontology car
:language FIPA-SL Ontological Knowledge (or Meta Knowledge):
:content statements about classes and relationships - instances
"((= (any ?x (is-car ?x)) of conceptual models. Meta knowledge w.r.t. instance
(car knowledge (E.g. \Cats are animals", \Blue is a colour".)
:colour lightgrey
:registration VD 3651 3. ABSTRACTIONS AND ARCHITECTURE
:make VW The presentation of the approach is divided into three
:type Golf parts: abstract ontology representations (Section 3.1), mod-
) elling languages as ontologies (Section 3.2) and usage in agent
)" systems (Section 3.3).
)
3.1 Abstract Ontology Representations
Elements in the world are de ned in the domain ontology As shown in Figure 1, most agent architectures store and
(the predicate \is-car" and the \car" object would be de ned manipulate knowledge in several areas: conceptual models,
in the ontology \car"). A content language expression (the knowledge bases and messages involved in communication
argument of the \:content" parameter in the example) is with other agents. The underlying model the agent uses to
then used to represent and bind instances of these entities represent knowledge of conceptual models of the world is
together into a statement about the world. Finally a speech called its \knowledge representation".
act de ned in an agent communication language expressing Since we are primarily concerned with communicating agents,
an agent's opinion about this state of a airs is wrapped it is important that this knowledge representation is able to
around the content expression. A similar structure exists for represent ontological knowledge and in particular ontologies
messages using, for example, KQML with KIF as a content de ned in one or more public ORs. Given that there are al-
language. These three levels are also linked by constraints ready a number of di erent public OR frameworks (DAML,
such as: OIL, UML based approaches) and that there may be more
In FIPA-ACL, the ACL expresses which content lan- in the future, choices on what an agent's internal knowl-
guage, encoding and ontologies are to be used in the edge representation is able to capture is of great importance.
content eld. Choices here impact both the e ectiveness of the agent and
by simply adding new codecs.3 This type of abstraction is
generally relatively straightforward since most encodings of
Instance
Knowledge
a single OR will attempt to express the same elements of
the ORs underlying conceptual model.
Base
Knowledge Meta
Knowledge
3.1.2 Abstraction from Conceptual Models
Whilst dealing with multiple encodings is normally rel-
atively simple, dealing with multiple conceptual models of
ORs is much more problematic. It is highly likely that some
Message
Instances
Conceptual
Models types of knowledge (e.g. certain types of relations or con-
straints) are allowed by some frameworks and not by others.
Java class hierarchies, for example, forbid multiple inheri-
tance but this is allowed by DAML and OIL. There are two
Figure 1: An agent's knowledge is usually divided straightforward approaches to generating abstractions of a
into instance knowledge (knowledge of individual set of target ORs (the ORs a designer wishes to consider):
facts) and meta knowledge (knowledge about classes
of entities). Feature intersection: Supporting representations of only
the features which fall into the intersection of features
of all target ORs. This approach ensures that all of
the future re-usability of its code. The problem has two an agent's ontological knowledge could be represented
levels as illustrated in Figure 2: in any of the target ORs but means that it may not
be able to represent/reason with all the information in
1. Encoding: abstracting from multiple encodings of ontologies it shares with others.
one OR to extract a conceptual model for that OR.
Feature union: Supporting representations of all fea-
2. Conceptual Model: abstracting from the (usually tures of all the target ORs. This extreme ensures that
di erent) conceptual models of multiple ORs to ex- the agent is able to represent all aspects of the knowl-
tract a common concept model. edge expressed in each of the target ORs. The negative
consequence is that there may be subsets of the agent's
knowledge which cannot be expressed in any single OR
(particularly if the agent is able to derive new ontology
Common
Conceptual AOR AOR2 ... information).
Models
There are clearly complex tradeo s involved here and the
Conceptual
2
DAML OO OR.. choices made are directly linked to an agent's reasoning ca-
Models pabilities and potential functionality. In reality, most agent
systems will likely fall somewhere between these extremes
Encoding
1
RDF UML XMI and pick and choose OR features to represent.
3.1.3 Example Abstract Ontology
Figure 2: Abstraction from encoding is the rst The above are rather general statements, this section de-
step, followed by abstraction from conceptual mod- nes an abstract ontology representation which is used through-
els to nd common features. The nal abstract on- out the rest of the paper. The intention is not to argue that
tology representation matches the agent's internal the model chosen is in anyway \the best" for the combina-
knowledge representation. tion of target ORs but to draw out common aspects which
appeared to be necessary for a basic systems. Target ORs
The product of the second step is then a potential can- are: DAML, OIL, UML, Frames (such as those currently
didate for use as the agent's internal knowledge representa- used in FIPA speci cations), simple language grammars ex-
tion.2 In the context of this paper it is referred to as an pressed in BNF/EBNF. Although a detailed study of the
Abstract Ontology Representation (AOR). In general there similarities between these frameworks is beyond the scope
may be several useful abstractions and more than simply of this paper, a useful intersection appears to include the
two abstraction steps. We focus on these two major tran- elements below. The following is the example AOR which
sitions (encoding - conceptual model, conceptual models - will be used from now on:
uni ed conceptual model) to simply presentation however.
1. Class: corresponding to a concept describing a named
3.1.1 Abstraction from Encodings class of entities.
There is clear value in separating internal representations
of knowledge from any one particular public encoding since 2. subClassOf relations: indicating that one class is a
supporting new encodings can then normally be supported more speci c version of another (can also be read as
\can substitute", as in \VW" can substitute \car").
2
Note that an agent may well use several knowledge rep-
resentations internally, or that the AOR described here is 3
Codec is used to refer to software modules which translate
simply mapped to an internal KR when necessary. One KR a single public representation to and from an internal data
assumed here for clarity. structure.
3. sameConceptAs relations: indicating that two classes which are extracted from diverse encodings by encoding spe-
are identical, includes implict equivalences between prop- ci c codecs. The question of how the conceptual model of
erties of the class. a language is expressed arises however. This question is
more obvious for languages than for ontology representa-
4. Properties: corresponds to attribute value pairs which tions since:
express something about one or more classes. The fol-
lowing constraints can be applied to properties: Language grammars can be relatively complex and
Domain: the classes the property applies to.
capture a good deal of information about the mean-
ing of expressions in the language
Range: the range of values the property may take.
Agents will often need to manipulate instances of mes-
Cardinality: the number of times it may or must sages and require access to the conceptual model of the
occur for a given class. language to ensure correctness.
The terminology used here is taken from the DAML+OIL The interaction between agent languages and between
speci cation [2] but equivalent formulations could be made agent languages and entities de ned in domain ontolo-
using (for example) frames and slots.4 The resulting struc- gies are particularly important.
ture is a directed graph corresponding to a class diagram
but which allows multiple inheritance and equivalence. Language syntax de nitions come in a variety of forms
(XML Schemas, DTD, EBNF grammars etc.) but
these tend to be highly dependent upon the individual
Object syntax involved.
Vehicle
As Crane eld et. al. point out in [1] however, ontolo-
Meta gies can in fact be seen as abstract grammars for languages.
Truck An OR can be used to construct conceptual models of lan-
guages. A logical usage of this is to give the agent access
to these language models at runtime and allow it to ma-
Car nipulate them. This enables the agent to treat knowledge
Car about languages it knows at the same level as domain knowl-
edge. The objective is to model languages in a formalism
compatible with the AOR de ned in the previous section.
Vehicle For a language based on an EBNF grammar a rst pass at
generating the model could be done as follows:
VW
SubClassOf Disjunctions become Classes: Each disjunction on
Car
SameClassAs the right hand side (RHS) of a production rule in the
grammar can be used to generate a new class. The
Figure 3: Ontologies are represented as directed class name can be derived either from the rst constant
graphs. symbol on the RHS of the expansion or (if there is no
such constant), from the name of the non-terminal on
Figure 3 shows several linked ontology de nitions using the LHS of the production.
the model de ned. The boxes in the gure each represent a
namespace de ned by a single ontology de nition. In addi- Elements become Properties: The elements in the
tion to the subClassOf and sameClassAs relations each class expansion of a single RHS disjunction to the new class
may also have properties assigned. There is clearly a lot of each generate a new property, s.t. the property's do-
richness from the target ORs which is lost is this model main = class generated by the disjunction, range =
but it should be remembered that the main purpose of this type of the element, cardinality is determined w.r.t.
representation is to illustrate the approach rather than to cardinality expressed in EBNF (+, * etc.).
propose a speci c abstract ontology representation. Generating the Class Hierarchy: The concepts so
3.2 Abstract Agent Languages generated can be linked by subClassOf relationships
The AOR given in the previous section gives the agent a which express which grammatical elements can be sub-
xed model for its ontology knowledge. The next step is to stituted for others (e.g. in FIPA-SL, a term may be
allow it to do the same with instance knowledge, speci cally replaced by a constant, giving rise to a relation de n-
with instance knowledge expressed in varied agent languages ing constant as a sub class of term.)
(we are less concerned with knowledge bases). For any given Similar schemes could be de ned for XML Schema and
language, this problem is again at two levels: encoding and XML DTDs. This method is only a sketch and needs to
conceptual model. be applied with interpretation by the designer to deal with
3.2.1 Abstraction from Encodings ambiguities it might generate. Furthermore, grammars are
In principle this can be solved as simply as for ontologies - often optimised or compacted to reduce overhead. It may
be necessary to restructure the grammar to generate a clear
by presuming a common representation of message elements conceptual model.
4
The terms \class" and \concept" are used interchangeably It should be clear what is being done here - the concep-
throughout the paper. tual model represents only the syntactic/lexical constraints
between the concepts in the language. The information so said to abstract all of KIF and FIPA-SL it is clearly more ab-
generated does include a important part of the language stract. Agent code manipulating messages using only FOL
structure (such as, for example, the fact that an \+" opera- concepts would be more language independent than code us-
tor may only take \numbers" as arguments) but it does not ing using concepts which appear only in SL or KIF respec-
capture more than an EBNF or Schema grammar - i.e. it tively (and not in FOL). Messages using concepts only from
does not attempt to capture the semantics. The concepts FOL could be represented in both SL and KIF and hence
extracted for a language such as FIPA-SL include classes any of their encodings (potentially also in potentially other
such as: FOL derivatives such as Prolog). De nitions of languages as
hierarchies of ontologies could also be applied to non-logical
Class: "BinaryTermOp" languages and at the ACL level - there are performatives
SubClassOf: AtomicFormula in KQML and ACL which are roughly equivalent (such as
Property: argument \tell" and \inform") and others which are only found in one
range: Term, of the languages (such as \stream").
Cardinality: 2. Relationships between concepts in di erent languages be-
come easy to model once a common meta model is used
Class: "=" to express conceptual models. In particular the sameClas-
SubClassOf: BinaryTermOp sAs relation can be used to match equivalent concepts in
di erent languages. This is especially important for declar-
Class: "Term" ing mappings between concepts such as objects, actions and
Where there are a number of sub classes of \Term". Con- functions which may be declared in a domain ontology and
cepts such as BinaryTermOp and Term are never normally the concepts in any given language which may represent
instantiated in messages but are useful to structure the model them.
of the language. In the case of Term for example it is clearly The most abstract (general) language allowed by the AOR
useful since it is used in the de nition of the equals operator. given in Section 3.1 appears to be:
3.2.2 Abstraction from Conceptual Models Class ::= ( ClassName Class* )
A further reason for considering how conceptual models of This provides a lot of leeway for di erent levels of abstrac-
languages are expressed (and made available to the agent) tion of languages. It should be remembered, however, that
is that the approach can be re-used for modelling abstract languages tend not to be very useful unless speci c seman-
languages and how they relate to each other. An example of tics are attached to the concepts involved and the range of
a conceptual di erence between two languages is the belief things which can be expressed is well delimited. FOL is also
modal operator \B" which is available in FIPA-SL but not an especially good example because it covers a well de ned
de ned in KIF. This means that: range of expressions with known computational properties.
\(and X Y)" is de ned in both languages. It seems likely that the languages agents may know will not
form a neat hierarchy of abstractions but a patchwork of
\(B fred (and X Y))" is only de ned in FIPA-SL. communications concepts. This is especially true if, as sug-
gested in [1], models of language are exploited to construct
The reason \de ned" is used and not \expressed" is that ad-hoc domain speci c content languages linking conceptual
the second statement can be expressed in KIF. KIF simply models of languages with domain models. Agents could then
attaches no special meaning to the belief operator. potentially construct application speci c languages at run-
FIPA-SL and KIF are in fact a good example for the po- time (to negotiate a particular contract for example).
tential use of abstraction since they are both extensions of
First Oder Logic (FOL - see [8] for example). Due to this 3.3 Building Multilingual Agents
common heritage, FOL concepts such as term, variable, con- Up until now there has been little discussion on how these
stant, predicate appear in both FIPA-SL and KIF and ac- developments impact the building of agents. In principle it
count for a signi cant subset of both languages. As noted is possible to now limit an API for manipulating messages
above, in many cases speci c constructions such as \mem- to two areas:
ber" etc. in FIPA-SL and KIF are captured in a more gen-
eral way by FOL functions. Ontological/Meta Knowledge: accessing and ma-
nipulating stored ontology information stored in the
FOL
Term AOR representation.
Instance Knowledge: accessing and manipulating
SubClassOf
instances of concepts de ned in the ontology knowl-
SameClassAs
KIF Term SL Term edge.
Again, the important point is that both areas (ontology
KIF SL
and instance) represent ACLs, CLs and domains - removing
Figure 4: Hierarchical ontology de nitions for FOL, the need for Developer interfaces for each new language, OR
FIPA-SL and KIF. or domain the agent wishes to deal with. Developer code
is isolated from communication details such as syntax and
Figure 4 sketches how languages might be de ned as three perhaps language if abstract languages are de ned and used.
separate but linked ontologies. Although FOL cannot be A simpli ed view of the architecture is shown in Figure 5.
4. IMPLEMENTATION
Reasoning, Knowledge bases, Behaviours etc.
This section describes ATOMIK5 which is a simple pro-
totype implementation of the architecture presented in Sec-
Instances
API API
Conceptual Models
tion 3. ATOMIK is intended to:
ACL FOL Provide a proof of concept for the ideas presented in
this paper.
SL
Car Cat
...
Act as an additional illustration of the approach (the
ACL/CL Encodings OR Encodings
source code is available - see Section 4.3).
(if it proves useful) be evolved into a library which
Figure 5: Development intensive aspects of the could be plugged into existing agent toolkits.
agent implementation such as behaviours and rea-
soning are built on APIs accessing conceptual mod- 4.1 Overview
els and instances of concepts (classes). These in turn ATOMIK has a modular architecture and implements the
are abstractions and independent of any particular following:
language or encoding.
A kernel providing: an implementation of the AOR
As the gure shows, there would usually be interaction described in Section 3.1 as a compact directed graph
between the instances of messages / concepts and conceptual (ontological knowledge) as well as an API for creating
models. The most obvious uses of the models applied to instances of concepts and composing them (instance
instances are: knowledge).
Validation: Checking that a particular combination A validator module which is able to the check all the
of instances of concepts respects all the constraints im- relationships de ned in known ontologies are respected
posed by the applicable models. This is the most basic by a particular combination of concept instances.
usage of the conceptual models and very important for
languages modelled in particular since it allows agents A codec for a subset of the DAML+OIL Ontology Rep-
to recognise whether a particular message (incoming resentation in RDF which corresponds to the AOR (so
or outgoing) respects the constraints of a particular ontologies can be loaded and saved from DAML les)
language or not.
Conceptual models (coded as DAML ontologies) and
Translation: Equivalences expressed in conceptual codec modules for the following languages:
models can be used to map instances from one model
(ontology) to another, in terms of language for exam- { FIPA-SL [6].
ple - mapping from SL to FOL could render a incoming
message suitable for an FOL theorem prover the agent { A subset of FIPA-KIF [5], corresponding to SKIF
has built in. (a limited form of KIF covering only KIF sen-
tences).
Generation: When constructing messages it can be { FIPA-ACL [3], S-expression syntax [4].
useful to be able to generate the concepts which could
be inserted at a particular point in a message. { FOL ([8] conceptual model only - no codec since
it is used internally only).
Learning: If a message instance arrives which refer-
ences the concept \orange" in ontology \fruit" (un- A simple agent able to perform tests of the above func-
known to the agent) the agent may be able to read in tionalities.
the referenced ontology and nd a link between \or-
ange" and the \food" concept in some more general The implementation is in Java6 (version 1.2) and uses the
ontology it already knows. This allows it to infer that SIRPAC RDF package7 to handle parsing for DAML RDF.
the construction \(eat sally orange)" makes some sort All other codecs were implemented using JavaCC8 .
of sense even if it has only a super cial understanding
of \orange". 4.2 Examples of Operation
There is also no reason why additional information about The following examples illustrate the current status of
domain ontologies or languages could not also be encoded in ATOMIK's capabilities based on the languages/representations
message instances. This information could then be assimi- currently available (FIPA-SL, KIF, ACL, DAML):
lated into existing conceptual models, mixing the sources of 5
Obligatory hastily chosen acronym: \AgenT Ontology Ma-
the two types of knowledge. Further processing of instances nipulatIon Kernel".
could include variable scope management, uni cation, sim- 6
The system could perhaps have been even more easily writ-
ple evaluations (e.g. executing associated functions in arith- ten in Prolog, Lisp, Scheme etc. but Java was chosen simply
metic etc.). Add on features for the conceptual models could because most current agent toolkits are Java based.
include summarisation of knowledge, forgetting, macros to 7
See: http://www.w3.org/RDF/Implementations/SIRPAC
extract well known schemas etc. 8
See: http://www.metamata.com/JavaCC/
Validation of messages involving concepts from several check constraints imposed by domain ontologies. translate
ontologies. Given a de nition for a car ontology spec- between languages in a limited way and make use of abstract
ifying that the colour property of a car must contain languages.
a colour concept found in a second ontology and has The most important things the prototype cannot do are
de ned colours red, yellow, blue. ATOMIK is able to related to the AOR model applied, it cannot:
tell that: Cope with variable scoping - i.e. it is not possible
{ \(for-sale (car :colour black))" must be bogus but to check in FIPA-SL that variables used in a message
that: instance have been declared or not.
{ \(for-sale (car :colour blue))" is potentially a le- Enforce semantic constraints between (e.g.) performa-
gitimate statement. tives and content.
Detecting messages which are invalid according to a
These arise because they are constraints which cross more
particular language grammar. The following are de- than one node in the graph (i.e. they do not apply from a
tected as illegal in FIPA-SL for example: concept to one of its properties). In principle those named
are not dicult to add but a more general solution would
{ \(forall days (make-tea :milk true :sugar false))". be preferable.
Fails because \days" is not a variable. 4.3 Resources
{ \(or A B C)". Disjunction in FIPA-SL is a binary Since this paper can onl give an overview of the imple-
operator. mentation work done, the following can be found on-line at
http://liawww.ep .ch/ATOMIK/:
Checking validity of complete FIPA-ACL messages such
as: Full source code to the ATOMIK implementation (LPGL
license)
(request DAML ontology de nitions for: FIPA-SL, FIPA-ACL,
:sender (agent-identifier :name j) FOL, KIF and several example domain ontologies
:receiver (set (agent-identifier :name i))
:ontology car
We hope these will provide a useful support to the issues
:language FIPA-SL
discussed in this paper and might be re-used by others im-
:content
plementing agent systems.
"((action (agent-identifier :name i)
(lend-to
5. INTERESTING ISSUES
(agent-identifier :name j) The work presented here raises a number of interesting
(car issues:
:colour lightgrey 1. What should the AOR include/exclude?: As noted in
:registration VD 3651 Section 3.1 the choice of internal representation has
:make VW a profound e ect on the agent system. Although it
:type Golf is \internal" and not shared with the outside world
)) choices by agent toolkit developers will have a e ect
))" on how large numbers of agents may use of ontologies
) de ned.
Including checks on the ACL level concepts, content 2. Do Agents need to share AORs?: In principle AORs
lanaguage expressions and ontology aspects. are internal representations and as such do not need
to be public. Agents working in mission critical areas
Reifying expressions in FOL into FIPA-KIF and FIPA- however are likely to need to nd ways of establishing
SL: the expression \((not X) => Y)" can be con- a lowest common denominator of understanding for a
structed using concepts only from FOL and mapped given set of ontologies to ensure both can model the
into both FIPA-KIF and FIPA-SL: others perception of the situation.
{ in FIPA-KIF this becomes: \(=> (not X) Y)". 3. What types of Agent Languages can be represented?:
Since the AOR as described can in principle model
{ in FIPA-SL this becomes: \(implies (not X) Y)". the main features of a wide range of languages (logical,
functional and object oriented). How does this relate
In fact the syntaxes of FIPA-SL and KIF are very simi- to other meta-modelling work (e.g. [1]) and what as-
lar for the subset of elements which correspond to FOL pects of languages which could be regarded as part of
hence this exibility does not appear very useful. For the conceptual model cannot be represented (variable
other languages with other syntaxes however (or other scoping for example).
syntaxes) this capability is likely to be of great impor-
tance. 4. How can we cope with equivalences between groups of
concepts?: Currently the AOR chosen allows class equiv-
In summary, the prototype is able to check correctness of alence, more generally however a combination of con-
constructions in the de ned languages based on their con- cepts in one ontology may be equivalent to a combina-
ceptual models, link language concepts to domain concepts, tion of concepts in another.
5. How could semantic constraints be represented in the Allow manipulation of message instances at a single
OR?: How could constraints such as the fact that a uniform level.
FIPA-ACL \inform" speech act may only contain a
proposition as content be generically represented in The paper describes the approach and a prototype imple-
the ontology de nition? mentation. Future work includes:
6. What happened to the semantics anyway?: As with Theoretical: more detailed investigation of the link be-
current language descriptions the conceptual models tween AI knowledge representation and ontology frame-
only capture the basic concepts of a language and their works, requirements for representing conceptual mod-
\syntactic" relationships but say nothing about how els of languages, mechanisms for linking language and
semantics might be managed or enforced. Although domain ontologies.
beyond the immediate scope of the paper it would be
interesting to see if the abstractions described would Development: potential integration with existing agent
support e ective semantic checking tools. toolkits, developing a stable API which could be used
to interface with existing AI/Agent tools such as the-
7. How easy/valid is it to generate abstractions from CLs?: orem provers, planners etc.
Extracting FOL concepts as common to SL and KIF
is clearly a special case. Although there may be oth- Application: testing the resulting system on a signi -
ers (such as predicate logic from FOL) it is not clear cant project - one potential example being a multi-way
how easy it is to perform this abstraction in general. translation agent able to act as a gateway between
It is also not clear that there will always be neat 1-1 groups of agents using di erent languages and/or on-
mappings between language concepts. tology representations.
8. How valid is it to construct CLs on the y?: As dis-
cussed in Section 3.2, de ning languages as ontologies 7. ACKNOWLEDGEMENTS
makes it easy in principle for agents to put together ar- Many thanks go to Fabio Bellifemine, Federico Bergenti,
bitrary combinations of language concepts at runtime. Giovanni Caire, Giovanni Rimassa and Tiziana Trucco for
Although this may be useful it could clearly lead to interesting discussions on the issue of agent language sup-
the construction of intractable languages - could this port in FIPA compliant agent platforms. Thanks also to the
process be guided to allow agents to reason about the reviewers for their useful comments.
power of the languages they create?
9. How should ontology de nitions be linked?: Like their 8. REFERENCES
counterparts in DAML, subClassOf and sameClassAs [1] S. Crane eld, M. Purvis, and M. Nowostawski. Is it an
relations allow linking of entities in di erent ontologies Ontology or an Abstract Syntax? - Modelling Objects,
- this is important to (for example) infer that objects Knowledge and Agent Messages. In Proceedings of the
from a domain ontology can be referenced in a con- Workshop on Applications of Ontologies and
tent language statement such as \(= (car :colour red) Problem-Solving Methods, 14th European Conference
fashionable)". It appears to be useful to identify a on Arti cial Intelligence (2000) 16.1-16.4. 2000.
set of common concepts which act as bridging points [2] DAML. Darpa Agent Markup Language: DAML+OIL
between ontologies. What should these concepts be? speci cation v 1.7. Technical report, DAML Project,
How many should there be and at what granularity? 2001.
10. How can concept de nitions be linked to functions and [3] FIPA. FIPA ACL Message Structure Speci cation
Actions?: two important classes of ontological entities (00037). Technical report, Foundation for Intelligence
are likely to be functions (e.g. \(+ 1 1)") and actions Physical Agents, 19.
(e.g. \paint", \eval"). These are things which may [4] FIPA. FIPA ACL Message Representation in String
have computation or activities to carry out associated Speci cation (00070). Technical report, Foundation for
with them. It appears to be useful therefore, to have a Intelligence Physical Agents, 2000.
general mechanism for linking concept de nitions with [5] FIPA. FIPA KIF Content Language Speci cation
function and action de nitions (and/or code). (00010). Technical report, Foundation for Intelligence
Physical Agents, 2000.
6. CONCLUSIONS [6] FIPA. FIPA SL Content Language Speci cation
(00008). Technical report, Foundation for Intelligence
There is no doubt that agents will need to deal with con- Physical Agents, 2000.
siderably heterogeneity at all levels of communication and [7] FIPA-OS. FIPA OS v1.3.3. Technical report, FIPA-OS
that they will need to e ectively compose agent communica- Open Source Team, 2000.
tion language, content expressions and domain knowledge. [8] M. Genesereth and N. J. Nilsson. Logical Foundations
This paper proposed strategies for equipping agents with of Arti cial Intelligence. Morgan Kaufmann, 1988.
exible communications interfaces which:
[9] Jade. Java Agent Development Environment (JADE)
Isolate code intensive areas such as reasoners, theo- v2.0. Technical report, Jade Open Source Team, 2000.
rem provers and agent behaviour from languages and [10] C. Petrie. Agent-based engineering, the web, and
encodings. intelligence. IEEE Expert, 11(6):24{29, Dec. 1996.
Give the agent access to explicit representations of con-
ceptual models of all levels of communication.