Platform Service
From Agent Factory
Introduction
A platform service is a shared resource that can be utilised by all agents residing on the Agent Platform on which it has been deployed.
The notion of a platform service is taken from the Foundation for Intelligent Physical Agents (FIPA) standards. In these standards, the purpose of a platform service defined as being “to provide support services for agents.” That is, a platform service implements some functionality that is needed by one or more agents in order to achieve the tasks that they are assigned.
Typical examples of platform services envisaged by FIPA include:
- Message Transport Services such as the HTTP Message Transport Service and the Local Message Transport Service;
- the Agent Management Service; and
- the Directory Facilitator Service.
However, the platform services concept can also be applied to other kinds of resource, including shared interfaces to databases, shared file management interfaces, or any other shared system resource. Three practical examples of such resources are:
- EFRAFA: A Efficient File Transfer Service.
- SoSAA Service: An adaptor service that allows agents to manage some underlying component framework.
- Whiteboard Service: An example of a shared workspace presented in the Platform Service Development Guide.
In Agent Factory, platform services are realised by extending the com.agentfactory.platform.service.PlatformService Java class. As is described in more detail in the Platform Service Development Guide, in order for an agent to use a platform service, it must first bind to that platform service. Conversely, when an agent has finished using the platform service, the expected behaviour is that they will unbind from the platform service.
Currently, platform services can only be declared statically via the Platform Configuration File. All specified platform services are started during the initialisation of the Agent Platform and are destroyed when the Agent Platform is shutdown.
