=Paper= {{Paper |id=Vol-66/paper-11 |storemode=property |title=Ontology definition languages for Multi-Agent Systems: the Geographical Information Ontology case-study |pdfUrl=https://ceur-ws.org/Vol-66/oas02-10.pdf |volume=Vol-66 |authors=Luís Mota,João Bento and Luís Botelho }} ==Ontology definition languages for Multi-Agent Systems: the Geographical Information Ontology case-study== https://ceur-ws.org/Vol-66/oas02-10.pdf
   Ontology definition languages for Multi-Agent Systems:
     the Geographical Information Ontology case study
                Luís Mota                                    João Bento                                  Luís Botelho
                ISCTE                                       DECivil - IST                                  ISCTE
       Av. das Forças Armadas                             Av. Rovisco Pais                        Av. das Forças Armadas
      1649 – 026 Lisboa, Portugal                    1049 - 001 Lisboa, Portugal                 1649 – 026 Lisboa, Portugal
          +351 21 790 39 13
         luis.mota@iscte.pt                             joao@civil.ist.utl.pt                      luis.botelho@iscte.pt

ABSTRACT                                                              on artificial intelligence planning and communicative acts
In the scope of the AgentCities project, we worked on the             semantics.
definition of a Geographical Information Ontology, intended for a     Finally, section 5 presents conclusions and suggests directions for
wide use, in particular in agent systems.                             future developments, in particular the need to define a XML
                                                                      syntax for Ontolingua and the definition of decidable subsets of
Since the choice of the best modeling approach was not clear, we
                                                                      Ontolingua.
decided to express the ontology in four different languages: UML,
RDF, DAML+OIL and Ontolingua. This paper describes the                A full version of this paper can be found in [2].
results of this modeling and highlights the most interesting
characteristics of each approach from our point of view.              2. REQUIREMENTS OF THE ONTOLOGY
                                                                      In the AgentCities project, some of the planned agents will deal
We recognized that each approach has its own advantages and
                                                                      with Geographical Information. We will generally refer to these
specific use scenarios, but we conclude that, due to its history,
                                                                      agents as the GI Agent. There is an agent that deals with
expressive power and tools, Ontolingua is the most powerful
                                                                      geographic information (GIAgent) and two types of agents that
solution for our modeling needs. Furthermore, we present
                                                                      interact with the GIAgent: general agents (General Agent) and
proposals to solve some open questions and shortcomings: the
                                                                      service suppliers.
introduction of actions in the analyzed frameworks, the creation of
a XML[3] syntax for Ontolingua and the definition of decidable        The geographic information maintained by each GI Agent pertains
subsets for Ontolingua.                                               to a single city.
                                                                      We have modeled several entities in the domain of geographical
1. INTRODUCTION                                                       information, the most relevant of which, are location, path,
While participating in the AgentCities.RTD [1] project, we are        distance and spatial reference system. Locations can be created
developing an ontology for Geographical Information (GI).             and modified, upon request from any service supplier, and can be
The goal of the AgentCities project is to create an on-line,          queried by any agent.
distributed testbed to explore and validate the potential of agent    Postal address (in the ontology: AddressLocation), geodesic
technology for future dynamic service environments. One of its        coordinates (longitude-latitude-height triples - GeodesicLocation)
goals is the validation and refinement of agent communication         and       cartographic     coordinates      (map      points     –
technologies, such as ontology models.                                CartographicLocation) are foreseen as possible forms to express
In order to analyze the advantages and disadvantages of the           location.
available solutions, we decided to express the GI Ontology in
different languages. The development of the ontology was              Any agent can query path entities. A path is a way to go from a
accomplished through the following tasks:                             point to another. It is possible to constrain a path to include a
                                                                      specified set of stopovers. It is also possible to choose the means
Informal gathering of the requirements and use-cases (Section 2).     of transportation. Similarly to Locations, there are three kinds of
Research on the available languages and tools for modeling            Paths: GeodesicPath, CartographicPath and RoadPath, which is
ontologies. After a short overview of the existing models, we         made of road and street segments.
chose four different approaches: UML [5], DAML+OIL [7], RDF           In our type of application, there is no need to use entities of the
[4] and Ontolingua [8].                                               type polygon. Therefore, these will not be included in the
Formal expression of the GI ontology in the four languages. The       ontology.
code and results can be found in [2].
                                                                      There is the need to convert between different location
Analysis and evaluation of the results of each modeling approach      coordinates. As an example, this functionality allows the
(Section 3).                                                          conversion of a location in geodesic coordinates into cartographic
Section 4 proposes the extension of current ontology frameworks       coordinates.
with the capability to represent actions, using an approach based
                                                                      In order to accurately specify a location, geodesic locations
                                                                      always refer to an ellipsoid and datum (DatumDescription), and
cartographic locations refer to a cartographic projection                 The use of XML data types was very convenient, allowing the
(ProjectionDescription). A datum and a projection are generally           rigorous representation of natural concepts such as longitude,
called Space Reference Systems. There is therefore the need to            which was defined as a real number between -180 and 180.
query the details of a Space Reference System.                            The distinction between DatatypeProperty and ObjectProperty, in
To be able to determine the geographic distance between                   conjunction with the XML data types, adds semantic power to
locations, we need a function called Distance, which takes two            DAML+OIL since it makes it possible to distinguish relations
Locations as arguments and outputs a value in a pre-defined unit.         between entities from simple object features.
As it has been pointed out, GI Agents need to perform some                The use of lists and sets was difficult and inadequate.
operations: register, i.e., accept one entity and register its            DAML+OIL provides the primitive concept ‘Container’ with
existence in the agent’s Data Base; modify, i.e., change the details      subclasses ‘Bag’ (unordered and allowing duplicates), ‘Seq’
of an object already in the DB; and delete, i.e., remove an object        (ordered list) and ‘Alt‘ (alternative elements). Although Seq could
from the DB. The URL to access a map in the Web can also be               be used to define the subclasses of Path, this was not done
asked. If such map exists (or can be created), there must be a way        because it is impossible to restrict the elements of the list to a
to relate it to the respective URI.                                       single class, which is essential to this modeling. For this reason,
                                                                          we created the class PathNode, representing the elements of a
                                                                          path. PathNode (CartographicPathNode, GeodesicPathNode and
3. ANALYSIS OF THE RESULTING                                              RoadPathSegment) has the attribute ‘nodeOrder’ that represents
ONTOLOGIES                                                                the position of the node in the list. Since, in DAML+OIL the
3.1 UML                                                                   expression of arbitrary axioms is not allowed, the ‘nodeOrder’
Due to its graphical notation, UML is a good tool for the creation        property can only be restricted to positive integers, which is not
of a first sketch of the ontology and can be used as a sharing tool.      enough since the node ordering must be a sequential number, not
                                                                          just any positive integer.
The possibility to use methods to represent actions allows
defining at least part of the service ontology and also actions           DAML+OIL does not support the representation of actions or
performed by domain entities. The existence of n-ary associations         functions, thus the concept of registering a new location could not
also enables the intuitive creation of concepts that relate n entities.   be modeled, and the distance between two locations had to be
                                                                          modeled as a class. The unavailability of actions hinders the direct
UML lacks some formal modeling primitives such as lists and               use of this language in multi-agent systems in which the
sets. The list concept is well suited for the definition of Paths         communication language requires these, as in FIPA ACL[11].
between points, since these are ordered lists of geographical             There are already proposals to overcome this shortcoming, but
positions. However, these lists could only be rigorously modeled          they still lack general acceptance.
through the use of OCL [5], a constraint language which is part of
UML, but whose integration in UML’s meta-model is questioned              Since properties are first-class entities, their scopes are not
[6]. To keep the graphical simplicity of the diagrams, an essential       restricted to a particular class. Therefore, properties that could
characteristic for its easy understanding, we decided to model            have similar names if defined within their classes, must actually
Paths (CartographicPath, GeodesicPath and RoadPath.) as classes           have different names, e.g. name of ProjectionDescription, and
with an association with the n path nodes, each with an ordering          name of Datum’, had to be modified to projectionName and
number.                                                                   datumName to prevent ambiguities.

Part of the modeling in UML, e.g. the creation of comments and            3.3 RDF
restrictions, is usually made in natural language, possibly resulting     The relation between RDF and DAML+OIL is very strong but
in some formal accuracy. UML’s graphical nature facilitates its           RDF’s expressiveness, without any extensions to its current
use by people but impairs its direct treatment by agents. To cope         version, is more limited than that of DAML+OIL. Therefore, all
with this limitation, OMG created a specification for the sharing         the limitations previously identified for DAML also apply in this
of diagrams, based on XML [10]. This solution is based on DTD             case, but RDF additionally lacks support for other features.
definitions, which are being abandoned in favor of the widest
                                                                          The expression of ontologies is not the purpose of RDF, thus,
development of XML Schema.
                                                                          contrarily to DAML+OIL, there is no ability of expressing meta-
3.2 DAML                                                                  information about an ontology. RDF does not allow the
Given the relative youth of DAML+OIL, the creation of                     specification of the cardinality of attributes, which hinders the
ontologies in this format still faces some problems: rarity of good       characterization of a property as being single-valued, among other
quality dedicated editors and poor quantity and quality of other          things. It is also impossible to specify that one property identifies
tools. The editing of the ontology had thus to be made with a text        an object.
editor, which does not provide any kind of assistance. Since a            In the present version of RDF Schema there is no way to deal with
DAML+OIL document is not easily readable, the editing ends up             data types, thus the range of a property is limited to classes and
being difficult if it lacks automated assistance.                         strings. Consequently, some attributes such as latitude, could not
DAML+OIL aims explicitly at the definition of ontologies, thus it         be treated conveniently. The inexistence of data types also implies
supplies some ways to write meta-information about the ontology,          that there is no distinction between value type properties and
such as the version, the author and an informal description, and          object properties.
the imported ontologies.
3.4 Ontolingua                                                         possible to define a general inference procedure for the whole
The ontology in Ontolingua was entirely defined through the web        power of the language. Second, its lisp-like notation is not usual
interface available in [8]. This interface is user friendly and        in the Web.
performs satisfactorily. Besides the ontology editor, other services   In the remaining of the paper we consider some of the mentioned
are available: Chimaera, an ontology analyzer and an ontology          problems, namely the representation of actions and the definition
graphical presentation tool. The editor also allows to export any      of decidable subsets of Ontolingua.
available ontology to several other formats, for external use
through knowledge representation or reasoning systems, such as,        4. EXTENTION OF THE FRAMEWORKS
CLIPS, CML, EpiKit, Loom or Prolog.
                                                                       TO SUPPORT ACTIONS
Ontolingua also allows ontologies to specify the inclusion of other    The basic modeling of actions could be obtained through the
ontologies, which enables the reuse of previous work. We chose         introduction of new primitives in the different languages. Such
to include, among others, the ‘Kif-Lists’ ontology, which enabled      primitives should minimally allow stating the name of the action
us to correctly model the subclasses of Path as lists. With a vast     and its arguments, and additionally its pre-conditions and its
community of users, a considerable number of ontologies are            consequences. However, this support cannot be easily introduced.
already defined and available for use in ontology servers.             In UML, which is an object oriented approach directed towards
Ontolingua accepts the definition of generic axioms in KIF. We         software developers, to go beyond the modeling of actions
used this feature to write some simple axioms that may be used to      through methods, profiles and stereotypes could be used. In
create arbitrary relations between the entities of the ontology. For   DAML and RDF, concepts as variable, function or action
example, in order to constrain the elements of a CartographicPath      parameter do not exist. Ontolingua, the most mature approach, is
(a list) to be nodes defined by cartographic coordinates               not as easy to extend as DAML and RDF. Therefore, this support
(CartographicPathNode), we wrote the following axiom:                  can only be obtained through a revision of the KIF specification.
                                                                       At the present time, the creation of a ‘Common Logic’ [12], from
    (=> (And (Cartographicpath ?Path) (Item ?Node ?Path))
            (Cartographicpathnode ?Node))))
                                                                       which KIF is one of the foreseen concretizations, is under debate.
                                                                       This is an appropriate forum to discuss the modeling of actions.
This axiom states that any member of a CartographicPath is a
CartographicPathNode. The previously analyzed approaches did
not allow writing arbitrary axioms.
                                                                       5. LIMITATION OF ONTOLINGUA
An extensive collection of data types is available. These can be
                                                                       EXPRESSIVENESS
                                                                       Ontolingua’ s potential undecidability hinders its use in reasoning
constrained through the use of facets, such as ‘numeric-
                                                                       systems without the introduction of additional assumptions, such
maximum’ . With these facets we were able to conveniently define
                                                                       as the closed world assumption, and/or the reduction of the
the range of some slots, e.g. longitude, without the use of an
                                                                       underlying expressiveness. To deal with this, we propose the
external language, as it was the case with XML and DAML+OIL.
                                                                       creation of subsets for Ontolingua. Since KIF foresees the
To code this data type, we defined the following restriction on a
                                                                       existence of ‘conformance profiles’ to limit its’ expressiveness
real number:
                                                                       [14], the creation of the desired subsets of Ontolingua is
  :Template-Facets                                                     expectably simple.
  ((Longitude (Numeric-Minimum -180) (Numeric-Maximum 180)).
                                                                       6. ACKNOWLEDGMENTS
It is possible to declare functions. In this ontology the distance     The research described in this paper is partly supported by
between two locations was modeled as a function, and not as a          UNIDE/ISCTE and partly by the EC project Agentcities.RTD,
class, as in DAML+OIL. The definition of this function is:             reference IST-2000-28385. The opinions expressed in this paper
  (Define-Function Distance (?Location-0 ?Location-1):->?Value         are those of the authors and are not necessarily those of the
    "Distance, in meters, between two locations"                       Agentcities.RTD partners.
    :Def (And (Location ?Location-0) (Location ?Location-1)
    (Number ?Value)))                                                  7. REFERENCES
The declaration and definition of actions is not supported. This       [1] Willmott, S.; Dale, J.; Burg, B.; Charlton, P; and O'
                                                                                                                               Brien, P.
implied that part of the service ontology could not be represented.         2001. “Agentcities: a worldwide open agent network”.
                                                                            Agentlink News, 8:13-15
3.5 Summary
All the ontology representation frameworks analyzed in this paper      [2] ADETTI, Associação para o Desenvolvimento das
lack a natural and complete way of declaring actions. Functions             Telecomunicações e Técnicas da Informática,
and general predicates can be declared and defined only in                  http://www.adetti-linha4.org
Ontolingua. Ontolingua and, in a less straightforward way, UML         [3] eXtensible Markup Language, http://www.w3.org/XML
can appropriately represent the concept of a sequential collection
of points such as the path between two locations. Ontolingua is        [4] O. Lassila, R.R. Swick (Editors), ‘RDF Model and Syntax
also the only framework enabling the expression of arbitrary                Specification’ , W3C, 1999,
axioms that capture general relations between entities of the               http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
ontology.                                                              [5] ‘Unified Modeling Language, v1.4’ , OMG,
Although Ontolingua is substantially more expressive than the               http://www.omg.org/technology/documents/formal/uml.htm
other analyzed approaches, it has two drawbacks. First, it is not
[6] ‘UML 2.0 OCL RFP’ , p. 24, Object Management Group,                         [11] ‘FIPA ACL Message Structure Specification’ ,
     http://cgi.omg.org/cgi-bin/doc?ad/00-09-03                                      http://www.fipa.org/specs/fipa00061/
[7] DAML+OIL, Darpa Agent Markup Language,                                      [12] ‘Common Logic’ , cl.tamu.edu/minutes/stanford-minutes.html
     http://www.daml.org/2001/03/
                                                                                [13] ‘FIPA SL Content Language Specification’ ,
[8] Ontolingua server, http://ontolingua.stanford.edu/                               http://www.fipa.org/specs/fipa00008/
[9] ‘FIPA Ontology Service Specification’ , Foundation for                      [14] ‘Knowledge Interchange Format - draft proposed American
     Intelligent Physical Agents, 2000,                                              National Standard (dpANS)’ ,
     http://www.fipa.org/specs/fipa00086/                                            http://logic.stanford.edu/kif/dpans.html
[10] ‘OMG XML Metadata Interchange (XMI) Specification’ ,                       [15] ‘Epilog Inference Package’ ,
     Object Management Group, http://www.omg.org/cgi-                                http://logic.stanford.edu/sharing/programs/epilog/
     bin/doc?formal/2002-01-01
                                                 Table 1: Summary of the languages’ features
                 RDF/RDFS                          UML                            Ontolingua                        DAML+OIL
Classes          Supports the concept of           Supports the concept of        Supports the concept of           Supports the concept of class.
                 class. Basic modeling             class. Basic modeling          class. Rich modeling              Medium modeling capacity:
                 capacity: inheritance in          capacity: inheritance in       capacity: inheritance in          inheritance in classes and
                 classes and properties.           classes and restrictions       classes, definition of            properties, disjunction and
                                                   through OCL.                   functions, general axioms,        identity between classes,
                                                                                  and pre-defined facets.           identity and cardinality of
                                                                                                                    properties.
Entities         As instances of classes.          As instances of classes.       As instances of classes.          Capacities from RDF.
Attributes       Support for only one data         Supported through              Supported through                 Supported through
                 type (literal/string). No         ‘attributes’ . Their scope     ‘template-slots’ , whose          ‘DatatypeProperties’ , with
                 distinction between object        and existence is internal      scope and existence are           XML-Schema data types.
                 features and relations            to the class.                  external to the class.
Relations        between objects. Both cases       Supported through              Supported through relations       Supported through
                 are dealt with properties, of     n-ary ‘associations’ .         and functions                     ‘ObjectProperties’ . In both
                 binary type and with                                                                               cases, properties are binary.
                 autonomous existence
Functions        Not natively supported.           Can be declared,               Allows the definition of          Not natively supported.
                                                   internally to classes,         functions, through KIF
                                                   through ‘methods’ .            expressions.
Actions          Not natively supported.           Only as methods,               Not supported.                    Not natively supported.
                                                   internally to classes.
Sharing and      Written in text, sharable         Expressible in text            Written in text, sharable         Written in text, sharable
access by        through the Web.                  (XMI), sharable                through the Web, accessible       through the Web.
agents                                             through the Web.               through OKBC.
Parsing tools    Several dedicated parsers         Several XML parsers            Several KIF parsers               Tools available for RDF only.
                 available, for different          available, for different       available, for different          Limited specific support for
                 programming languages.            languages.                     programming languages.            DAML.
Reasoning        Only a few, in development.       No.                            Epilog[15], a reasoning           Tools for RDF and OIL only.
tools                                                                             package with KIF’ s full          Limited specific support for
                                                                                  expressiveness.                   DAML.
Editors          One known application.            Several commercial and         Through a Web interface,          One dedicated application,
                                                   free source editors.           with free access.                 some adaptable tools.
Integration in   JADE accepts RDF as a             No.                            Integration mentioned in          No.
platforms        content language.                                                [9].