<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Ontology definition languages for Multi-Agent Systems: the Geographical Information Ontology case study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luís Mota</string-name>
          <email>luis.mota@iscte.pt</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>João Bento</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luís Botelho</string-name>
          <email>luis.botelho@iscte.pt</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DECivil - IST</institution>
          ,
          <addr-line>Av. Rovisco Pais, 1049 - 001 Lisboa</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ISCTE</institution>
          ,
          <addr-line>Av. das Forças Armadas, 1649 - 026 Lisboa</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>ISCTE</institution>
          ,
          <addr-line>Av. das Forças Armadas, 1649 - 026 Lisboa, Portugal, +351 21 790 39 13</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>In the scope of the AgentCities project, we worked on the definition of a Geographical Information Ontology, intended for a wide use, in particular in agent systems. Since the choice of the best modeling approach was not clear, we decided to express the ontology in four different languages: UML, RDF, DAML+OIL and Ontolingua. This paper describes the results of this modeling and highlights the most interesting characteristics of each approach from our point of view. We recognized that each approach has its own advantages and specific use scenarios, but we conclude that, due to its history, expressive power and tools, Ontolingua is the most powerful solution for our modeling needs. Furthermore, we present proposals to solve some open questions and shortcomings: the introduction of actions in the analyzed frameworks, the creation of a XML[3] syntax for Ontolingua and the definition of decidable subsets for Ontolingua.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Research on the available languages and tools for modeling
ontologies. After a short overview of the existing models, we
chose four different approaches: UML [5], DAML+OIL [
        <xref ref-type="bibr" rid="ref3">7</xref>
        ], RDF
[4] and Ontolingua [
        <xref ref-type="bibr" rid="ref4">8</xref>
        ].
      </p>
      <p>Formal expression of the GI ontology in the four languages. The
code and results can be found in [2].</p>
      <p>Analysis and evaluation of the results of each modeling approach
(Section 3).</p>
      <p>Section 4 proposes the extension of current ontology frameworks
with the capability to represent actions, using an approach based
on artificial intelligence planning and communicative acts
semantics.</p>
      <p>Finally, section 5 presents conclusions and suggests directions for
future developments, in particular the need to define a XML
syntax for Ontolingua and the definition of decidable subsets of
Ontolingua.</p>
      <p>A full version of this paper can be found in [2].</p>
    </sec>
    <sec id="sec-2">
      <title>2. REQUIREMENTS OF THE ONTOLOGY</title>
      <p>In the AgentCities project, some of the planned agents will deal
with Geographical Information. We will generally refer to these
agents as the GI Agent. There is an agent that deals with
geographic information (GIAgent) and two types of agents that
interact with the GIAgent: general agents (General Agent) and
service suppliers.</p>
      <p>The geographic information maintained by each GI Agent pertains
to a single city.</p>
      <p>We have modeled several entities in the domain of geographical
information, the most relevant of which, are location, path,
distance and spatial reference system. Locations can be created
and modified, upon request from any service supplier, and can be
queried by any agent.</p>
      <p>Postal address (in the ontology: AddressLocation), geodesic
coordinates (longitude-latitude-height triples - GeodesicLocation)
and cartographic coordinates (map points –
CartographicLocation) are foreseen as possible forms to express
location.</p>
      <p>Any agent can query path entities. A path is a way to go from a
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
of transportation. Similarly to Locations, there are three kinds of
Paths: GeodesicPath, CartographicPath and RoadPath, which is
made of road and street segments.</p>
      <p>In our type of application, there is no need to use entities of the
type polygon. Therefore, these will not be included in the
ontology.</p>
      <p>There is the need to convert between different location
coordinates. As an example, this functionality allows the
conversion of a location in geodesic coordinates into cartographic
coordinates.</p>
      <p>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
(ProjectionDescription). A datum and a projection are generally
called Space Reference Systems. There is therefore the need to
query the details of a Space Reference System.</p>
      <p>To be able to determine the geographic distance between
locations, we need a function called Distance, which takes two
Locations as arguments and outputs a value in a pre-defined unit.
As it has been pointed out, GI Agents need to perform some
operations: register, i.e., accept one entity and register its
existence in the agent’s Data Base; modify, i.e., change the details
of an object already in the DB; and delete, i.e., remove an object
from the DB. The URL to access a map in the Web can also be
asked. If such map exists (or can be created), there must be a way
to relate it to the respective URI.</p>
    </sec>
    <sec id="sec-3">
      <title>3. ANALYSIS OF THE RESULTING</title>
    </sec>
    <sec id="sec-4">
      <title>ONTOLOGIES 3.1 UML</title>
      <p>
        Due to its graphical notation, UML is a good tool for the creation
of a first sketch of the ontology and can be used as a sharing tool.
The possibility to use methods to represent actions allows
defining at least part of the service ontology and also actions
performed by domain entities. The existence of n-ary associations
also enables the intuitive creation of concepts that relate n entities.
UML lacks some formal modeling primitives such as lists and
sets. The list concept is well suited for the definition of Paths
between points, since these are ordered lists of geographical
positions. However, these lists could only be rigorously modeled
through the use of OCL [5], a constraint language which is part of
UML, but whose integration in UML’s meta-model is questioned
[
        <xref ref-type="bibr" rid="ref2">6</xref>
        ]. To keep the graphical simplicity of the diagrams, an essential
characteristic for its easy understanding, we decided to model
Paths (CartographicPath, GeodesicPath and RoadPath.) as classes
with an association with the n path nodes, each with an ordering
number.
      </p>
      <p>
        Part of the modeling in UML, e.g. the creation of comments and
restrictions, is usually made in natural language, possibly resulting
in some formal accuracy. UML’s graphical nature facilitates its
use by people but impairs its direct treatment by agents. To cope
with this limitation, OMG created a specification for the sharing
of diagrams, based on XML [
        <xref ref-type="bibr" rid="ref6">10</xref>
        ]. This solution is based on DTD
definitions, which are being abandoned in favor of the widest
development of XML Schema.
3.2 DAML
Given the relative youth of DAML+OIL, the creation of
ontologies in this format still faces some problems: rarity of good
quality dedicated editors and poor quantity and quality of other
tools. The editing of the ontology had thus to be made with a text
editor, which does not provide any kind of assistance. Since a
DAML+OIL document is not easily readable, the editing ends up
being difficult if it lacks automated assistance.
      </p>
      <p>DAML+OIL aims explicitly at the definition of ontologies, thus it
supplies some ways to write meta-information about the ontology,
such as the version, the author and an informal description, and
the imported ontologies.</p>
      <p>The use of XML data types was very convenient, allowing the
rigorous representation of natural concepts such as longitude,
which was defined as a real number between -180 and 180.
The distinction between DatatypeProperty and ObjectProperty, in
conjunction with the XML data types, adds semantic power to
DAML+OIL since it makes it possible to distinguish relations
between entities from simple object features.</p>
      <p>The use of lists and sets was difficult and inadequate.
DAML+OIL provides the primitive concept ‘Container’ with
subclasses ‘Bag’ (unordered and allowing duplicates), ‘Seq’
(ordered list) and ‘Alt‘ (alternative elements). Although Seq could
be used to define the subclasses of Path, this was not done
because it is impossible to restrict the elements of the list to a
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
RoadPathSegment) has the attribute ‘nodeOrder’ that represents
the position of the node in the list. Since, in DAML+OIL the
expression of arbitrary axioms is not allowed, the ‘nodeOrder’
property can only be restricted to positive integers, which is not
enough since the node ordering must be a sequential number, not
just any positive integer.</p>
      <p>
        DAML+OIL does not support the representation of actions or
functions, thus the concept of registering a new location could not
be modeled, and the distance between two locations had to be
modeled as a class. The unavailability of actions hinders the direct
use of this language in multi-agent systems in which the
communication language requires these, as in FIPA ACL[
        <xref ref-type="bibr" rid="ref7">11</xref>
        ].
There are already proposals to overcome this shortcoming, but
they still lack general acceptance.
      </p>
      <p>Since properties are first-class entities, their scopes are not
restricted to a particular class. Therefore, properties that could
have similar names if defined within their classes, must actually
have different names, e.g. name of ProjectionDescription, and
name of Datum’, had to be modified to projectionName and
datumName to prevent ambiguities.
3.3 RDF
The relation between RDF and DAML+OIL is very strong but
RDF’s expressiveness, without any extensions to its current
version, is more limited than that of DAML+OIL. Therefore, all
the limitations previously identified for DAML also apply in this
case, but RDF additionally lacks support for other features.
The expression of ontologies is not the purpose of RDF, thus,
contrarily to DAML+OIL, there is no ability of expressing
metainformation about an ontology. RDF does not allow the
specification of the cardinality of attributes, which hinders the
characterization of a property as being single-valued, among other
things. It is also impossible to specify that one property identifies
an object.</p>
      <p>In the present version of RDF Schema there is no way to deal with
data types, thus the range of a property is limited to classes and
strings. Consequently, some attributes such as latitude, could not
be treated conveniently. The inexistence of data types also implies
that there is no distinction between value type properties and
object properties.</p>
    </sec>
    <sec id="sec-5">
      <title>3.4 Ontolingua</title>
      <p>
        The ontology in Ontolingua was entirely defined through the web
interface available in [
        <xref ref-type="bibr" rid="ref4">8</xref>
        ]. This interface is user friendly and
performs satisfactorily. Besides the ontology editor, other services
are available: Chimaera, an ontology analyzer and an ontology
graphical presentation tool. The editor also allows to export any
available ontology to several other formats, for external use
through knowledge representation or reasoning systems, such as,
CLIPS, CML, EpiKit, Loom or Prolog.
      </p>
      <p>Ontolingua also allows ontologies to specify the inclusion of other
ontologies, which enables the reuse of previous work. We chose
to include, among others, the ‘Kif-Lists’ ontology, which enabled
us to correctly model the subclasses of Path as lists. With a vast
community of users, a considerable number of ontologies are
already defined and available for use in ontology servers.
Ontolingua accepts the definition of generic axioms in KIF. We
used this feature to write some simple axioms that may be used to
create arbitrary relations between the entities of the ontology. For
example, in order to constrain the elements of a CartographicPath
(a list) to be nodes defined by cartographic coordinates
(CartographicPathNode), we wrote the following axiom:
(=&gt; (And (Cartographicpath ?Path) (Item ?Node ?Path))
(Cartographicpathnode ?Node))))
This axiom states that any member of a CartographicPath is a
CartographicPathNode. The previously analyzed approaches did
not allow writing arbitrary axioms.</p>
      <p>An extensive collection of data types is available. These can be
constrained through the use of facets, such as
‘numericmaximum’ . With these facets we were able to conveniently define
the range of some slots, e.g. longitude, without the use of an
external language, as it was the case with XML and DAML+OIL.
To code this data type, we defined the following restriction on a
real number:
:Template-Facets
((Longitude (Numeric-Minimum -180) (Numeric-Maximum 180)).
It is possible to declare functions. In this ontology the distance
between two locations was modeled as a function, and not as a
class, as in DAML+OIL. The definition of this function is:
(Define-Function Distance (?Location-0 ?Location-1):-&gt;?Value
"Distance, in meters, between two locations"
:Def (And (Location ?Location-0) (Location ?Location-1)
(Number ?Value)))
The declaration and definition of actions is not supported. This
implied that part of the service ontology could not be represented.</p>
    </sec>
    <sec id="sec-6">
      <title>3.5 Summary</title>
      <p>All the ontology representation frameworks analyzed in this paper
lack a natural and complete way of declaring actions. Functions
and general predicates can be declared and defined only in
Ontolingua. Ontolingua and, in a less straightforward way, UML
can appropriately represent the concept of a sequential collection
of points such as the path between two locations. Ontolingua is
also the only framework enabling the expression of arbitrary
axioms that capture general relations between entities of the
ontology.</p>
      <p>Although Ontolingua is substantially more expressive than the
other analyzed approaches, it has two drawbacks. First, it is not
possible to define a general inference procedure for the whole
power of the language. Second, its lisp-like notation is not usual
in the Web.</p>
      <p>In the remaining of the paper we consider some of the mentioned
problems, namely the representation of actions and the definition
of decidable subsets of Ontolingua.</p>
    </sec>
    <sec id="sec-7">
      <title>4. EXTENTION OF THE FRAMEWORKS</title>
    </sec>
    <sec id="sec-8">
      <title>TO SUPPORT ACTIONS</title>
      <p>
        The basic modeling of actions could be obtained through the
introduction of new primitives in the different languages. Such
primitives should minimally allow stating the name of the action
and its arguments, and additionally its pre-conditions and its
consequences. However, this support cannot be easily introduced.
In UML, which is an object oriented approach directed towards
software developers, to go beyond the modeling of actions
through methods, profiles and stereotypes could be used. In
DAML and RDF, concepts as variable, function or action
parameter do not exist. Ontolingua, the most mature approach, is
not as easy to extend as DAML and RDF. Therefore, this support
can only be obtained through a revision of the KIF specification.
At the present time, the creation of a ‘Common Logic’ [
        <xref ref-type="bibr" rid="ref8">12</xref>
        ], from
which KIF is one of the foreseen concretizations, is under debate.
This is an appropriate forum to discuss the modeling of actions.
      </p>
    </sec>
    <sec id="sec-9">
      <title>5. LIMITATION OF ONTOLINGUA</title>
    </sec>
    <sec id="sec-10">
      <title>EXPRESSIVENESS</title>
      <p>
        Ontolingua’ s potential undecidability hinders its use in reasoning
systems without the introduction of additional assumptions, such
as the closed world assumption, and/or the reduction of the
underlying expressiveness. To deal with this, we propose the
creation of subsets for Ontolingua. Since KIF foresees the
existence of ‘conformance profiles’ to limit its’ expressiveness
[
        <xref ref-type="bibr" rid="ref10">14</xref>
        ], the creation of the desired subsets of Ontolingua is
expectably simple.
      </p>
    </sec>
    <sec id="sec-11">
      <title>6. ACKNOWLEDGMENTS</title>
      <p>The research described in this paper is partly supported by
UNIDE/ISCTE and partly by the EC project Agentcities.RTD,
reference IST-2000-28385. The opinions expressed in this paper
are those of the authors and are not necessarily those of the
Agentcities.RTD partners.
[2] ADETTI, Associação para o Desenvolvimento das
Telecomunicações e Técnicas da Informática,
http://www.adetti-linha4.org
[3] eXtensible Markup Language, http://www.w3.org/XML
[4] O. Lassila, R.R. Swick (Editors), ‘RDF Model and Syntax
Specification’ , W3C, 1999,
http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
[5] ‘Unified Modeling Language, v1.4’ , OMG,
http://www.omg.org/technology/documents/formal/uml.htm</p>
      <sec id="sec-11-1">
        <title>Supports the concept of class. Basic modeling capacity: inheritance in classes and properties.</title>
      </sec>
      <sec id="sec-11-2">
        <title>As instances of classes.</title>
        <p>Support for only one data
type (literal/string). No
distinction between object
features and relations
between objects. Both cases
are dealt with properties, of
binary type and with
autonomous existence
UML</p>
      </sec>
      <sec id="sec-11-3">
        <title>Supports the concept of</title>
        <p>class. Basic modeling
capacity: inheritance in
classes and restrictions
through OCL.</p>
      </sec>
      <sec id="sec-11-4">
        <title>Ontolingua</title>
      </sec>
      <sec id="sec-11-5">
        <title>Supports the concept of</title>
        <p>class. Rich modeling
capacity: inheritance in
classes, definition of
functions, general axioms,
and pre-defined facets.</p>
      </sec>
      <sec id="sec-11-6">
        <title>As instances of classes.</title>
      </sec>
      <sec id="sec-11-7">
        <title>As instances of classes.</title>
      </sec>
      <sec id="sec-11-8">
        <title>Supported through ‘attributes’ . Their scope and existence is internal to the class.</title>
      </sec>
      <sec id="sec-11-9">
        <title>Supported through</title>
        <p>n-ary ‘associations’ .</p>
      </sec>
      <sec id="sec-11-10">
        <title>Supported through</title>
        <p>‘template-slots’ , whose
scope and existence are
external to the class.</p>
      </sec>
      <sec id="sec-11-11">
        <title>Supported through relations and functions</title>
      </sec>
      <sec id="sec-11-12">
        <title>Functions</title>
      </sec>
      <sec id="sec-11-13">
        <title>Not natively supported.</title>
      </sec>
      <sec id="sec-11-14">
        <title>Actions</title>
      </sec>
      <sec id="sec-11-15">
        <title>Not natively supported.</title>
      </sec>
      <sec id="sec-11-16">
        <title>Sharing and access by agents</title>
      </sec>
      <sec id="sec-11-17">
        <title>Parsing tools</title>
      </sec>
      <sec id="sec-11-18">
        <title>Reasoning tools</title>
      </sec>
      <sec id="sec-11-19">
        <title>Editors</title>
      </sec>
      <sec id="sec-11-20">
        <title>Written in text, sharable through the Web.</title>
      </sec>
      <sec id="sec-11-21">
        <title>Several dedicated parsers</title>
        <p>available, for different
programming languages.</p>
      </sec>
      <sec id="sec-11-22">
        <title>Only a few, in development. No.</title>
      </sec>
      <sec id="sec-11-23">
        <title>One known application.</title>
      </sec>
      <sec id="sec-11-24">
        <title>Integration in</title>
        <p>platforms</p>
      </sec>
      <sec id="sec-11-25">
        <title>JADE accepts RDF as a</title>
        <p>content language.
Can be declared,
internally to classes,
through ‘methods’ .</p>
      </sec>
      <sec id="sec-11-26">
        <title>Only as methods,</title>
        <p>internally to classes.</p>
      </sec>
      <sec id="sec-11-27">
        <title>Expressible in text</title>
        <p>(XMI), sharable
through the Web.</p>
      </sec>
      <sec id="sec-11-28">
        <title>Several XML parsers available, for different languages.</title>
      </sec>
      <sec id="sec-11-29">
        <title>Several commercial and free source editors. No.</title>
      </sec>
      <sec id="sec-11-30">
        <title>Allows the definition of functions, through KIF expressions.</title>
      </sec>
      <sec id="sec-11-31">
        <title>Not supported.</title>
      </sec>
      <sec id="sec-11-32">
        <title>Written in text, sharable through the Web, accessible through OKBC.</title>
      </sec>
      <sec id="sec-11-33">
        <title>Several KIF parsers</title>
        <p>available, for different
programming languages.</p>
      </sec>
      <sec id="sec-11-34">
        <title>Epilog[15], a reasoning package with KIF’ s full expressiveness.</title>
      </sec>
      <sec id="sec-11-35">
        <title>Through a Web interface, with free access. Integration mentioned in [9].</title>
      </sec>
      <sec id="sec-11-36">
        <title>DAML+OIL</title>
      </sec>
      <sec id="sec-11-37">
        <title>Supports the concept of class.</title>
        <p>Medium modeling capacity:
inheritance in classes and
properties, disjunction and
identity between classes,
identity and cardinality of
properties.</p>
      </sec>
      <sec id="sec-11-38">
        <title>Capacities from RDF.</title>
      </sec>
      <sec id="sec-11-39">
        <title>Supported through</title>
        <p>‘DatatypeProperties’ , with
XML-Schema data types.</p>
      </sec>
      <sec id="sec-11-40">
        <title>Supported through</title>
        <p>‘ObjectProperties’ . In both
cases, properties are binary.</p>
      </sec>
      <sec id="sec-11-41">
        <title>Not natively supported.</title>
      </sec>
      <sec id="sec-11-42">
        <title>Not natively supported.</title>
      </sec>
      <sec id="sec-11-43">
        <title>Written in text, sharable through the Web.</title>
      </sec>
      <sec id="sec-11-44">
        <title>Tools available for RDF only. Limited specific support for DAML.</title>
      </sec>
      <sec id="sec-11-45">
        <title>Tools for RDF and OIL only. Limited specific support for DAML.</title>
      </sec>
      <sec id="sec-11-46">
        <title>One dedicated application,</title>
        <p>some adaptable tools.
No.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Willmott</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Dale</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Burg</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Charlton</surname>
            ,
            <given-names>P;</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>O'Brien</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <year>2001</year>
          . “
          <article-title>Agentcities: a worldwide open agent network”</article-title>
          .
          <source>Agentlink News</source>
          ,
          <volume>8</volume>
          :
          <fpage>13</fpage>
          -
          <lpage>15</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[6] 'UML 2.0 OCL RFP'</article-title>
          , p.
          <fpage>24</fpage>
          , Object Management Group, http://cgi.omg.org/cgi-bin/doc?ad/00-09-03
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [7]
          <string-name>
            <surname>DAML+OIL</surname>
          </string-name>
          , Darpa Agent Markup Language, http://www.daml.org/
          <year>2001</year>
          /03/
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Ontolingua</surname>
            <given-names>server</given-names>
          </string-name>
          , http://ontolingua.stanford.edu/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [9]
          <string-name>
            <surname>'FIPA Ontology Service</surname>
            <given-names>Specification'</given-names>
          </string-name>
          ,
          <source>Foundation for Intelligent Physical Agents</source>
          ,
          <year>2000</year>
          , http://www.fipa.org/specs/fipa00086/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [10]
          <string-name>
            <surname>'OMG XML Metadata</surname>
          </string-name>
          <article-title>Interchange (XMI) Specification'</article-title>
          , Object Management Group, http://www.omg.org/cgibin/doc?formal/2002-01-01
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [11]
          <string-name>
            <surname>'FIPA ACL Message Structure</surname>
          </string-name>
          <article-title>Specification'</article-title>
          , http://www.fipa.org/specs/fipa00061/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>[12] 'Common Logic' , cl.tamu.edu/minutes/stanford-minutes.html</mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [13]
          <string-name>
            <surname>'FIPA SL Content Language Specification</surname>
          </string-name>
          ' , http://www.fipa.org/specs/fipa00008/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [14]
          <article-title>'Knowledge Interchange Format - draft proposed American National Standard (dpANS)'</article-title>
          , http://logic.stanford.edu/kif/dpans.html
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>[15] 'Epilog Inference Package' , http://logic.stanford.edu/sharing/programs/epilog/</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>