======================================================================== Title ======================================================================== Agents for Web Services ======================================================================== Abstract (Brochure Description) ======================================================================== Web services have become an important paradigm for information technology architectures and applications. Because of their ubiquity and importance to industry, Web services are a great application area for agent techniques and a great substrate for developing serious agent-based systems. Agents are a natural fit because of their consideration of openness: autonomy, heterogeneity, and dynamism. This tutorial will present the key concepts, architectures, theories, techniques, and infrastructure of Web services with an emphasis on engagement---business transactions, processes, orchestration, and choreography, and standards for them. It will overlay conventional techniques with key agent technologies---communications, commitments, protocols, contracts, consistency maintenance, and organizations. Attendees will go away with a solid understanding of Web services, the challenges they face, relevant agent techniques, and the opportunities for applying those techniques to address challenges in Web services. This tutorial is self-contained. It is accessible to Web programmers, advanced developers, and students. For more information, please see http://www.csc.ncsu.edu/faculty/mpsingh/tutorials/ ======================================================================== Duration ======================================================================== Half-day ======================================================================== Motivation and Intended Audience ======================================================================== Web services are becoming increasingly important and the basic infrastructure for Web services is becoming quite common. There is an increasing recognition that agents and multiagent systems can be applied in service computing and service computing can facilitate agent-based systems. This tutorial will address sophisticated approaches support describing, discovering, and engaging Web services, leading up to service composition. Key topics include semantics, transactions, business processes, quality of service, compliance, and trust. The approaches studied are either based on, or complementary to, agents and multiagent systems. The intended audience includes those with an interest in how agents and multiagent systems relate to service computing. Typical attendees for past tutorials have been researchers and practitioners from industry and government, advanced developers, graduate and senior undergraduate students, and university faculty. ======================================================================== Detailed Outline ======================================================================== The services metaphor is catching on rapidly for the development of complex Web applications. Because of the heterogeneity and autonomy of web-sites, it is only natural that we model them as independent services. These services can be engaged through well-defined protocols. Protocols, in this sense, replace programming interfaces as an abstraction for programming. The first generation of the work on Web services has concentrated on the basic infrastructural needs, such as directory services, description languages, and invocation standards. The whole point of having Web services is that they be composed into more complex and more valuable services. Present techniques that are popular within the Web community address the challenges of composition only to a limited extent. Some of the most important higher-level abstractions are not studied within the community; instead classical programming techniques are lifted for Web services. These techniques, such as procedure calls, were developed for traditional closed systems. A lot more can and should be said about Web services, especially when we view them from the perspective of composition. For example, services in general are not invoked but are engaged, meaning that the interactions one has with them are quite unlike method invocations and are better modeled as parts of extended conversations. Similarly, discovering the right service is more than simply looking up a directory with a method signature. Some of the key techniques for service composition were developed in the areas of databases, distributed computing, artificial intelligence, and multiagent systems. These are generally established bodies of work that can be readily adapted for service composition. Some additional techniques, although inspired by these areas, must be developed from scratch, so as to address the essential openness and scale of Web applications that previous work did not need to address. Both classes of key techniques should be incorporated into our best practices for service design and composition. In many cases, they can be applied on top of the existing approaches. This tutorial seeks to discuss the key concepts in service composition. Its intent is to explain the true purposes of service composition, to evaluate existing approaches, and to present existing techniques from other areas that can be adopted for service composition, and lastly to introduce emerging techniques for addressing challenges that are unique to service composition. ======================================================================== Because of another tutorial at AAMAS-04 (by Sycara and Payne), we have reduced the emphasis on description and discovery. There is no prerequisite dependence with the other tutorial. ======================================================================== For this half-day tutorial (with 3.5 hours = 210 minutes of face time), we expect to allocate about 20, 40, 50, 30, 50, and 20 minutes, respectively, to the following sections. I. Introduction Basic concepts of Web services Web services architectures and standards Motivations and challenges for composition Upgrading the WS Triangle II. Description: Modeling and Representation Conceptual modeling of information and processes Ontologies and knowledge sharing Relevant standards: RDF, RDFS, and OWL Inferencing and tools Matchmaking III. Engagement Relevant standards: BPEL4WS, WSCL, WS-Tx, WS-C, ebXML Relaxed transactions Exception handling Monitoring and compliance IV. Discovery and Selection Distributed credentials Quality of service Reputation mechanisms Referral systems Application-level trust V. Composition Describing compositions Protocols Commitments and contracts Planning Negotiation Consistency maintenance Relevant standards: FIPA, OWL-S VI. Synthesis Engineering composed services Status and trends ======================================================================== Background Knowledge Required ======================================================================== Basic familiarity with agents and with distributed programming and the Web. ======================================================================== Tutorial History ======================================================================== This tutorial is based on our extensive study of the key technical challenges to Web services. Specifically related to this topic, we have given graduate courses, supervised graduate theses, and are writing a textbook. We gave tutorials related to this theme at the following major conferences. - International World Wide Web Conference, New York, May 2004 (two tutorials). - International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS), Melbourne, July 2003. - International World Wide Web Conference, Honolulu, May 2002 (two tutorials). ======================================================================== Presenter Biographies ======================================================================== The presenters have a long track-record in the theory and practice of large-scale software systems, and have been actively studying Web services. They also have extensive experience in teaching and in making tutorial presentations. Specifically, they have given graduate courses related to this tutorial, are writing a text in this area, and have presented tutorials at a number of international conferences. ==================================== MUNINDAR P. SINGH Munindar is a full professor in the department of computer science at North Carolina State University. From 1989 through 1995, he was with the Microelectronics and Computer Technology Corporation (MCC). Munindar's research interests include multiagent systems and Web services, where he specifically addresses the challenges of trust, service discovery, and business processes and protocols in large-scale open environments. Munindar is widely published and has over 150 articles to his name. Munindar's 1994 book Multiagent Systems, was published by Springer-Verlag. He coedited Readings in Agents, which was published by Morgan Kaufmann in 1998. Munindar is editing the Practical Handbook of Internet Computing to be published by CRC Press in 2004 and is coauthoring a new text, tentatively titled, Web Services and Beyond. Munindar was the editor-in-chief of IEEE Internet Computing from 1999 to 2002 and continues to serve on its editorial board. He is also a member of the editorial boards of the Journal of Autonomous Agents and Multiagent Systems and the Journal of Web Semantics, and serves on the steering committee for the IEEE Transactions on Mobile Computing. Munindar's research has been recognized with awards and sponsorship from the National Science Foundation, IBM, Cisco Systems, and Ericsson. Munindar obtained a B.Tech. in Computer Science and Engineering from the Indian Institute of Technology, Delhi in 1986 and a Ph.D. in Computer Sciences from the University of Texas at Austin in 1993. ==================================== MICHAEL N. HUHNS Mike is a full professor in computer science and engineering at the University of South Carolina, where he also directs the Center for Information Technology. Previously he was a Senior Member of the Research Division at the Microelectronics and Computer Technology Corporation. Prior to joining MCC in 1985, he was an associate professor of electrical and computer engineering at the University of South Carolina, where he also directed the Center for Machine Intelligence. Mike has been an adjunct professor in computer sciences at the University of Texas. Mike is a member of Sigma Xi, Tau Beta Pi, Eta Kappa Nu, ACM, IEEE, and AAAI. He is the author of over a hundred technical papers in machine intelligence and an editor of the books "Distributed Artificial Intelligence," Volumes I and II, and "Readings in Agents." His research interests are in the areas of distributed artificial intelligence, machine learning, enterprise modeling and integration, and software engineering. He writes a column "Agents on the Web" for IEEE Internet Computing. Mike is an associate editor for the Journal of Autonomous Agents and Multiagent Systems. He is on the editorial boards of IEEE Transactions on Mobile Computing, IEEE Internet Computing, International Journal on Intelligent and Cooperative Information Systems, and Journal of Intelligent Manufacturing. Previously, Mike was an associate editor for IEEE Expert and the ACM Transactions on Information Systems. He is on the Advisory Board for the First International Conference on Multiagent Systems, 1995, and has been on the Advisory Boards for several of the International Workshops on Distributed Artificial Intelligence. Mike received the B.S.E.E. degree in 1969 from the University of Michigan, Ann Arbor, and the M.S. and Ph.D. degrees in electrical engineering in 1971 and 1975, respectively, from the University of Southern California, Los Angeles. ======================================================================== Presenter Contact Information ======================================================================== Munindar P. Singh Department of Computer Science North Carolina State University Raleigh, NC 27695-7535, USA singh@ncsu.edu +1.919.515.5677 (voice) +1.919.513.4357 (fax) http://www.csc.ncsu.edu/faculty/mpsingh/ Michael N. Huhns Department of Computer Science and Engineering University of South Carolina Columbia, SC 29208, USA huhns@sc.edu +1.803.777.5921 (voice) +1.803.777.8045 (fax) http://www.engr.sc.edu/faculty/huhns/