Autonomous The Zen of the Web Services

The DARPA Agent Markup Language for Services (DAML-S) provides a mechanism that begins to bridge the gap between the Web services infrastructure and the Semantic Web.

Massimo Paolucci he Web, as we know it, is a collec- between them to date. Semantic Web and Katia Sycara tion of human-readable pages that research focuses mostly on markup lan- Carnegie Mellon University Tare virtually unintelligible to com- guages for annotating Web pages and on puter programs. While the Web emerged the inferential power needed to derive as a global repository of digitized infor- consequences from the annotated pages mation, this very information is, by and — essentially transforming the Web into large, unavailable for automatic compu- a knowledge base. Web services efforts tation. Two parallel efforts have emerged concentrate on interoperability standards in recent years that could overcome this and protocols for performing business-to- paradox: the Semantic Web1 is providing business (B2B) transactions. tools for explicit markup of Web content, In our work at Carnegie Mellon, we and Web services could create a network focus on research that attempts to bridge in which programs act as independent the gap. We adopt the vision of Web ser- agents that produce and consume infor- vices as autonomous goal-directed agents mation, enabling automated business that select other agents to interact with transactions. and that flexibly negotiate their interac- Ideally, these two efforts should sup- tion models, acting variously in port each other. The Semantic Web will client–server and peer-to-peer modes. The help create a repository of computer- resulting Web services, which we call readable data, and Web services will pro- autonomous Semantic Web services, use vide the tools for automatically using that ontologies and semantically annotated data. Somewhat surprisingly, however, Web pages to automate the fulfillment of there have been few points of contact tasks and transactions. In particular, these

34 SEPTEMBER • OCTOBER 2003 Published by the IEEE Computer Society 1089-7801/03/$17.00©2003 IEEE IEEE COMPUTING Autonomous Semantic Web Services

Web services Discovery: services use the Semantic Web to support capabil- composition: UDDI ity-based discovery and interoperation at runtime. WSCI, BPEL4WS A first step toward this vision is to develop for- XML Interface specification layer: WSDL mal languages and inference mechanisms for rep- resenting and reasoning with core Web service Messaging layer: SOAP concepts. The DARPA Agent Markup Language for Transport layer: HTTP, TCP, UDP, and so on Services (DAML-S)2 is the first attempt to define such a language. This article describes DAML-S Figure 1. Web services infrastructure. The current and some example computational models that infrastructure uses XML to describe multiple show how it can be viewed as the first step in layers of abstraction from the transport bridging the gap between the Semantic Web and mechanism. These include message description proposed industry standards for Web services. (SOAP), a mapping from messages to operations performed by the Web service (WSDL), abstract The Semantic Web process representation (BPEL4WS and WSCI),and for Web Services discovery (UDDI). One objective behind the Semantic Web is to pro- vide languages for expressing the content of Web pages and making that information accessible to lems through collaboration and negotiation. With- agents and computer programs. More precisely, the in this scheme, ontologies not only define a shared Semantic Web is based on a set of languages such conceptualization for interpreting semantic markup as the Resource Description Framework (RDF), of Web sites, but also provide a shared vocabulary DAML+OIL, and the more recent Web Ontology that lets services across the Web use the same ter- Language (OWL), which can be used to annotate minology to interpret each other’s messages. Web content. These languages have well-defined Ultimately, the Semantic Web will provide the and inferential procedures that let basic mechanisms for extracting information from agents draw inferences from the languages’ state- Web pages and the basic knowledge that Web ser- ments. Using the semantic markup for the US vices will use in all transactions. In addition to National Oceanic and Atmospheric Administra- knowledge, however, Web services need an infra- tion’s page reporting Pittsburgh’s weather condi- structure that facilitates reliable communication — tions, for example, an agent could learn that the registries to locate other services, reputation ser- current condition is heavy snow. The agent might vices, guarantees of secure and private transac- further learn from the Pittsburgh school board tions, and so on. Such an infrastructure falls out- site’s semantic markup that all schools are closed side the current view of the Semantic Web’s scope. on days of heavy snow. Combining the two pieces of information, the agent could infer that Pitts- Current Web burgh schools are closed today. Services Infrastructure The Semantic Web’s second element is a set of Researchers and developers have already proposed ontologies that provide conceptual models for many definitions for Web services. Simply put, interpreting the information provided. An ontol- they are programs that interoperate on the Web. ogy of weather might contain concepts such as The success of e-commerce in the late ’90s and the temperature, snowy, cloudy, and sunny, for recent plethora of interoperability standards pro- example, and relationships between the terms. posed for Web-based business transactions have The Semantic Web vision is about transforming generated significant interest in automating pro- the Web into an Internet-wide knowledge-repre- gram interactions for B2B e-commerce. These sentation system in which ontologies provide the efforts have created a vision of a Web of dynami- conceptual framework for interpreting the infor- cally interoperating nodes rather than static pages. mation provided by Web pages. To produce the This is the vision that Web services try to realize. types of inferences we’ve described, the Semantic Web requires computational processes and agents Basic Standards that can interpret semantic content and derive The Web services infrastructure will provide the consequences from the information they collect. basic standards that let Web services interact. The The Semantic Web also supports a more distrib- diagram in Figure 1 shows how some popular uted computational model in which a requester proposed standards could fit together. The unify- transacts with multiple Web services, solving prob- ing factor is XML, as shown by the left column,

IEEE INTERNET COMPUTING http://computer.org/internet/ SEPTEMBER • OCTOBER 2003 35 The Zen of the Web

... UDDI descriptions include a host of useful information, such as the Web service provider and that lets a requester invoke the service. In addi- tion, Web service descriptions in UDDI can refer to TModels — unbounded attribute sets that can resent any type of information about a given ser- vice. TModels can specify a Web service WSDL description’s location, for example, or a Web ser- vice’s classification within a taxonomy, such as the United Nations Standard Products and Ser- vices Code. Need for Autonomy One overarching characteristic of the Web services infrastructure is its lack of semantic information. ... It relies exclusively on XML for interoperation, but that guarantees only syntactic interoperability. ... Expressing message content in XML lets Web ser- vices parse each other’s messages, but it does not Figure 2. Example WSDL description. This service performs the facilitate semantic “understanding” of the mes- operation GetTradePrice, described by the input message sages’ contents. GetTradePriceInput (string) and the output message Consider the WSDL fragment in Figure 2, for GetTradePriceOutput (float). Much remains unknown, example, which describes a stock-reporting Web however, regarding the information to be encoded in the string and service. The service performs only one operation, how to interpret the output float. GetTradePrice, which requires one input, GetTradePriceInput (of type string), and pro- duces an output GetTradePriceOutput (of type which cuts across all layers. The two most popular float). This description specifies the syntactic type proposed standards are SOAP3 and the Web Ser- for the data transferred, but not what data it vices Description Language (WSDL).4 SOAP expects. We do not know, for example, whether the defines a format for passing messages between Web service expects a company name or a ticker Web services, and WSDL describes each service’s symbol as input; similarly, we do not know interface — how to contact it (through RPC or whether the output will be the latest quote, the asynchronous messaging, for example) and how stock’s beta value, or the 12-week average. to serialize the information exchanged. SOAP and Industry’s current proposals for the Web services WSDL describe the atomic components of Web infrastructure require programmers to reach services’ interaction. More recent proposed stan- explicit agreement on both the way their Web ser- dards, such as the Web Service Choreography vices interact and the format of the messages they Interface (WSCI)5 and Business Process Execution exchange. Programmers must hard-code these Language for Web Services (BPEL4WS),6 provide interactions, as well as the way the services should mechanisms for describing how multiple Web Ser- interpret the messages. Programmers are also vices can be assembled to participate in shared responsible for modifying their Web services when business processes. something changes in the interaction patterns or To facilitate service discovery, Web services reg- when something breaks. Ultimately, the growing istries are an important part of the Semantic Web Web services infrastructure facilitates the specifi- infrastructure. The emerging standard for Web ser- cation of agreements between programmers, but vices registries — Universal Description, Discovery, the fact that it does not support automatic Web and Integration (UDDI) — provides a set of pub- service reconfiguration creates an infrastructure lishing, browsing, and inquiry functionalities for that is inherently brittle, inflexible, and inevitably extracting information from a given registry. Using expensive to maintain. UDDI registries, developers can find Web services To overcome this brittleness, we need to increase that they want to use. Web services’ autonomy by letting them reconfig-

36 SEPTEMBER • OCTOBER 2003 http://computer.org/internet/ IEEE INTERNET COMPUTING Autonomous Semantic Web Services

DAML-S service Web services ure their interaction patterns. Any increase in Discovery layer: autonomy will let Web services react to changes composition: DAML-S process DAML-S while minimizing programmers’ direct intervention. model service profile

The lack of explicit semantics prevents Web XML Realization layer: DAML-S grounding services from acting autonomously by under- standing each other’s messages and what tasks Interface specification layer: WSDL each service performs. In addition, current Web Messaging layer: SOAP service proposals fail to enable semantic repre- sentations of business relations, contracts, and Transport layer: HTTP, TCP, UDP, and so on business rules in a machine-understandable way. Enriching the Web services infrastructure with Figure 3. Web services architecture using DAML-S. semantics will let Web services DAML-S provides semantic composition and discovery layers and a grounding to map Web • explicitly express and reason about business services descriptions to message-transport relations and rules; specifications. • represent and reason about the task a Web ser- vice performs (selling books or verifying credit cards, for example), thus enabling automated relates to other components of the Web services service discovery based on explicit advertise- infrastructure. A DAML-S Web service is specified ments and descriptions of service functionality; by four descriptions: • represent and reason about message ordering; • understand the meaning of exchanged messages; • the service profile, • represent and reason about preconditions for •the process model, using services and the effects of invoking •the service grounding, and them; and •a DAML-S service description that connects the • combine Web services to achieve more com- other three. plex services. Furthermore, DAML-S supports the use of WSDL The Semantic Web has the potential to provide to specify Web service interfaces, SOAP to describe the Web services infrastructure with the infor- the messaging layer, and some transport protocol mation it needs through formal languages and to connect two Web services. At the messaging and ontologies for reasoning about service descrip- transport levels, DAML-S is thus consistent with tions, message content, business rules, and rela- the rest of the proposed Web services standards. tionships between ontologies. The service profile provides a high-level view of a given Web service. It is the DAML-S analog to DAML-S the Web service representation that UDDI provides As both a language and an ontology for describ- in the Web services infrastructure, although the ing Web services, DAML-S attempts to close the two have some sharp differences as well as simi- gap between the Semantic Web and Web services. larities. Some information, such as a Web service’s As an ontology, it uses DAML+OIL-based con- provider, is present in both descriptions, but the structs to define the concept of a Web service; as a service profile supports properties such as the rep- language, DAML-S supports the description of spe- resentation of capabilities — the tasks the service cific Web services that users or other services can performs — that UDDI does not support. On the discover and invoke using standards such as WSDL other hand, UDDI describes the ports the Web ser- and SOAP. DAML-S uses semantic annotations and vice uses, whereas DAML-S relegates this infor- ontologies to relate each Web service’s description mation to other modules of the description, such to a description of its operational domain. For as the grounding (described below). example, a DAML-S description of a stock-report- The process model specifies the tasks a Web ser- ing service might specify the data it reports, its vice performs, the order in which it performs them, delay versus the market, and the cost of using the and the consequences of each. A client can use the service. The Web service’s clients might use process model to derive the service’s choreography, DAML+OIL to determine what kind of data the ser- or message-exchange pattern, by figuring out what vice reports, how to contact it, and so on. inputs it expects, when it expects them, what out- Figure 3 shows DAML-S’s structure and how it puts it reports, and when. The process model’s role

IEEE INTERNET COMPUTING http://computer.org/internet/ SEPTEMBER • OCTOBER 2003 37 The Zen of the Web

DAML-S/UDDI Matchmaker Communication Web-based Managing Web module DAML Services with DAML-S ontologies Now that we have a theoretical framework that relates DAML-S, the Semantic Web, and the Web services infrastructure, we need a computational DAML-S DAML-S/UDDI matching model that transforms theory into concrete translator engine Semantic Web services. We have implemented tools for Semantic Web service discovery and invocation making use of DAML-S and comple- menting current Web services systems. Here we UDDI describe the DAML-S/UDDI Matchmaker and the registry architecture of a DAML-S-empowered Web service.

Figure 4. DAML-S/UDDI Matchmaker architecture. Web services DAML-S-Enabled Service Discovery advertise or request through the communication module using The DAML-S service profile relies on ontologies DAML-S. Advertisements are stored in the UDDI registry, and to specify what type of information the Web ser- requests are sent to the DAML-S matching engine. vice reports and what effects its execution pro- duces. At discovery time, a Web service generates a request that contains a profile for the ideal ser- vice it wants to interact with. The discovery Web-based DAML ontologies process selects a Web service provider’s profile DAML-S matching engine that matches the request. Although DAML-S profiles and UDDI Web-ser- Advertisements Ontologies vice descriptions contain different information, database they share the goal of facilitating Web-service dis- covery. The combination could thus provide rich Matching DAML+OIL representations for Web services.7 Using UDDI’s engine reasoner TModels to encode DAML-S capability descrip- tions, we can reconcile the differences between the Figure 5. DAML-S matching-engine architecture. The matching two. Once we have the capabilities encoded, we process uses advertisements received by the registry and a DAML can add a new module to UDDI: the matching reasoner to locate which advertisements match the given request. engine performs inferences based on DAML+OIL logics and effectively adds capability matches to UDDI.8 The result is the DAML-S/UDDI Match- is similar to emerging standards such as BPEL4WS maker for Web services, shown in Figure 4. and WSCI, but focuses more on the effects of exe- The Matchmaker receives Web-service adver- cuting a service’s different components. tisements, information inquiries, and requests for The service grounding binds the abstract descrip- capabilities through the communication module, tion of a Web service’s information exchanges — which implements a simple inquiry-and-publish defined in terms of inputs and outputs in the process API. The communication module then sends the model — with an explicit WSDL operation, and advertisements and inquiries to UDDI through the through WSDL to SOAP messages and transport- DAML-S/UDDI translator, which transforms layer information. DAML-S encoded advertisements into UDDI format. DAML-S’s reliance on DAML+OIL, as well as The communication module directs requests for WSDL and SOAP, shows how proposed Web ser- capabilities to the DAML-S matching engine, which vices standards can be enriched with semantic selects those Web services whose advertised capa- information. DAML-S adds formal content rep- bilities match the request. The matching is compli- resentations and reasoning about interactions cated by the fact that providers and requesters have and capabilities to Web service specifications. different views on Web-service functionality. Thus, Therefore, DAML-S-enabled Web services use the matching engine can’t base the selection on UDDI, WSDL, and SOAP to discover other ser- strings or keywords. Rather, it must match seman- vices and interact with them, and they use tic descriptions of capabilities to access the deeper DAML-S to integrate these interactions in their meaning of the advertisements and requests. own problem solving. Consider, for example, a service provider adver-

38 SEPTEMBER • OCTOBER 2003 http://computer.org/internet/ IEEE INTERNET COMPUTING Autonomous Semantic Web Services

tising that it sells pet food, and a requester look- Web services ing to buy dog food. A UDDI-style registry would be unable to match the request because keyword matching is not powerful enough to identify the SOAP relationship between pet food and dog food. DAML-S Web service invocation Instead, DAML-S profiles let service providers service Axis's Web service description express concepts that are explicitly related via invocation framework ontologies. In this case, the provider could speci- DAML-S WSDL Web Service invoker fy that dog is a type of pet, and the DAML-S matching engine could recognize a semantic DAML-S virtual machine match between the request and the advertisement. Grounding The DAML-S matching algorithm accommo- rules dates the differences between an advertisement Process model Service and a request by producing flexible matches — rules DAML rules recognizing degrees of similarity — on the basis of DAML-S process Jess available ontologies. Basically, the matching model engine attempts to verify whether the requested outputs are a subset of those generated by the DAML parser advertisement, and whether the advertisement’s DAML-S Jena-to-Jess converter grounding inputs subsume those of the request. When these Jena conditions are satisfied, the advertised service generates the outputs that the requester expects and the requester can provide all the inputs the Figure 6. DAML-S-based Web service. The service uses the Web service expects. The degree of satisfaction information on the left to interact with other Web services. The between these two rules determines the degree of functionalities in the three center modules control the interaction, match between provider and requester. and the service module on the right is the service’s main body. Figure 5 shows the internal architecture of the DAML-S matching engine, which establishes the degree of match between requests and advertise- • the Web service invocation, ments. It relies on two data stores: the advertise- • the DAML parser, and ment database stores the Web services’ capabili- • the DAML-S virtual machine (VM). ties, and the ontologies database stores ontologies that have been downloaded from the Web. The The Web service invocation module is responsi- matching engine draws advertisements from the ble for contacting other services and receiving advertisement database and uses a DAML+OIL messages from them. Such transactions might be reasoner to verify the relationship between con- based on SOAP messaging, HTTP, or any other cepts in the ontologies database. mode of communication described by the service The DAML-S/UDDI Matchmaker’s architecture provider’s WSDL specification. combines the two approaches: it uses UDDI to Upon receiving a message, the Web service store advertisements and retrieve information invocation module extracts the payload and sends about Web services, and it exploits DAML-S to it to the DAML parser, which downloads represent and match capabilities. DAML+OIL ontologies and DAML-S descriptions of other services from the Internet. The parser then Using DAML-S to Manage Interactions transforms fragments of the ontologies into pred- The discovery process produces the Web services icates that the DAML inference engine can use. that provide a given capability. The next problem The DAML-S VM is the center of our imple- is to invoke those Web Services to solve a problem mentation. It uses the ontologies and DAML-S or answer a question. Semantic Web services can specifications passed to it by the parser and invo- use the DAML-S process model and grounding to cation module to make sense of the messages it manage their interactions with other Web services. receives, and to decide what kind of information to The diagram in Figure 6 shows a DAML-S-based send next. The VM uses a set of rules that imple- Web service’s architecture. The architecture’s core ment the semantics of the DAML-S process model is represented by the three components in the cen- and grounding. It uses the grounding to transform ter column: the abstract information exchanges described by

IEEE INTERNET COMPUTING http://computer.org/internet/ SEPTEMBER • OCTOBER 2003 39 The Zen of the Web

PI meeting Web service to learn the meeting’s dates and location. It then uses MS Outlook to Airline service Car rental service verify that there are no schedule conflicts for the user. Finally, the agent books flight, car, and hotel from different Web services using their DAML-S descriptions. In this application, the calendar agent is the ser- DAML-S/UDDI vice module, as shown in the generic DAML-S Web Matchmaker service in Figure 6. We expanded the Retsina agent’s functionalities by adding a planning com- ponent based on HITaP,10 a hierarchical planner that interleaves planning and execution. During September Sun Mon Tue Wed Thu Fri S at Web service 123456 the planning phase, the calendar agent attempts to 7891011 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 construct a plan that satisfies the goal of bringing 28 29 30 31 Calendar agent the user to the meeting. When it cannot satisfy one MS Outlook of the preconditions, the calendar agent first Figure 7. Test application architecture. The calendar agent uses the queries the DAML-S/UDDI Matchmaker to find a DAML-PI meeting Web service and the user’s MS Outlook calendar Web service that can fulfill it, and then queries the to organize a trip. agent located. The calendar agent then downloads the DAML-S Web service’s description and exe- cutes the process model using the DAML-S VM. the process model into concrete message content Finally, it extracts the information contained in the that it passes to the Web service invocation mod- messages exchanged with the Web services and ule, which generates the actual response messages constructs a travel schedule, which it saves in the and sends them to other Web services. user’s Outlook calendar. The right-hand column in Figure 6 shows the Web service’s main body: the service module. In a Conclusion financial consulting Web service, this module DAML-S is not just an academic concept. We can might contain software that performs financial cal- use it to automatically control interactions between culations or suggests stocks to buy. In the figure, it Web services, thus leading the way toward auto- is displayed as a “black box” because DAML-S does nomous Semantic Web services. The work present- not make any explicit assumptions about the ser- ed here shows the need for widespread ontologies vice. Rather, the goal is to facilitate autonomous to provide an inference framework that lets Web interaction between Web services. services resolve discrepancies and mismatches The service module is responsible for many of between the knowledge they’re using. the decisions that the Web service makes while By lowering the boundaries for automatic inter- using DAML-S. For example, a financial-consult- operation, ontology-based languages for describ- ing Web service might need to interact with a ing Web services have enormous potential for stock-quote service or financial-news services, business on the Web. Ontology-based languages sending them requests and information. It would let Web services adapt to changes in message con- then use the information it received to solve some tent or interaction protocol. As our prototype problem. The service also decides what to subcon- application shows, they also provide the basis for tract to other Web services, and which potential creating on-demand services. providers’ capability descriptions to submit to the DAML-S provides a first step toward achieving DAML-S/UDDI Matchmaker. this goal, but a lot of work remains to be done. It is unclear whether DAML-S provides all the infor- Test Application mation that is needed to represent Web services, for We tested our architecture by developing a set of example. More importantly, it is also unclear how Web services that collaborate to organize a trip to to fill the gap between DAML-S and the current a meeting of the DAML Principal Investigators. Web services infrastructure. Some work in this Figure 7 shows the resulting system’s organization. direction has been done — the DAML-S grounding In our scenario, the user asks the Retsina cal- and the mapping from DAML-S to UDDI, for exam- endar agent9 to make travel arrangements to the ple — but we do not yet know whether there is a meeting. The calendar agent contacts the DAML- “low hanging fruit” that could provide great and

40 SEPTEMBER • OCTOBER 2003 http://computer.org/internet/ IEEE INTERNET COMPUTING Autonomous Semantic Web Services

practical gains for the Web Services infrastructure Katia Sycara is a research professor in the School of Computer with minimal use of semantic information. Science at Carnegie Mellon University and director of the Advanced Information Technology Laboratory. Her Acknowledgments research interests include autonomous agents; planning; We thank Anupryia Ankolekar, Takahiro Kawamura, Takuya learning and coordination of multiple agents in open; Nishimura, Terry Payne, and Naveen Srinivasan for useful dis- uncertain, and dynamic environments; Web services; the cussions on different parts of this article. We also thank the Semantic Web; and case-based reasoning. She received a members of the DAML-S coalition for the many discussions on PhD in computer science from Georgia Institute of Tech- DAML-S. DARPA and the US Office of Naval Research sup- nology. Sycara is a member of the DAML-S coalition and ported this work as part of the DAML program under US Air the US chair of the SWSI executive committee. She is a fel- Force Research Laboratory contract F30601-00-2-0592 and the low of the AAAI, founding editor in chief of the Journal of Interoperability program under ONR contract N00014-02-1- Autonomous Agents and Multi-Agent Systems, and the 0499 to Carnegie Mellon University. 2002 recipient of the ACM Autonomous Agents Research Award. Contact her at [email protected]. References 1. T. Berners-Lee, J. Hendler, and O. Lassila, “The Semantic Web,” Scientific Am., vol. 284, no. 5, 2001, pp. 34–43. 2. DAML-S Coalition, “DAML-S: Web Service Description for the Semantic Web,” Proc. Int’l Semantic Web Conf. (ISWC), LNCS 2342, Springer Verlag, 2002, pp. 348-363.

3. M. Gudgin, et al., “SOAP Version 1.2 Part 1: Messaging dsonline.computer.org Framework,” W3C recommendation, 24 June 2003. IEEE Distributed 4. E. Christensen et al., “Web Services Description Language, version 1.1,” W3C note, Mar. 2001; www.w3.org/TR/ Systems Online brings 2001/NOTE-wsdl-20010315. you peer-reviewed 5. A. Arkin et al., “Web Service Choreography Interface (WSCI) 1.0,” draft specification, BEA Systems, Intalio, SAP features, tutorials, and AG, and Sun Microsystems, 2002; http://wwws.sun.com/ expert-moderated software/xml/developers/wsci/wsci-spec-10.pdf. 6. F. Curbera et al., “Business Process Execution Language for pages covering a Web Services, Version 1.1,” May 2003; http://www-106. growing spectrum of ibm.com/developerworks/library/ws-bpel/. 7. M. Paolucci et al., “Importing the Semantic Web in UDDI,” important topics, Proc. E-Services and the Semantic Web, LNCS 2512, including Springer Verlag, 2002. 8. M. Paolucci et al., “ of Web Services Capabilities,” Proc. Int’l Semantic Web Conf. (ISWC), LNCS ❍ Grid Computing 2342, Springer Verlag, 2002, pp. 333-347. 9. T.R. Payne, R. Singh, and K. Sycara, “Calendar Agents on ❍ Mobile and the Semantic Web,” IEEE Intelligent Systems, vol. 17, no. Wireless 3, May/June 2002, pp. 84–86. 10. M. Paolucci et al., “A Planning Component for RETSINA ❍ Distributed Agents,” Intelligent Agents VI, LNAI 1757, N.R. Jennings Agents and Y. Lesperance, eds., Springer Verlag, 2000. ❍ Security Massimo Paolucci is a principal research programmer at ❍ Middleware Carnegie Mellon University. His research interests include agent and multiagent architectures and their relation to the ❍ and more! Web and Web services, in particular. He received an MS in computational linguistics from Carnegie Mellon Universi- ty and an MS in intelligent systems from the University of

Pittsburgh. He is a member of both the DAML-S coalition To receive regular updates, email and the Semantic Web Services Initiative (SWSI) architec- [email protected] ture committee. Contact him at [email protected].

IEEE INTERNET COMPUTING http://computer.org/internet/ SEPTEMBER • OCTOBER 2003 41