by Alberto Fernández and Sascha Ossowski
In open multi-agent systems (MAS), agents are often conceived as software entities capable of advertizing
the services they provide, locating other service providers that offer services potentially of interest to them, and negotiating agreements regarding service enactment. Although organizational models are usually present in agent-oriented design methodologies, they have not yet found their way into service description mechanisms for agents and consequently are not explicitly exploited by today's service discovery and composition mechanisms. We propose an approach that bridges this gap by making use of organizational concepts such as roles and interactions to extend current trends in semantic service description, matchmaking and composition in MAS.
In service-oriented MAS, agents need to be more than mere wrappers of the service interface: besides executing a service, they should be able to engage in different types of social interactions when providing services. In a healthcare assistance scenario, for instance, it is not enough for an agent providing a second-opinion service to come up with a diagnosis based on the service's input data; it should also be able to explain the outcome of service execution, recommend a treatment, or even query the client for more details about symptoms.
We have developed an organizational modelling technique that captures the different types of social interactions that can occur during the provision of a service, as well as the roles that take part in those interactions. The result is a taxonomy of roles and interactions that we use for service description, matchmaking and composition.
Agents use a service description language to specify relevant characteristics of the service(s) they provide. Most current approaches base their service descriptions on inputs, outputs, preconditions and effects. Sometimes additional parameters, like "category", are taken into account. In addition to this, our approach exploits organizational concepts to further characterize the contexts in which services can be used. We distinguish between service advertisements and service requests.
In service advertisements we specify (i) the role played by the provider in the interaction, and (ii) a set of roles that must be played by the requester agent for the correct accomplishment of the service. For example, a second-opinion provider may require that the requester be capable of providing information about their symptoms.
Service requests comprise two elements: (i) the desired roles of the service provider, and (ii) the set of roles that define the capabilities of the requester. For example, the requester of a second opinion can specify that it is able to provide information if needed.
We have developed a role-based matching algorithm that takes as input a service request and a service advertisement, and returns the degree of match between them. This is a real number between 0 and 1 by which service providers can be ranked for selection.
The semantic match of two roles, RA (advertisement) and RQ (query), is made based on the ontology of roles. It is a function that depends on the level of match (the subsumption relation between the two roles in the ontology), and the distance (number of arcs) between RA and RQ in the taxonomy. The semantic match between two services is made by searching for the role in the advertisement that best matches that in the query. Minimum and maximum are used for aggregation in the case of conjunctions and disjunctions in expressions, respectively.
If no adequate services are available for a specific request, a planning functionality can be used to build up composite services. In open large-scale service-oriented MAS, a pure AI planning approach can become impracticable due to the vast number of services (operators) that are usually registered in the directory.
We have put forward a method that exploits the MAS organizational information in order to heuristically filter out those services that are probably irrelevant to the planning process. Our heuristic is based on the plan dimension and on the number of occurrences of services in plans: the more important a service is, the greater the number of plans for which it is necessary and the shorter the plans for which it is required. We can approximate this information by storing and processing the plans historically created. However, the number of services and possible queries may become too large and the continual repetition of one particular service request is rather unlikely. To overcome this drawback, we cluster services into classes based on certain properties. In particular, we obtain service class information from the role and interaction taxonomies that are derived from the MAS organizational model.
The approach presented here has been implemented as part of the European IST project CASCOM. This project is developing, implementing and validating an agent-based service coordination infrastructure for the discovery, composition and execution of innovative Semantic Web services across mobile and fixed P2P service networks. In particular, as a component of the infrastructure, it is part of a field trial in medical emergency assistance that is currently running at the Tyrolean Hospital Consortium in Austria.
University Rey Juan Carlos,
Tel: +34 91 488 7084