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

1     Scope. 1

2     String ACL Representation. 2

2.1      Component Name. 2

2.2      Syntax. 2

2.3      Lexical Rules. 3

2.4      Representation of Time. 4

2.5      Notes on the Grammar Rules. 4

3     References. 6


1         Scope

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.


2         String ACL Representation

This section defines the message transport syntax for strings which is expressed in standard EBNF format (see Table 1).

 

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

 

2.1        Component Name

The name assigned to this component is:

 

fipa.acl.rep.string.std

 

2.2        Syntax

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