Sei sulla pagina 1di 13

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 integra-
tion 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 de-
scription 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 lo-
cate 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 orga-
nizations 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 pos-
sibility of reusability and composition of web services, these are emerging like
the new fundamental elements for the development of complex software applica-
tions. 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 con-
tributed 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 de-
scription 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.). Fur-
thermore, 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 vocabu-
laries with a formal and explicit semantics. Ontologies, which provide an explicit
and formal specification of shared concepts could be used for this intention. On-
tologies 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 lan-
guage 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 de-
velopments 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 matchmak-
ing 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 match-
making semantic-based system is presented. This system is based in the Service-
Profile semantic and the use of UDDI registries to maintain the descriptions of
the services. The reference for most researchers have been its matchmaking algo-
rithm. 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 advertice-
ment 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 dif-
ferent 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/OWL-
S 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 Process-
Model 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 ser-
vice 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 addi-
tional 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 cen-
tralized 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 ap-
propriate 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 matchmak-
ing process for LARKS specifications uses different techniques from information
retrieval, IA and software engineering that calculate semantic and syntactic sim-
ilarity between the advertisments and requested descriptions of the agent capa-
bilities. Matchmaking engine consists of five filters that progressively restrict the
number of advertisments that are canditdates for a match: the higher the pre-
cision, 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 pro-
cess 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 con-
sider 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, out-
puts, 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 subsump-
tion 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 capa-
bility 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 re-
lated 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 cal-
culates 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 com-
putation 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 advan-
tages 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 match-
ing 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 coali-
tion 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 over-
loaded systems which have local bottlenecks). Another case in which this ap-
proach 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 de-
pending 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 cir-
cumstances 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 match-
makers are defined in a segment of consumers and suppliers where they could be
created. When some of the previous circumstances decrease, for example the ser-
vice 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 discov-
ering services capable of satisfying a given client request. The first semantics-
based 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 dis-
covery 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 appro-
priate 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, usu-
ally 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 sug-
gested 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. In these distributed en-
viroments 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 Interna-
tional 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 Seman-
tic Web Technology. Twelfth International World Wide Conference (WWW2003),
pages 331-339, ACM. (2003).
6. Constantinescu, I., Faltings, B.: World Wide Web Consortium Efficient Matchmak-
ing 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 Confer-
ence 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 In-
ternational 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.) Co-
ordination 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 Descrip-
tion and Discovery. Service-Oriented Computing and Agent-Based Engineering (SO-
CABE’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 Work-
shop 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

Potrebbero piacerti anche