=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== https://ceur-ws.org/Vol-52/oas01-willmott.pdf
           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.