FOUNDATION FOR INTELLIGENT
PHYSICAL AGENTS
FIPA ACL Message
Representation
in String Specification
|
Document title |
FIPA ACL
Message Representation in String Specification |
||
|
Document number |
XC00070E |
Document source |
FIPA Agent Management |
|
Document status |
Experimental |
Date of this status |
2000/07/31 |
|
Supersedes |
OC00024 |
||
|
Contact |
fab@fipa.org |
||
|
Change history |
|||
|
2000/04/17 |
Separated out from specification OC00024 |
||
|
2000/06/06 |
Made ready for Experimental status |
||
|
2000/06/13 |
FAB editorial and consistency changes |
||
|
2000/07/23 |
Changed :content-language-encoding slot name to :encoding as per recommendation of TC C |
||
|
2000/07/31 |
Approved for Experimental; changed AID to agent-identifier in the syntax |
||
|
2000/08/01 |
Changes made by Fabio |
||
© 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
2.5 Notes on the
Grammar Rules
This document is part
of the FIPA specifications and deals with message transportation between
inter-operating agents. This document also forms part of the FIPA Agent
Management Specification [FIPA00023] and contains specifications for:
·
Syntactic
representation of ACL in string form.
|
Grammar
rule component |
Example |
|
Terminal tokens are enclosed in double quotes |
"(" |
|
Non-terminals are written as capitalised identifiers |
Expression |
|
Square brackets denote an optional construct |
[ "," OptionalArg ] |
|
Vertical bars denote an alternative between choices |
Integer | Float |
|
Asterisk denotes zero or more repetitions of the
preceding expression |
Digit* |
|
Plus denotes one or more repetitions of the preceding
expression |
Alpha+ |
|
Parentheses are used to group expansions |
( A | B )* |
|
Productions are written with the non-terminal name on the
left-hand side, expansion on the right-hand side and terminated by a full
stop |
ANonTerminal = "terminal". |
Table 1: EBNF Rules
The name assigned to
this component is:
fipa.acl.rep.string.std
ACLCommunicativeAct =
Message.
Message = "("
MessageType
MessageSlot* ")".
MessageType = See [FIPA00037]
MessageSlot =
":sender" AgentIdentifier
| ":receiver"
AgentIdentifierSet
| ":content" (
Expression )
|
":reply-with" Expression
| ":reply-by"
DateTime
|
":in-reply-to" Expression
| ":reply-to"
AgentIdentifierSet
| ":language"
Expression
| ":encoding"
Expression
| ":ontology"
Expression
| ":protocol"
Word
|
":conversation-id" Expression
| UserDefinedSlot
Expression.
UserDefinedSlot = Word[1].
Expression = Word
| String
| Number
| DateTime
| "("
Expression* ")".
AgentIdentifier = "("
"agent-identifier"
":name" word
[ ":addresses" URLSequence ]
[ ":resolvers" AgentIdentifierSequence ]
( UserDefinedSlot Expression )* ")".
AgentIdentifierSequence = "(" "sequence"
AgentIdentifier* ")".
AgentIdentifierSet