FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS

 

 

FIPA Nomadic Application Support
Control Agent Specification

 

Document title

FIPA Nomadic Application Support Control Agent Specification

Document number

OC00063C

Document source

FIPA Nomadic Application Support

Document status

Obsolete

Date of this status

2000/08/04

Supersedes

None

Contact

fab@fipa.org

Change history

2000/08/04

Document made obsolete by FIPA00014

 

 

 

 

 

 

 

 

 

 

© 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     Control Agent Ontology. 2

2.1      Object Descriptions. 2

2.1.1      Service Description. 2

2.2      Function Descriptions. 2

2.2.1      Open Communication Channel 3

2.2.2      Close Communication Channel 3

2.2.3      Activate a Message Transport Protocol 3

2.2.4      Deactivate a Message Transport Protocol 4

2.2.5      Select a Message Transport Protocol 4

3     Examples. 5

4     References. 8


1         Scope

This document is part of the FIPA specifications and deals with agent middleware to support applications in nomadic environment. This specification also forms part of the FIPA Nomadic Application Support Specification [FIPA00066] and contains specifications for:

 

·         Control Agent (CA) functionality.


2         Control Agent Ontology

2.1        Object Descriptions

This section describes a set of frames, that represent the classes of objects in the domain of discourse within the framework of the FIPA-Nomadic-Application ontology.

 

The following terms are used to describe the objects of the domain:

 

·         Frame. This is the mandatory name of this entity, that must be used to represent each instance of this class.

 

·         Ontology. This is the name of the ontology, whose domain of discourse includes the parameters described in the table.

 

·         Parameter. This is the mandatory name of a parameter of this frame.

 

·         Description. This is a natural language description of the semantics of each parameter.

 

·         Presence. This indicates whether each parameter is mandatory or optional.

 

·         Type. This is the type of the values of the parameter: Integer, Word, String, URL, Term, Set or Sequence.

 

·         Reserved Values. This is a list of FIPA-defined constants that can assume values for this parameter.

 

2.1.1          Service Description

This type of object represents the description of each service registered with the DF.

 

Frame

Ontology

service-description

FIPA-Nomadic-Application

 

Parameter

Description

Presence

Type

Reserved Values

name

The name of the service.

Mandatory

String

fipa-mts-control

type

The type of the service.

Mandatory

String

fipa-ca

ontology

A list of ontologies supported by the service.

Optional

Set of String

FIPA-Nomadic-Application

protocol

A list of interaction protocols supported by the service.

Optional

Set of String

 

properties

A list of properties that discriminate the service.

Optional

Set of property

 

 

2.2        Function Descriptions

The following tables define usage and semantics of the functions that are part of the FIPA-Nomadic-Application ontology.

 

The following terms are used to describe the functions of the FIPA-Nomadic-Application domain:

 

·         Function. This is the symbol that identifies the function in the ontology.

 

·         Ontology. This is the name of the ontology, whose domain of discourse includes the function described in the table.

 

·         Supported by. This is the type of agent that supports this function.

 

·         Description. This is a natural language description of the semantics of the function.

 

·         Domain. This indicates the domain over which the function is defined. The arguments passed to the function must belong to the set identified by the domain.

 

·         Range. This indicates the range to which the function maps the symbols of the domain. The result of the function is a symbol belonging to the set identified by the range.

 

·         Arity. This indicates the number of arguments that a function takes. If a function can take an arbitrary number of arguments, then its arity is undefined.

 

2.2.1          Open Communication Channel

Function

open-comm-channel

 

Ontology

FIPA-Nomadic-Application

 

Supported by

CA

 

Description

An agent can request that a CA opens a communication channel. The communication channel description should contain enough information for a CA to be able to choose the right communication channel, that is, either the :name parameter or the :target-addr parameter must be present. The agent may also supply additional communication channel information by using the  :options parameter.

Domain

comm-channel (see [FIPA00065])

Range

The execution of this function results in a change of the state, but it has no explicit result. Therefore there is no range set.

Arity

1

 

2.2.2          Close Communication Channel

Function

close-comm-channel

 

Ontology

FIPA-Nomadic-Application

 

Supported by

CA

 

Description

An agent can request that a CA closes a communication channel. The communication channel description should contain enough information for a CA to be able to choose the right communication channel, that is, either the :name parameter or the :target-addr parameter must be present.

Domain

comm-channel

Range

The execution of this function results in a change of the state, but it has no explicit result. Therefore there is no range set.

Arity

1

 

2.2.3          Activate a Message Transport Protocol

Function

activate

 

Ontology

FIPA-Nomadic-Application

 

Supported by

CA

 

Description

An agent can request that a CA activates a Message Transport Protocol (MTP). The transport protocol description should contain enough information to allow the CA to identify the correct transport protocol. Additionally, the agent may supply address information to where the transport protocol connection should be opened. It is possible to give the address of the gateway and/or the address of the destination AP.

Domain

Sequence of transport-protocol (see [FIPA00065])

Range

transport-protocol

Arity

1

 


2.2.4          Deactivate a Message Transport Protocol

Function

deactivate

 

Ontology

FIPA-Nomadic-Application

 

Supported by

CA

 

Description

An agent can request that a CA deactivates an MTP.

Domain

transport-protocol

Range

The execution of this function results in a change of the state, but it has no explicit result. Therefore there is no range set.

Arity

1

 

2.2.5          Select a Message Transport Protocol

Function

use

 

Ontology

FIPA-Nomadic-Application

 

Supported by

CA

 

Description

An CA can request another CA to select an MTP for use between Agent Communication Channels (ACCs) using the FIPA-Propose interaction protocol (see [FIPA00036]). The requesting CA shall provide enough information to establish a working MTP connection. The direction of communication (either send, receive or both) and the list of MTPs must be present. The list of MTPs is an ordered list where the highest priority is the first item and the lowest priority is the last item in the list. The receiving CA shall select at most one MTP for the proposed direction of communication (either send, receive or both)

Domain

transports (see [FIPA00065])

Range

transports

Arity

1

 


3         Examples

1.       A CA registers with a DF (see [FIPA00023]):

 

(request

  :sender

    (agent-identifier

      :name ca@foo.com

      :addresses (sequence http://foo.com/acc))

  :receiver (set

    (agent-identifier

      :name df@foo.com

      :addresses (sequence http://foo.com/acc)))

  :language FIPA-SL0

  :protocol FIPA-Request

  :ontology FIPA-Agent-Management

  :content

    (action

      (agent-identifier

        :name df@foo.com

        :addresses (sequence http://foo.com/acc))

      (register

        (df-agent-description

          :name

            (agent-identifier

              :name ca@foo.com

              :addresses (sequence http://foo.com/acc))

          :services (set

            (service-description

              :name fipa-mts-control

              :type fipa-ca

              :ontology (set FIPA-Nomadic-Application))))))))

 

2.       An agent asks a CA to open a communication channel:

 

(request

  :sender

    (agent-identifier

      :name agent@foo.com

      :addresses (sequence http://foo.com/acc))

  :receiver (set

    (agent-identifier

      :name ca@mobile.com

      :addresses (sequence http://mobile.com/acc)))

  :language FIPA-SL0

  :ontology FIPA-Nomadic-Application

  :protocol FIPA-Request

  :content

    (action

      (agent-identifier

        :name ca@mobile.com

        :addresses (sequence http://mobile.com/acc))

      (open-comm-channel

        (comm-channnel

          :name GPRS

          :target-addr wap://wap-gateway.com:1234/acc))))

 


3.       An agent asks a CA to close a communication channel:

 

(request

  :sender

    (agent-identifier

      :name agent@foo.com

      :addresses (sequence http://foo.com/acc))

  :receiver (set

    (agent-identifier

      :name ca@bar.com

      :addresses (sequence http://bar.com/acc)))

  :language FIPA-SL0

  :ontology FIPA-Nomadic-Application

  :protocol FIPA-Request

  :content

    (action

      (agent-identifier

        :name ca@bar.com

        :addresses (sequence http://bar.com/acc))

      (close-comm-channel

        (comm-channnel

          :target-addr wap://wap-gateway.com:1234/acc))))

 

4.       An agent asks a CA to activate an MTP:

 

(request

  :sender

    (agent-identifier

      :name agent@foo.com

      :addresses (sequence http://foo.com/acc))

  :receiver (set

    (agent-identifier

      :name ca@bar.com

      :addresses (sequence http://bar.com/acc)))

  :language FIPA-SL0

  :ontology FIPA-Nomadic-Application

  :protocol FIPA-Request

  :content

    (action

      (agent-identifier

        :name ca@bar.com

        :addresses (sequence http://bar.com/acc))

      (activate (sequence

        (transport-protocol

          :name fipa.mts.mtp.wap.std

          :gw-addr wap://wap-gateway.com:1234/acc)))))

 


5.       An agent asks a CA to deactivate an MTP:

 

(request

  :sender

    (agent-identifier

      :name agent@foo.com

      :addresses (sequence http://foo.com/acc))

  :receiver (set

    (agent-identifier

      :name ca@bar.com

      :addresses (sequence http://bar.com/acc)))

  :language FIPA-SL0

  :ontology FIPA-Nomadic-Application

  :protocol FIPA-Request

  :content

    (action

      (agent-identifier

        :name ca@bar.com

        :addresses (sequence http://bar.com/acc))

      (deactivate

        (transport-protocol

          :name fipa.mts.mtp.wap.std

          :gw-addr wap://wap-gateway.com:1234/acc))))

 

6.       A CA asks another CA to use one of the specified MTPs as the communication mechanism between ACCs:

 

(request

  :sender

    (agent-identifier

      :name ca@foo.com

      :addresses (sequence http://foo.com/))

  :receiver (set

    (agent-identifier

      :name ca@bar.com

      :addresses (sequence http://bar.com/)))

  :language FIPA-SL0

  :ontology FIPA-Nomadic-Application

  :protocol FIPA-Propose

  :content

    (action

      (agent-identifier

        :name ca@bar.com

        :addresses (sequence http://bar.com/))

      (use

        (transports

          :send (sequence

            (transport-protocol

              :name fipa.mts.mtp.wap.std)

            (transport-protocol

              :name x-uh-mdcp))

          :recv (sequence

            (transport-protocol

              :name fipa.mts.mtp.wap.std)

            (transport-protocol

              :name x-uh-mdcp))))))

 


4         References

[FIPA00023]      FIPA Agent Management Specification. Foundation for Intelligent Physical Agents, 2000. http://www.fipa.org/specs/fipa00023/

[FIPA00036]      FIPA Propose Interaction Protocol Specification. Foundation for Intelligent Physical Agents, 2000. http://www.fipa.org/specs/fipa00036/

[FIPA00066]      FIPA Nomadic Application Support Specification. Foundation for Intelligent Physical Agents, 2000. http://www.fipa.org/specs/fipa00066/

[FIPA00076]      FIPA Agent Message Transport Protocol for WAP Specification. Foundation for Intelligent Physical Agents, 2000.
http://www.fipa.org/specs/fipa00076/