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.