Exploiting Organizational Models for Semantic Service Description, Matchmaking and Composition in Service-Oriented Multi-Agent Systemsby Alberto Fernández and Sascha Ossowski In open multi-agent systems (MAS), agents are often conceived as software entities capable of advertizing 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. ![]() Figure 1: Service discovery and composition processes. 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. Service Description 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. Service Matching 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. ![]() Figure 2: CASCOM emergency assistance application scenario. Service Composition 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. Application Link: Please contact: |










