======================================================================== Title ======================================================================== Agents for Web Services ======================================================================== Brochure Description ======================================================================== This tutorial introduces the key ideas and techniques of Web services and shows how they relate to the key ideas of artificial intelligence as exemplified by agents and multiagent systems. ======================================================================== Overview (Can combine into two paragraphs if you like) ======================================================================== Web services have become an important paradigm for information technology architectures and applications. The main advantage of Web services arises from their "mashups" -- when we can compose them to create new services. Although some ideas needed for services originate in heterogeneous databases, distributed computing, and traditional AI, the essential openness and scale of the Web forces a rethinking of some key principles. For Web services to be effectively composed requires an understanding of several key concepts from agents and multiagent systems. This tutorial presents the necessary concepts and the associated architectures, theories, standards, and techniques to compose Web services effectively. Until recently, a lot of attention has been focused on lower-level, infrastructural themes, which either become obsolete or become assimilated into tools. This tutorial, by contrast, deals with the deeper foundational topics. It evaluates the state of the art and suggests several directions for research and development. ======================================================================== Duration ======================================================================== Half-day or full-day ======================================================================== 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 originate 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. ======================================================================== For this half-day tutorial (with 3.5 hours = 210 minutes of face time), we expect to allocate about 20, 40, 40, 50, 40, and 20 minutes, respectively, to the following sections. I. Introduction Open information environments Service-Oriented Architecture (SOA) and standards Challenges for composition II. Description Conceptual modeling of information and processes Ontologies and knowledge sharing Inferencing and tools Standardization efforts: RDF, RDFS, and OWL III. Engagement Process modeling Transaction models: subtle notions of integrity Exception handling Monitoring and compliance Standardization efforts: BPEL4WS, WS-CDL, WS-Coordination, ebXML IV. Collaboration Describing compositions Applying AI planning Protocols Commitments and contracts Negotiation Consistency maintenance Standardization efforts: FIPA, OWL-S, WSDL-S, SWSL V. Selection Distributed credentials Qualities of service Reputation mechanisms Referral systems Standardization efforts: WS-QoS, WS-Agreement VI. Synthesis Engineering composed services Challenges of service management Trends: services science ======================================================================== Target Audience ======================================================================== This tutorial is presented at a senior undergraduate student level. It is accessible to Web programmers, advanced developers, and students. Typical attendees for our past tutorials have been researchers and practitioners from industry and government, advanced developers, graduate and senior undergraduate students, and university faculty. ======================================================================== Motivation for IJCAI ======================================================================== Web services have led to a resurgence of interest in AI. We expect many likely audience members to be enthusiastic about services and knowledgeable about their basics. This tutorial will introduce such people to important concepts in AI, especially those that are reflected in agents and multiagent systems research. Other audience members with some knowledge in AI will find this tutorial valuable both in terms of applications for AI that they might not have thought of, and for identifying topics of greatest potential value, academically or commercially -- depending on their inclinations. ======================================================================== 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 written a textbook published by Wiley last year. We have given tutorials related to this theme at the following major conferences. - ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2004. - International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS), July 2004. - International World Wide Web Conference, May 2004 (two tutorials). The proposed tutorial will be updated and improved reflecting new developments and our experience in talking about them in class. ======================================================================== 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's 1994 book Multiagent Systems, was published by Springer-Verlag. Munindar edited the Practical Handbook of Internet Computing, published by CRC Press in 2004. With Mike Huhns, he coedited Readings in Agents (published by Morgan Kaufmann in 1998), and coauthored a textbook Service-Oriented Computing: Semantics, Processes, Agents (published by Wiley in 2005). 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 founding member of the editorial boards of the Journal of Autonomous Agents and Multiagent Systems and the Journal of Web Semantics. In 2005, he was general cochair for the International Joint Conference on Autonomous Agents and Multiagent Systems. Munindar's research has been recognized with awards and sponsorship from the National Science Foundation, DARPA, 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 the NCR Professor of 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," and an author of Service-Oriented Computing: Semantics, Processes, Agents. Mike wrote a column "Agents on the Web" for IEEE Internet Computing from 1997 to 2003. 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-8206, 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/