FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS

 

 

FIPA Abstract Architecture Specification

 

Document title

FIPA Abstract Architecture Specification

Document number

SC00001L

Document source

FIPA TC Architecture

Document status

Standard

Date of this status

2002/12/03

Supersedes

None

Contact

fab@fipa.org

Change history

See Informative Annex E — ChangeLog

 

 

 

 

 

 

 

 

 

 

 

© 1996-2002 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 where appropriate.

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 Preliminary, Experimental, Standard, Deprecated or Obsolete. More detail about the process of specification may be found in the FIPA Document Policy [f-out-00000] and the FIPA Specifications Policy [f-out-00003]. A complete overview of the FIPA specifications and their current status may be found on the FIPA Web site.

FIPA is a non-profit association registered in Geneva, Switzerland. As of June 2002, the 56 members of FIPA represented many countries worldwide. Further information about FIPA as an organization, membership information, FIPA specifications and upcoming meetings may be found on the FIPA Web site at http://www.fipa.org/.

Contents

1     Introduction. 1

1.1      Contents. 1

1.2      Audience. 1

1.3      Acknowledgements. 2

2     Scope and Methodology. 3

2.1      Background. 3

2.2      Why an FIPA Abstract Architecture?. 4

2.3      Scope of the FIPA Abstract Architecture. 4

2.3.1      Areas that are not Sufficiently Abstract 5

2.3.2      Areas for Future Consideration. 5

2.4      Going From Abstract to Concrete Specifications. 5

2.5      Methodology. 7

2.6      Status of the FIPA Abstract Architecture. 8

2.7      Evolution of the FIPA Abstract Architecture. 8

3     Themes of the FIPA Abstract Architecture. 9

3.1      Focus on Agent Interoperability. 10

3.2      An Exemplar System.. 10

4     Architectural Overview. 11

4.1      Agents and Services. 11

4.2      Starting an Agent 11

4.3      Agent Directory Services. 11

4.3.1      Registering an Agent 12

4.3.2      Discovering an Agent 12

4.4      Service Directory Services. 13

4.5      Agent Messages. 13

4.5.1      Message Structure. 13

4.5.2      Message Transport 14

4.6      Agents Send Messages to Other Agents. 14

4.7      Providing Message Validity and Encryption. 16

4.8      Providing Interoperability. 17

5     Architectural Elements. 18

5.1      Introduction. 18

5.1.1      Classification of Elements. 18

5.1.2      Key-Value Tuples. 18

5.1.3      Services. 20

5.1.4      Format of Element Description. 20

5.1.5      Abstract Elements. 20

5.2      Agent 22

5.2.1      Summary. 22

5.2.2      Relationships to Other Elements. 22

5.2.3      Description. 22

5.3      Agent Attribute. 23

5.3.1      Summary. 23

5.3.2      Relationships to Other Elements. 23

5.3.3      Description. 23

5.4      Agent Communication Language. 23

5.4.1      Summary. 23

5.4.2      Relationships to Other Elements. 23

5.4.3      Description. 23

5.5      Agent Directory Entry. 23

5.5.1      Summary. 23

5.5.2      Relationships to Other Elements. 24

5.5.3      Description. 24

5.6      Agent Directory Service. 24

5.6.1      Summary. 24

5.6.2      Relationships to Other Elements. 24

5.6.3      Actions. 24

5.6.4      Description. 26

5.7      Agent Locator 27

5.7.1      Summary. 27

5.7.2      Relationships to Other Elements. 27

5.7.3      Description. 27

5.8      Agent Name. 27

5.8.1      Summary. 27

5.8.2      Relationships to Other Elements. 27

5.8.3      Description. 27

5.9      Content 28

5.9.1      Summary. 28

5.9.2      Relationships to Other Elements. 28

5.9.3      Description. 28

5.10       Content Language. 28

5.10.1    Summary. 28

5.10.2    Relationships to Other Elements. 29

5.10.3    Description. 29

5.11       Encoding Representation. 29

5.11.1    Summary. 29

5.11.2    Relationships to Other Elements. 29

5.11.3    Description. 29

5.12       Encoding Service. 29

5.12.1    Summary. 29

5.12.2    Relationships to Other Elements. 29

5.12.3    Actions. 30

5.12.4    Description. 31

5.13       Envelope. 31

5.13.1    Summary. 31

5.13.2    Relationship to Other Elements. 31

5.13.3    Description. 31

5.14       Explanation. 31

5.14.1    Summary. 31

5.14.2    Relationship to Other Elements. 31

5.14.3    Description. 32

5.15       Message. 32

5.15.1    Summary. 32

5.15.2    Relationships to other elements. 32

5.15.3    Description. 32

5.16       Message Transport Service. 32

5.16.1    Summary. 32

5.16.2    Relationships to Other Elements. 32

5.16.3    Actions. 32

5.16.4    Description. 34

5.17       Ontology. 34

5.17.1    Summary. 34

5.17.2    Relationships to Other Elements. 34

5.17.3    Description. 34

5.18       Payload. 35

5.18.1    Summary. 35

5.18.2    Relationships to Other Elements. 35

5.18.3    Description. 35

5.19       Service. 35

5.19.1    Summary. 35

5.19.2    Relationships to Other Elements. 35

5.19.3    Description. 35

5.20       Service Address. 35

5.20.1    Summary. 35

5.20.2    Relationships to Other Elements. 36

5.20.3    Description. 36

5.21       Service Attributes. 36

5.21.1    Summary. 36

5.21.2    Relationships to Other Elements. 36

5.21.3    Description. 36

5.22       Service Directory Entry. 36

5.22.1    Summary. 36

5.22.2    Relationships to Other Elements. 36

5.22.3    Description. 37

5.23       Services Directory Service. 37

5.23.1    Summary. 37

5.23.2    Relationships to Other Elements. 37

5.23.3    Description. 37

5.23.4    Actions. 37

5.24       Service Identifier 39

5.24.1    Summary. 39

5.24.2    Relationships to other elements. 40

5.24.3    Description. 40

5.25       Service Location Description. 40

5.25.1    Summary. 40

5.25.2    Relationships to Other Elements. 40

5.25.3    Description. 40

5.26       Service Locator 40

5.26.1    Summary. 40

5.26.2    Relationships to Other Elements. 40

5.26.3    Description. 41

5.27       Service Root 41

5.27.1    Summary. 41

5.27.2    Relationships to Other Elements. 41

5.27.3    Description. 41

5.28       Service Signature. 41

5.28.1    Summary. 41

5.28.2    Relationships to Other Elements. 41

5.28.3    Description. 41

5.29       Service Type. 42

5.29.1    Summary. 42

5.29.2    Relationships to Other Elements. 42

5.29.3    Description. 42

5.30       Signature Type. 42

5.30.1    Summary. 42

5.30.2    Relationships to Other Elements. 42

5.30.3    Description. 42

5.31       Transport 42

5.31.1    Summary. 42

5.31.2    Relationships to Other Elements. 43

5.31.3    Description. 43

5.32       Transport Description. 43

5.32.1    Summary. 43

5.32.2    Relationships to Other Elements. 43

5.32.3    Description. 43

5.33       Transport Message. 43

5.33.1    Summary. 43

5.33.2    Relationships to Other Elements. 43

5.33.3    Description. 43

5.34       Transport Specific Address. 44

5.34.1    Summary. 44

5.34.2    Relationships to Other Elements. 44

5.34.3    Description. 44

5.35       Transport Specific Property. 44

5.35.1    Summary. 44

5.35.2    Relationships to Other Elements. 44

5.35.3    Description. 44

5.36       Transport Type. 44

5.36.1    Summary. 44

5.36.2    Relationships to Other Elements. 44

5.36.3    Description. 45

6     Agent and Agent Information Model 46

6.1      Agent Relationships. 46

6.2      Transport Message Relationships. 47

6.3      Agent Directory Entry Relationships. 48

6.4      Service Directory Entry Relationships. 49

6.5      Message Elements. 50

6.6      Message Transport Elements. 51

7     References. 52

8     Informative Annex A — Goals of Service Model 53

8.1      Scope. 53

8.2      Variety of Services. 53

8.3      Bootstrapping. 53

8.4      Dynamic services. 53

8.5      Granularity. 53

8.6      Example. 53

9     Informative Annex B — Goals of Message Transport Service Abstraction. 55

9.1      Scope. 55

9.2      Variety of Transports. 55

9.3      Support for Alternative Transports within a Single System.. 55

9.4      Desirability of Transport Agnosticism.. 56

9.5      Desirability of Selective Specificity. 56

9.6      Connection-Based, Connectionless and Store-and-Forward Transports. 56

9.7      Conversation Policies and Interaction Protocols. 56

9.8      Point-to-Point and Multiparty Interactions. 56

9.9      Durable Messaging. 57

9.10       Quality of Service. 57

9.11       Anonymity. 57

9.12       Message Encoding. 57

9.13       Interoperability and Gateways. 58

9.14       Reasoning about Agent Communications. 58

9.15       Testing,