FOUNDATION FOR INTELLIGENT
PHYSICAL AGENTS
FIPA Content Language Library
Specification
Document title |
FIPA Content Language Library Specification |
||
Document number |
XC00007A |
Document source |
FIPA TC C |
Document status |
Experimental |
Date of this status |
2000/07/31 |
Supersedes |
None |
||
Contact |
fab@fipa.org |
||
Change history |
|||
2000/07/31 |
Approved for Experimental |
© 2000 Foundation for Intelligent Physical Agents - http://www.fipa.org/
Geneva, Switzerland
Notice |
Use of the technologies described in this specification may infringe
patents, copyrights or other intellectual property rights of FIPA Members and
non-members. Nothing in this specification should be construed as granting
permission to use any of the technologies described. Anyone planning to make
use of technology covered by the intellectual property rights of others
should first obtain permission from the holder(s) of the rights. FIPA
strongly encourages anyone implementing
any part of this specification to determine first whether part(s)
sought to be implemented are covered by the intellectual property of others,
and, if so, to obtain appropriate licenses or other permission from the
holder(s) of such intellectual property prior to implementation. This
specification is subject to change without notice. Neither FIPA nor any of
its Members accept any responsibility whatsoever for damages or liability,
direct or consequential, which may result from the use of this specification. |
Foreword
The Foundation for Intelligent Physical Agents
(FIPA) is an international organization that is dedicated to promoting the
industry of intelligent agents by openly developing specifications supporting
interoperability among agents and agent-based applications. This occurs through
open collaboration among its member organizations, which are companies and
universities that are active in the field of agents. FIPA makes the results of
its activities available to all interested parties and intends to contribute
its results to the appropriate formal standards bodies.
The members of FIPA are individually and
collectively committed to open competition in the development of agent-based
applications, services and equipment. Membership in FIPA is open to any
corporation and individual firm, partnership, governmental body or
international organization without restriction. In particular, members are not
bound to implement or use specific agent-based standards, recommendations and
FIPA specifications by virtue of their participation in FIPA.
The FIPA specifications are developed through
direct involvement of the FIPA membership. The status of a specification can be
either Preliminary, Experimental, Standard, Deprecated or Obsolete. More detail about the process of
specification may be found in the FIPA Procedures for Technical Work. A
complete overview of the FIPA specifications and their current status may be
found in the FIPA List of Specifications. A list of terms and abbreviations
used in the FIPA specifications may be found in the FIPA Glossary.
FIPA is a non-profit association registered in
Geneva, Switzerland. As of January 2000, the 56 members of FIPA represented 17 countries worldwide. Further
information about FIPA as an organization, membership information, FIPA
specifications and upcoming meetings may be found at http://www.fipa.org/.
Contents
3 FIPA Content Language Library
This document contains
specifications for structuring the FIPA Content Language Library (CLL)
including: status of a FIPA compliant content language, maintenance of the
library and inclusion criteria. This specification also maintains an updated
list of FIPA content languages providing the information required to identify
those languages and recover their relative specifications.
The first part of this
document is primarily concerned with defining the structure of the FIPA CLL and
the requirements for a content language to be included in the library. The
elements of the library are listed in the FIPA CLL Registry table (see Section
3.4, Registry). The content languages listed in the FIPA CLL
Registry table are compliant to the FIPA CLL requirements. FIPA is responsible
for updating this list, but agent developers should be aware of possible
changes to the FIPA CLL components. We recommend to all readers to consult the
latest version of the FIPA Content Language Registry table for the latest
specifications.
This specification focuses on the organization, structure, and status
of the FIPA CLL and discusses the main requirements that a content language
must satisfy in order to be FIPA compliant. The FIPA Content Library Registry
document lists the current members of the library.
The objectives of standardizing and defining a library of FIPA
compliant content languages are:
·
To allow more flexibility and efficiency for many applications (for
example, web based, real-time, nomadic), and,
·
To increase interoperability between agents developed in different
contexts, by facilitating the reuse of content languages. This would enable for
instance the use of RDF schemas emerging on the Web, or the capability of
expressing choices in an agent content language, etc.
In the following sections, we present the basic principles of the FIPA
CLL. These principles help to guarantee that the CLL is stable, that there are
public rules for the inclusion and maintenance of the CLL and that the CLL can
be used by agent developers seeking a public content language.
The
definition of a content language belonging to the FIPA CLL is normative. That
is, if a given agent advertises that it accepts one of the languages in the
FIPA CLL, then it must implement a parser or interpreter for the language as it
is defined in the FIPA CLL. However, FIPA-compliant agents are not required to
implement any of the FIPA CLL languages, except those required for agent
management.
By
collecting content language definitions in a single, publicly accessible
registry, the FIPA Content Language Library facilitates the use of standardized
content languages by agents developed in different contexts. It also provides a
greater incentive to developers to make their content languages generally
applicable.
The name
assigned to the content language must uniquely identify which content language
is used within a FIPA ACL message. The name must be prefixed by the string
"FIPA-" and ended by a suffix of five digits (for example,
FIPA-SL-00008, FIPA-CCL-00009, FIPA-KIF-00010, FIPA-RDF-00011). The suffix
consists of the five digits that identify the FIPA document containing the
specification of the content language.
FIPA is
responsible for maintaining a consistent list of content language names and to
make it publicly available to FIPA members and non-members. This list is
located in the FIPA Content Language Library Registry.
Furthermore,
every FIPA-compliant content language
must specify at least one canonical encoding scheme that can be used for this
language within a FIPA ACL message. Most of the languages included in the FIPA
CLL include a “string-based” encoding scheme, but other encoding formats are
allowed so that ACL messages can more efficiently represent the content of
application specific data formats. The encoding schemes that a FIPA content
language can support must be supplied as part of the language specification in
the FIPA CLL, along with a name identifying each encoding. If several encoding
schemes are supplied, the specific encoding scheme that is used in a particular
FIPA ACL message must be specified in the :language-encoding parameter of the message. In
addition, one of the encoding schemes shall be designated as the default
encoding, to be used if the :language-encoding parameter is not specified.
In addition to the list of encoding schemes, each content language in the FIPA CLL may specify additional information, such as stability information, versioning, contact information, different support levels, etc.
The most
effective way of maintaining the FIPA CLL is through the use of the languages
themselves by different agent developers. This is the most direct way of
discovering possible bugs, errors, inconsistencies, weaknesses, possible
improvements, as well as capabilities, strengths, efficiency etc.
In order
to collect feedback on the content languages in the library and to promote
further research, FIPA encourages coordination between language designers,
agent developers, and FIPA members. FIPA will make an annual report on the use
of the content languages in the library.
FIPA
will designate a Technical Committee (TC) to maintain the FIPA CLL. The FIPA
CLL will be managed by this TC, which will be responsible for the following
items:
·
Collecting
feedback and the comments about languages in the FIPA CLL. Depending on
interest, the technical committee may organize more specific Working Groups.
These groups would be responsible for maintaining public lists referring
projects and people that are currently using such languages.
·
Inviting
contributions in various forms: e-mail comments, written reports, papers,
technical documents and so forth. The current email address of the TC
maintaining the FIPA CLL is: comm@fipa.org.
·
All
TC members will be notified about contributions, comments or proposed changes
and should be able to access them.
·
The
proposed updates to the FIPA CLL must be discussed and approved during an
official FIPA meeting, in order that the FIPA community may be involved with
and informed of all of the FIPA approved content languages in the library.
·
In
the future, FIPA intends to supply templates (publicly accessible from the FIPA
web site) in order to facilitate submission of languages to the CLL and to
ensure that language developers meet the requirements for the submission of a
language to the FIPA CLL.
In order
to populate the FIPA CLL, it is necessary to set some fundamental guidelines
for the selection of specific content languages.
The
minimal criteria that must be satisfied for a content language to be FIPA-compliant are:
·
A
good level of syntactical development is required. A "good" level
means that, for example, the syntax of the language should allow the
implementation of an effective parser. Content languages can express one or
more actions, objects and propositions. If not all expressions are supported
then all communicative acts may not be allowable. These not allowed
communicative acts should be declared explicitly.
·
A
clear and intuitive (although not necessarily formal) semantics that fits with
the use of FIPA-ACL must be specified. In particular, the composite semantics of
ACL messages containing a communicative act which supervenes on a content
expression must be specified.
·
Examples
of the usage of such a language (a parallel with SL for instance for a better
understanding of what objects, actions and propositions are, etc.) are
recommended.
·
Substantial
and clear documentation must be provided. This means that the proposal must be
already well structured. FIPA members are in no way responsible for translating
submitted content languages into an acceptable form.
·
The
utility of such a new language should be made clear. Either the language should
include functionality which is useful across a wide range of agent activities
(introducing extensions or improvements on existing languages) or it should
directly support a single but very common agent activity (for example, travel
assistance).
FIPA does not enforce the use of any particular content language, except for the case of FIPA-Agent-Management, for which FIPA-SL0 is mandatory (see [FIPA00008] and [FIPA00023]).
Table 1 contains the name of the FIPA content languages that are currently part of FIPA CLL and the name of the FIPA specifications containing the current specification of those content languages.
Content Language |
FIPA Specification |
Date |
Status |
FIPA-SL-00008 |
[FIPA00008] |
2000/07/21 |
Experimental |
FIPA-CCL-00009 |
[FIPA00009] |
2000/07/21 |
Experimental |
FIPA-KIF-00010 |
[FIPA00010] |
2000/07/21 |
Experimental |
FIPA-RDF-00011 |
[FIPA00011] |
2000/07/21 |
Experimental |
Table 1: FIPA Content Language Library Registry
In this document a specific model for a FIPA CLL has been defined. This will allow more efficient usage and maintenance of the library itself.
Summarizing, the main features of such a model are:
· Every content language belonging to the FIPA CLL has a normative definition, but is optional in use.
· FIPA and its designated TC are responsible for the coordination and the maintenance of such a library.
· A content language proposed to belong to the FIPA CLL must satisfy the fundamental inclusion criteria listed in this document, see Section 3.3, Inclusion Criteria. At least a defined syntax and a clear intuitive semantics, which fits with the use of FIPA ACL, are required.
The second part of the document contains the FIPA CLL Registry. This table lists the content languages currently included in the FIPA CLL and maintains the references to the FIPA specification containing the relative language descriptions.
[FIPA00008] FIPA SL Content Language Specification. Foundation for Intelligent Physical Agents, 2000. http://www.fipa.org/specs/fipa00008/
[FIPA00009] FIPA CCL Content Language Specification. Foundation for Intelligent Physical Agents, 2000. http://www.fipa.org/specs/fipa00009/
[FIPA00010] FIPA KIF Content Language Specification. Foundation for Intelligent Physical Agents, 2000. http://www.fipa.org/specs/fipa00010/
[FIPA00011] FIPA RDF Content Language Specification. Foundation for Intelligent Physical Agents, 2000. http://www.fipa.org/specs/fipa00011/
[FIPA00023] FIPA Agent Management Specification. Foundation for Intelligent Physical Agents, 2000. http://www.fipa.org/specs/fipa00023/