It provides support to users in the development and running of intelligent multi-agent applications.
Agents work together to solve a problem, each one specialising in one or more specific tasks.
To illustrate this, consider a Geographer agent that provides a RouteFinder service with methods to specify the start and end locations, specify any roads to avoid, and calculate the shortest route. It does not make sense to request the route before the start and end locations have been specified, although it would not be necessary to specify any roads to avoid before a route was requested. In short, a service interface is equivalent to the public interface of a class in object-orientation, but with an associated protocol. Traditional interface specifications only state what an interface does but not how to use it. This allows agent developers to service the protocol as defined by the service interface specification.