Matchmaking in Multiagent Systems Ivar Ekeland1 and Roger Temam2 Department of Information Systems and Computation Technical University of Valencia Camino de Vera s/n. 46022 Valencia (Spain) Abstract. Today’s there is a great service variety to choose between different services to perform a specific task. With the seamless integration of networks this variety can be expected even to grow by orders of magnitude. The task of selecting an adecuate service, however can quickly grow tedious, if all services that are listed under a certain description have to be compared manually for the final selection. And what is more, the final selection does not only depend on service parametres like executions costs or accuracy, but also depends on the usefulness of objects or information that service offers. This problem is present in open enviroments where entities like web servicies or agents need to locate other entities to achive cooperation, delegation or interoperartion. For these reason these two approaches, web services an agents have deal with these problem proposing an automated and effient mechanism to determine a structural and semantic match descriptions between entities.
1
Introduction
The growth of the number of services in Internet provides a great amount of opportunities for the companies. Concretely there is a great potential in the creation of a value added to these services through mechanisms that facilitate interoperation, cooperation, delegation of tasks, location of resources,... For all of them, is necessary, firstly, to locate in an efficient way the entities with which one is going to carry out certain activity. This problem is present in two different technologies but with many points in common: agents and web services. Web services promote the interaction between applications. Services are a software components that can process a document XML that receives through combinations of application and transport protocols. More and more the organizations are adopting the standard protocols and of the web services based on XML, such as SOAP, WSDL and UDDI. Thanks to these standards and the possibility of reusability and composition of web services, these are emerging like the new fundamental elements for the development of complex software applications. Nevertheless, one of the requirements for the reusability and composition of services it is the ability to find the correct service or set of services. In the area of multi-agents systems the need for locating agentes with specific capabilities becomes more important. In open systems, agents can dinamically appear and disappear. Hence the agents do not know always the names and the locations of all agentes that constitute the agent society. For these reason finding
suitable agents (service providers) who might have the information or other capabilities requested by service requesters appears the necessity of automated search for agents services. In this paper presents a revision of the different solutions that have contributed both technologies to the problem of the service discovery. The rest of the paper is structured as follows. Section 2 gives a Service discovery description and also presents the fundamental elements that are involve in the discovery process. Section 3 introduce a description of a matchmaking algoritm. Section 4 we survey the existing state of the art in web service matchmaking algorithm and Section 5 we survey the matchmaking algoritm in agent systems. Section 6 we close with a summary and concluding remarks.
2
Service discovery
Informally, we can consider service discovery as the process to identify possible services candidates who can take care of a client request. In agreement with this definition there are several parameters that intrinsically are related to: – A set of services to be considered by the discovery process when a client request arrives, for example the set of all services or more concretely, the services which are registred in the registry of services. – services descriptions that are going to be looked for. These descriptions could include several types of information, from keywords to formal description properties of the service. The most important and fundamental part of a description is related to the functionality provided by the services. Of course, in addition to the service functionality, there are other characteristics that are relevant for a client and should be included in the search request. These characteristics are called nonfunctional service properties (for example the response times, confidence levels, availability, user preferences, etc.). Furthermore, user queries should express properly what they are looking for and users should be able to interpret and process the results that have been obtained from the discovery process. – Algorithm whose aim is the search of services with similar or exactly service descriptions. Mainly, the matchmaking algorithm consists of search possible matchings between possible services providers and service requests. This process of matchmaking could be structured in two stages: first stage where one determines the providers which offer the functionality requiered by the client and a second stage where the set of providers is refined. Could be a third stage where its consider the evaluation of the results obtained in the matchmaking process.
3
Algorithm in service discovery
Initially many of the algorithms of service discovery were based on a keyword search. This is a technique widely used for the information retrieval, but it
does not make a explicit use of semantics. Keywords used to recover relevant information do not have an explicit formalization and, therefore, they do not allow to make inferences to improve search results. For these reasons, as a second approach it was considered the use of vocabularies with a formal and explicit semantics. Ontologies, which provide an explicit and formal specification of shared concepts could be used for this intention. Ontologies provide a shared and explicit terminology to describe web services and queries with a logical formalization which allows the use of inference. Inside this kind of discovery we found several proposals based on the service description language used. Among them, the most important proposals use languages such as OWL-S, WSDL-S and WSMO. Most of the developed algorithms at the present time consider the semantics, and make use of ontologies to analyze the services descriptions that use the previously commented languages. One of the main existing disadvantages currently is based on service developments by different communities that tend to define different ontologies to describe such services. This is the reason of one of the main problems that arise is the difficulty to obtain interoperability and the necessity to make translation ontologies processes. Some of the algorithms presented in this paper face this problem and propose alternatives to solve them, but the great majority does not consider this aspect. For the improvement of the performance of the existing algorithm right now there are proposals that mainly are based on extending the service descriptions to include characteristics that could help to refine the set of results or bound before the set of possible services to take into consideration. Between those characteristics they are the QoS, user information, information related to systems (like roles or interactions), history information... Another problem that discovery algorithms should resolve is being aware of service composition. For it, besides considering service descriptions it must consider the process description model that analyzes services at another level. This analysis may increase the possibility of matching (although the result might be just a partial matching ) and more flexibility. In the next sections algorithms which deal with some of these problems in web services environments and agent systems are introduced.
4
Service discovery in web services
Most of the matchmaking algorithms in web services are based on languages such as WSDL-S[1],WSML[2] or OWL-S [3][4][10][9][11][12][25]. OWL-S is one of the most used languages for the service description and therefore they use the information contained in those type of descriptions to be able to make a suitable matchmaking. The main differences between the existing algorithms based on OWL-S are related to the information about services that they use to carry out the matchmaking process (if they use the information contained in the ServiceProfile or the ServiceModel) and with characteristics of the automatic
discovery such as if they consider service composition, if they are able to manage different ontologies, if they use semantic information... The first service discovery algorithm based on DAML-S(OWL-S) that uses semantics was developed by Paolucci et al.[3]. This model and its matchmaking semantic algorithm have been used by most researchers as its bases for later algorithms that have made small modifications on this one. In this work a matchmaking semantic-based system is presented. This system is based in the ServiceProfile semantic and the use of UDDI registries to maintain the descriptions of the services. The reference for most researchers have been its matchmaking algorithm. This algorithm, based in [16], deals with the importance in matchmaking classification of the service outputs. A matching between a service advertisment and a service request consists of matching all the service request outputs with those of the service advertisment; and all the inputs of the service adverticement with those of the service request. The degree of similarity between service provider and server request will depend on the degree of similarity between input and output parameters (IO’ s). The similarity degree depends on the relation between the concepts (taken from the ontologies) that are being compared, and it is reduced generally to the minimal distance between them in the taxonomic tree. The denomination of the degrees varies according to literature [4], [5], [3], [6]. The algorithm that has been described is limited by discoveries of simple services, it does not consider the composition discovery as well as the use of different ontologies. Another lack is that the process of matching does not consider parameters related with QoS, only is based on the input and output parameters. From this algorithm arose others [4] [7] [25] that modified it to cover some of their deficiencies. In [7] the algorithm presented allows to manage multiple ontologies. The matchmaking described considers two levels of analysis besides of the semantic one: sintactic and QoS (time,cost,reliability). Wolf-Tilo y Matthias Wagner defined a different matchmaking algorithm [8]. In this algoritm first they make a search based on keywords, and later, once obtained a list of results, the user could introduce I/O parameters that must have the services and the values to introduce for these parameters. Later a reasoner eliminates those services that do not have these defined parameters and the resultants will be executed with the values that the client introduced. The results of the executions are ordered following some restrictions that benefit the client, like the quality of service. Aversano displays a discovery algorithm[9] that allows service composition discovery. The algorithm takes as objective the outputs of the user request and considers the possibility of reaching it with an only service. If it is not possible to satisfy the user request with only a service, the method includes a backward chaining algorithm with the purpose of verifying the possibility of finding a match for the user request by means of a composition of several services. This algorithm is also capable of performing a cross ontology matching for service descriptions that use different ontologies is presented. In [25] an hybrid matchmaking algorithm computes the degree of semantic matchmaking for a given pair of service advertisments and requests by succes-
sivily applying five different filters exact, plug-in, subsumes, subsumed-by and nearest-neighbor. The first three are logic based only whereas the last two are hybrid due to the required additional computation of syntactic similarity values. The matching algorithms described until now are based on DAML-S/OWLS use the service profile. The matching based on the service profile (similar somehow to matching two black boxes) allows to match a service request asking for two outputs o1 and o2 with a service advertisement that provides either o1 or o2 but not necessarily both o1 and o2 (e.g., a choice process)[11]. Indeed, in order to clearly specify the behaviour of such service one would have to provide two service profiles corresponding to the two alternatives. As one may note this would lead to advertising a large number of profiles, even for non trivial services. Moreover, analysing Web services only through their service profile (i.e., their IOs), severely affects the process of discovery of service aggregations that satisfy a request. Indeed, the service profile does not describe the internal behaviour of services and hence it does not provide valuable information needed for composing services. The first algorithm of discovery based on the analysis of the OWL-S ProcessModel was proposed by Bansal and Vidal[10]. The Bansal and Vidal algorithm stores advertisments of services as tree structures corresponding to its process models. The compound processes correspond with intermediate nodes whereas the atomic processes correspond with the leaves. The root of the process model corresponds with the root of the tree. The matchmaking algorithm begins in the root of the tree of the adverticement of the service and recursivamente it visits all the subtrees finishing in the leaves. For each node the corresponding matchmaking algorithm verifies the compatibility between the IOs and the IOs of the made consultation. SAM [11] is an extension of the matchmaking algorithm proposed by Bansal and Vidal in [10] but providing more flexible matching and considering the service composition in the situations in which the queries cannot be satisfied only by a service. It is very frequent that we have to make a composition of services. SAM also can give back, when a complete matchmaking is not possible, a list of partial matchmakings (a composition of subservices that can provide only certain requested outputs by the client.) When it does not find any match, SAM besides to give back partial matchmakings, is able to suggest to the user additional inputs that can be enough to reach complete match. This algorithm does not consider the use of different ontologies. In [12] appears an extension of SAM based on hypergraphs who allows to cross different ontologies. The alternative of the use of the Process Model comes because in it could be defined IO’ s that perhaps are not defined in Profile. Nevertheless, the idea that can be considered is that the Semantic Web community has been developed the subontology Profile with this aim, whereas the subontology of Process Model is oriented to a more physical service description and how it is the execution sequence that has to be followed. Another drawback that has the use of Process Model is the greater cost of execution of the algorithm because this one is much more complex.
5
Service discovery in agents systems
Agents in open multiagent systems could have to do tasks for which they do not have the necessary capability to carry out it. Nevertheless, the agents can delegate these tasks to other agents to do it instead of them. In order to do this, the agents need to maintain contact information of other agents or be able to acquire it. With this purpose many mechanisms of agents location can be considered. The solutions to the agent location problem follow two lines mainly: a centralized approach using centralized organizations and a distributed approach. Agents designers, when they design these agents to make an opened multiagent system, must consider these approaches to provide to the agents with the appropriate capabilities to locate other agents. Nevertheless select an approach or another one is not a trivial task. 5.1
Service discovery algorithms in middle agents
The approach based in middle agents is used in open and dynamic systems where the scalability and the workload are low. The main advantages are that could provide a optimal matching, because the can take into account all the registred sevices in the system. Furthermore middle agents usually make an efficient search and get a good throughput. The most important drawbacks are that this kind of agents could be a bottleneck in systems with high work load. Also they are complex, need a huge amount of memory to keep advertisments, and should be able of understand a variety of languages. One of the first matchmaking algoritm used in agents systems was presented in [16]. This uses an own language, LARKS. LARKS is a expressive language able to support automatic inferences. The implementation of the matchmaking process for LARKS specifications uses different techniques from information retrieval, IA and software engineering that calculate semantic and syntactic similarity between the advertisments and requested descriptions of the agent capabilities. Matchmaking engine consists of five filters that progressively restrict the number of advertisments that are canditdates for a match: the higher the precision, the longer the time the matchmaker needs before delivering an answer. These filters can be configured by the user to reach the wished quality solution. This algorithm have the disadvantage of using an own language for the service description. Another item to take into account is that in the matchmaking process there are not considered criteria related to the user preferences or QoS. In addition,as in other matchmaking algorithms seen in the web services[3][4][8], the service composition is not considered either. Another algorithm have been developed taking in account criterias related to QoS or user preferences. On [17] the matchmaking algorithm is based on the semantic information of the service descriptions coded with DAMLS. The algorithm is very similar to the presented by Paolucci in [3] but it considers the user preferences related to QoS. The main characteristic of the algorithm is that it divides the matchmaking procedure in several parts: input matching, output
matching, profile matching and user matching. Each part is independent of the other three which makes the process more flexible. The final result will be based on the results of each stage of matchmaking. In [19] is presented a matchmaker agent which its aim to obtain a service with a certain QoS. With the purpose of assuring the election of the quality of a requested service, matchmaker communicates with an QoS authority. Besides the functions of the matchmaker agent we could emphasize also another fuctions such as service coordination based on protocols and the capabililty to obtain services considering quality and confidence. An extension of IMPACT[22] is presented in [21]. This extension consist in to add to the usual service description (service name, inputs, outpus, attributes) an extra component that consists in a registry that keeps the evaluation that other consumers gave to this service. The registry is formed by tuplas of two elements: the number of times that it has been delegated a tas and de satisfaction degree of the executed service. Another important aspect for matchmaking algorithms is to be able to consider service composition. In [18] like in the algorithms presented previously in web services [11][12][10], is used the Process Model based on the process as a key concept, and that describe the service not only in terms of inputs, outputs, preconditions, effects, but also, when it is appropriate, its composition in subprocesses. Flexibility in an important characteristic in this kind of algorithm. PHOSPHOROUS[20] use EXPECTS language to express the agent capabilities and request. These are atomatically traduced in Loom descriptions which are organized in a subsumption hierarchy that explotes the descriptions in the ontology domain. PHOSPOROUS reason not only with the parametres but also with the complete expresion that especifies capabilities and requests, including whatever constraint in the capability constraints. PHOSPHOROUS use a matching based on the reverse of subsumption to find agents whose capabilities are subsumed by the capabilities of the request and therefore they can satisfied some aspects from the original request. In other cases it could be possible to complete the request splitting it and expressing it in a different terms. PHOSPHOROUS also allows the query reformulation, providing a more flexible service. To improve the service matchmaking, algorithms could use information related with the system in which the agents are. In [23] it is taking into account the system aspects such as organizations, roles or interactions. The mechanism for the service discovery in multiagent service could use the information provided by the organizational model of the system. Following this idea a matchmaker which make use of the roles and interactions types is presented. The matchmaker is an extension of the hybrid matchmaker OWLS-MX[25] to improve the eficiency and precision of the matching process. The main function of the algoritm calculates the matching degree between the requester rol and a rol of a service adverstisment. For each rol the service advertisment matching is calculated as well as the matching between the necessary roles and requester capabilities. The minimun value between both values it is considered the matching degree. The
semantic match between two roles is calculated in base of the role ontology and it depends on two values: the match degree and the distance between roles in the ontology. Another extension of the hybrid matchmaker OWLS-MX is presented the CASCOM abstract architecture [24]which has as aim the combination of agent technology and semantic web services, peer-to-peer, and the movil computation for sevice movil environments. This architecture presents in its service coordination layer a semantic discovery service that is composed of two types of agents: Service Discovery Agent (SDA) y Service Matchmaking Agent (SMA). The algorithm presented is based on OWLS-MX matchmaker[25]. 5.2
Service discovery algorithms in distributed entities
Different approaches were suggested to overcome the above mentioned problems related with the centralized paradigm. These solutions distribute the information about agents capabilities among other system elements. These approaches are suggested in environments with high scalability and workload. The main advantages that provide are not only one fail point, a decreese in time comunications, the memory needed is spread between agents, direct queries between providers and requesters, ... The main drawback is that some distributed approaches such as coalitions or peer-to-peer do not guarantee a matching or the best matching and in some situations the broadcast could overload the system comunications. Peer-to-peer A peer-to-peer approach [26] takes advantage of the fact that each agent already knows about its own capabilities and those of a few peers, and uses peer-to-peer (recursive) search for locating agents with the needed capability. An agent broadcasts a query for reference to its neighbors, and an agent that receives such a request either offers its services to the original caller or broadcasts the request to its own neighbors. This approach relies on each agent indeed holding a neighbor list of its peers and adhering to the location protocol. The drawback of this kind of approach to service discovery is that the comunication among agents in this approach is essential and the overall comunication traffic overhead may be large. It also requires a connection model among the agents that will ensure a high number of correct answers (good hit ratio for queries) and in the same time control comunication overhead so that the network is not overwhelmed by the messages of the location protocol. This kind of approach is used in electronic comerce[26]. When the interorganization transactions start, first of all they need a matchmaking process in which the provider agents are matched with demandant agents. These matched agents can establish negociations directly or with the control of a referee entity. The matchmaking process allows match the agents with the less conflict interests. The algorithm match each provider with a buyer, so we can see the problem like a biparted graph, no directed, complete and weighted. The aim is find the suitable matching that maximizes the sum of the weighed edges. Coalitions Another way to use de knowledge to locate services in a distributed way is to form coalitions o clusters. Nevertheless, the choice of what coalitions
are going to be formed is a dificult task. This entails recursively to calculate the values of the coalitions and later selecting the coalition with the best result. The calculation of the coalition values can be made in parallel, but this phase requires that each agent knows the rest of agents of the system. In addition to determine the best value they have to use broadcast therefore in some situations the system could be overload. In [13][14]an algorithm for consumer agents that only wants a suitable matching but not the best is presented. In this algorithm each agent has a number of tasks and needs to delegate them in other agents. This agents are located randomly around its neighbors, checking if its caracteristics are similar to the searched caracteristics. When a matching between two agents is founded, its considered that these agents are able to cooperate. These agents get into a coalition which allows a each agent to extend its neighbors and the scope of search is extended for future tasks. In the case that the agent do not find another agent with the caracteristics that it found, the agent will find in other coalitions. The discovery mechanism presented in[15]is based in the use of relations. With the similarity of keywords, historical information and clustering, each agent can determina which relations should choose. Similarity beteween keywords is the ratio of keywords that an agent and its partner of relation have in common. Agents with keywords similar are going to be near in the relationship network. Furthermore, inside the clusters it could be possible to create new subclusters in which the second keyword is shared among the agent members. In this algorithm the historical relations is presented as an improvement of the algoritm. This information resume the previously correct discoveries in this relation. Distributed middle-agents Another way for agents to locate services in a more efficient way is the distribution of the middle agents o facilitators [29]. This approach consists on the distribution of the service directory, its memory and the pass messaging cost. Jha et al [28] propose split the function of the facilitator between a group of agents. The system designer assigns each host or segment of the system with a local matchmaker that provides service to agents in its vicinity (its segment). The local matchmaker can consult its peers or a central matchmaker whenever it cannot provide an answer to a local query. This type of solution reduces communication traffic and confines it to network segments (in which communication is fast). It further reduces message queue sizes, thus improving scalability and fault tolerance. This approach is applicable mainly in systems that have a hierarchical topology, in which information sharing can be confined to local segments. In systems with very large segments the problems of scalability are only marginally relieved by this approach (because the large segments become overloaded systems which have local bottlenecks). Another case in which this approach is not useful is systems with many cross-links between segments, in which case the overhead of coordinating among local matchmakers might be greater than the benefit from their distribution. In [27]an adaptative system is presented. The framework suggested allows
automatically, adaptable matchmaking methods for the service localization depending on the network structure and its characteristics. This approach is based on two levels: system adaptation level and node adaptation level. In the system adaptation level the system adapts based on the changing circumstances of the network, the number of nodes and the service load. If anyone of these circumstances increases, the system introduces new matchmakers that will reduce the service load of the central matchmaker. The new ones matchmakers are defined in a segment of consumers and suppliers where they could be created. When some of the previous circumstances decrease, for example the service load, a mechanism unify the segments and eliminates matchmakers created to increase the productivity of original matchmaker. In the node adaptation level, nodes suppliers or consumers could be promoted to matchmakers with small modifications. When matchmakers are not required in the system they could return to consumers or suppliers. In each segment there is a matchmaker in charge to look for the matchmakings between consumers and suppliers, in the case of not find a matching, the matchmaker is in charge to take that request to others matchmakers. The communication and cooperation between matchmakers are fundamental.
6
Conclusions
Today’s there is a great service variety to choose between different services to perform a specific task. With the seamless integration of networks this variety can be expected even to grow by orders of magnitude. The task of selecting an adecuate service, however can quickly grow tedious, if all services that are listed under a certain description have to be compared manually for the final selection. And what is more, the final selection does not only depend on service parametres like executions costs or accuracy, but also depends on the usefulness of objects or information that service offers. This process at first glance seems very simple, it is complicated by the fact that the providers and requesters are usually heterogeneous and incapable of understanding each other. A common language for describing capabilities and requests is needed. Besides an automated and effient mechanism to determine a structural and semantic match descriptions is also needed. In this work we have presented diferents matchmaking systems for discovering services capable of satisfying a given client request. The first semanticsbased algorithm for service discovery using DAML-S ontologies was developed by Paolucci et al.[3]. Their algoritm performs a matchmaking between service requests and service advertisment described as DAML-S service profiles. This algorithm does not deal with different ontologies and it does not address the issue of discovering service composition. The goal of [9] [10] [11] is to deal with service composition in the service discovery process. [10] is ther first service discovery based on the analysis of DAML-S process models of services. [11] extends [10] by considering both compositions and multiple executions of services. In [12] presents an extension of [11] that also address the task of crossing ontolo-
gies. In [9] another algorithm which also capable of performing a cross ontology matching for service descriptions that use different ontologies is presented. In the scope of agent systems also address the same problems with service discovery. The solutions to the agent location problem follow two lines mainly: a centralized approach using centralized organizations and a distributed approach. Agents designers, when they design these agents to make an opened multiagent system, must consider these approaches to provide to the agents with the appropriate capabilities to locate other agents. The approach based in middle agents is used in open and dynamic systems where the scalability and the workload are low. The main advantages are that could provide a optimal matching, usually make an efficient search and get a good throughput. The most important drawbacks are that this kind of agents could be a bottleneck in systems with high workload. [16] [17] [19][21][18][20][23][24]. Different approaches were suggested to overcome the above mentioned problems related with the centralized paradigm. These solutions distribute the information about agents capabilities among other system elements. These approaches are suggested in environments with high scalability and workload. The main advantages that provide are not only one fail point, a decreese in time comunications, the memory needed is spread between agents, direct queries between providers and requesters, ... The main drawback is that some distributed approaches such as coalitions or peer-topeer do not guarantee a matching or the best matching and in some situations the broadcast could overload the system comunications. In these distributed enviroments there are presented solutions in peer to peer[26] coalitions[13][14][15] and distributed middle agents[29][28].
References 1. Verma, K., Sivashanmugam, K., Sheth, A., Patil, A., Oundhakar, S., Miller, J.: Meteor-s wsdi: A scalable infrastructure of registries for semantic publication and discovery of web services. Information Technology and Management, (2004). 2. Keller, U., Lara, R., Lausen, H., Polleres, A., Fensel, D. : Automatic Location of Services. In Proceedings of the 2nd European Semantic Web Conference, LNCS 3532, (2005). 3. Paolucci, M.: Semantic Matching of Web Services Capabilities. The First International Semantic Web Conference (ISWC), (2002). 4. Abela, C., Montebello, M.: DAML enabled Web Services and Agents in the Semantic Web. WS–RSD’02, Erfurt Germany, October (2002). 5. Lei, L., Horrocks, I.: A software Framework For Matchmaking Based on Semantic Web Technology. Twelfth International World Wide Conference (WWW2003), pages 331-339, ACM. (2003). 6. Constantinescu, I., Faltings, B.: World Wide Web Consortium Efficient Matchmaking and Directory Services. Technical Report No IC/2002/77, Noviembre, 2002. 7. Cardoso, J., Sheth, A.: Semantic e-Workflow Composition. Journal of Intelligent Information Systems (JIIS), (2002). 8. Wolf-Tilo, B., Matthias, W.: Towards Personalized Selection of Web Services The Twelfth International WWW Conference en Budapest, 2003.
9. Aversano, L., Canfora, G., Ciampi, A.: An Algorithm for Web Service Discovery through Their Composition. In Zhang, L., ed.: IEEE International Conference on Web Services (ICWS04), IEEE Computer Society (2004) 332–341 10. Bansal, S., Vidal, J.: Matchmaking of Web Services Based on the DAML-S Service Model. In T. Sandholm and M. Yokoo, editors, Second International Joint Conference on Autonomous Agents (AAMAS03), 926–927. ACM Press, (2003). 11. Brogi, A., Corfini, S., Popescu, R.: Composition-oriented Service Discovery. In Gschwind, T., Amann, U., Nierstrasz, O., eds.: Software Composition. LNCS 3628, Springer-Verlag (2005) 1530 Service Model. In T. Sandholm and M. Yokoo, editors, Second International Joint Conference on Autonomous Agents (AAMAS03), pages 926927. ACM Press, 2003. 12. Brogi, A., Corfini,S, Aldana, J., Navas, I.: Automated Discovery of Compositions of Services Described with Separate Ontologies. A. Dan and W. Lamersdorf (Eds.): ICSOC 2006, LNCS 4294, pp. 509514, (2006). 13. Ogston, E.,Vassiliadis, S.: Matchmaking Among Minimal Agents Without a Facilitator. Proceedings of the 5th International Conference on Autonomous Agents.(2001)608–615 14. Ogston, E.,Vassiliadis, S.: Local Distributed Agent Matchmaking. Proceedings of the 9th International Conference on Cooperative Information Systems. 2001. ISBN:3-540-42524-1 15. Moore, M., Suda, T.: A Decentralized and Self-organizing Discovery Mechanism. Proc. Of the First Annual Symposium on Autonomous Intelligent Networks and Systems, May 2002 16. Sycara, K., Widoff, S., Klusch, M., Lu, J.: LARKS: Dynamic Matchmaking Among Heterogeneous Software Agents in Cyberspace. Journal on Autonomous Agents and Multi-Agent Systems. 5 (1982) 173–204,Kluwer Academic Press. 17. Mecar, I.: Agent-oriented Semantic Discovery and Matchmaking of Web Services. 8th International Conference on Telecommunications-Con Tel.(2005) 603–607 18. Trec, K.,Devli, A., Jei, G., Kuek,M., Dei, S.: Semantic Matchmaking of Advanced Personalized Mobile Services using Intelligent Agents. Proceedings of the 12th International Conference on Software, Telecommunications and Computer Networks (SoftCOM 2004). (1978) 1013–1015 19. Corradini, B., Ercoli, C., Merelli, E., Re, B.: An agent-based matchmaker. In proceedings of WOA 2004 dagli Oggetti agli Agenti - Sistemi Complessi e Agenti Razionali (1988) 28–55 20. Gil, Y., Ramacachandran, S.: PHOSPHORUS: A Task-Based Agent Matchmaker. Proceedings of the International Conference on Autonomous Agents (Agents’01) (Short paper) Montreal, Canada, May (2001). 21. Zhang, Z., Zhang, C.: An improvement to matchmaking algorithms for middle agent. AAMAS, Bologna, Italy (2002). 22. Klusch, M., Sycara, K.: Brokering and Matchmaking for Coordination of Agent Societies: A Survey. Coordination of Internet Agents, A. Omicini et al. (eds.) Coordination of Internet Agents: Models, Technologies, and Applications. Springer, ISBN 3-540-41613-7. 23. Cceres, C., Fernndez, A., Ossowski, S., Vasirani, M.: Role-based Service Description and Discovery. Service-Oriented Computing and Agent-Based Engineering (SOCABE’06), held at The 5th International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS’06), Hakodate, Japan, May (2006). 24. Fernndez, A., Vasirani, M., Cceres, C., Ossowski, S.: An abstract architecture for semantic service coordination in agent-based intelligent peer-to-peer environments
poster paper at the ACM SAC Special Track on Coordination Models, Languages and Applications (SAC’06), Dijon, France, April (2006) 25. Klusch, M., Fries, B., Sycara, K.: Automated Semantic Web Service Discovery with OWLS-MX. Proceedings of 5th International Conference on Autonomous Agents and Multi-Agent Systems (AAMAS), Hakodate, Japan, ACM Press. Best Paper Award Nominee. 26. Ouksel, A., Babad, Y., Tesch, T.: Matchmaking Software Agents in B2B Markets. Proceedings of the 37th Annual Hawaii International Conference on System Sciences (HICSS’04) 27. Sigdel, K., Bertels, K., Pourebrahimi, B., Vassiliadis, S., Shuai,L.S.: A framework for adaptive matchmaking in distributed computing. In proceeding of GRID Workshop Cracow-04, January 2005. 28. Jha, S., Chalasani, P., Shehory, O., Sycara, K.: A Formal Treatment of Distributed Matchmaking Proc. of the 2nd Int. Conference on Autonomous Agents, 457–458 (May 1998). 29. Mullender, S. J. and P. M. B. Vitanyi.: Distributed Match-Making Algorithmica, 3, 367–391 (1988).
This article was processed using the LATEX macro package with LLNCS style