AGENTS - LET THEM DO IT FOR YOU Overview of Issues for Web Agent Technology HPDC95 Conference Washington DC August 1 1995 Srinivas Polisetty NPAC Syracuse University 111 College Place Syracuse NY 13244-4100 Abstract of Web Agent Technology Presentation HPDC95 Washington August 1 1995 This broad overview describes rationale for agents including applications and exemplars such as Telescript, Smalltalk Agents, Tcl/Safe-tcl, Java/Hotjava, KQML Introduction What are they? Depends on who is asking the question Agents are on-line pseudo-people Agents are an ideal foundation for Core AI research Agents are intelligent on-line assistants Agents are negotiators Introduction Agents as On-line Pseudo-people Agents are ontologically grounded in their role in the agent community Agents have beliefs, commitments, obligations, intentions, and even confusion, stubbornness, etc. Ex: Agent1 sent agent2 an e-mail because it felt ÒobligatedÓ, or perhaps Agent1 crashed the network because it was ÒconfusedÓ Agents have a Ômental stateÕ similar to people in terms of epistemic logic Inroduction Testbed for Core AI Research Agent based research encouraged knowledge representation and communication languages development This led to the design of an agent communication language (ACL) intended as a universal medium for agent discourse A careful dialogue among agents calls for an ÔintelligentÕ understanding of the situation and the steps to be taken to achieve the goal Introduction Intelligent On-line Assistants Agents act as artificial secretaries which are the electronic counterpart of their real-world namesakes Agents can interact with some particular preexisting applications Agents are designed to learn and predict usersÕ behaviors and preferences assisting the user with his selections Introduction Agents as negotiators Groups of agents can make decisions or form coalitions Applications (like meeting schedulers) involving complex time-constraints can be easily handled by agents without the person bothering about the intricate constraint balancing (or perhaps without hurting anyoneÕs feelings) Agents can also handle humanly unmanageable situations because of computational ability and agility Agents Technology & Operation Overview Agents can be both local or distributed system architecture based Activated by a certain message (input) sent by either a user or other agent Can be visualized as a set of extended-RPC modules Agent program may be built from procedural components or from classes of objects Can be executed in either machine or interpreted language Agents Technology & Operation Local Computing Paradigm Agent Technology & Operation Distributed Computing Paradigm Agents Technology & Operation Local & Distributed Computing Paradigm Application Environment contains one or more applications like information search & retrieval, transaction front-ends, mail clients etc. Execution environment contain programs which return and accept parameters to and from agent programs respectively Messaging Sub-system is bounded to Execution environment in order to send and receive agents/user-commands via the communication infrastructure Agents Technology & Operation Types of Agents Based on the job that they do, they can be Personal on-line assistant agents Application agents Based on the paradigms they address, they can be Transportable agents Interface agents Learning agents Agents Technology & Operation Personal On-line Assistant Agents They belong to particular people and act like simple electronic secretaries and do such things as Automatically respond to requests to schedule by consulting their ownerÕs private schedule Keep track of ownerÕs whereabouts and provide information on request contact their owner (by fax, e-mail etc.) based on his/her location filter and sort incoming e-mail, faxes etc. based on owner preferences Agents Technology & Operation Application Agents These agents co-ordinate the transfer and processing of information among people and other agents and can be Text processing systems - which can find a document containing a particular address from an e-mail, from a postscript document etc. from various other agents Reception agents - which accept requests and determine their destinations interacting with other agents Time schedulers - which schedule after negotiating among othersÕ personal agents Agents Technology & Operation Transportable Agents Uses client-server network interface Support the movement of the client computation to the location of the remote resource Have potential to be flexible and more efficient (e.g.: are capable of suspending their execution, transport themselves to another host, and resume execution) Consume fewer network resources and can support systems that do not have permanent network connections, such as mobile computers etc. Agents Technology & Operation Interface Agents Provides a means to bind the usersÕ preferences with applications Are provided sufficient state information and user preferences to make future predictions Allow applications to create objects in agents world Executes actions according to applications insuring atomicity and synchronization while involving inter-application communication Agents Technology & Operation Learning agents Add additional power for agents to deal with real-world problems Adapt to a system domain and to the problem it has to solve Adapt to other agent-behavior and make problem-solving smoother Learn from failures, successes, differences, and feedback from users etc. Agents Technology - A Case Study General MagicÕc Magic General Magic (GM), the company that created the preeminent agent operating environment to date, Telescript It counts several ÔalliancesÕ like Apple, AT&T, Fujitsu, Matsushita, Mitsubishi Electric, Motorola, Northern Telecom, Sony and Toshiba GMsÕ Magic Cap operating system is the core technology of SonyÕs Magic Link and MotorolaÕs Envoy GMÕs Telescript is at the heart of AT&TÕs PersonalLink service What are these buzz words? Telescript Telescript technology provides a software foundation for electronic messaging and distributed processing with personal communicators, computers, telephones, and the networks that link them together Telescript networks are platforms for the developers that support the creation of Ôcommunicating applicationsÕ (agents) Uses Ôremote programmingÕ, in which complete programs, transported from one network to the other are then executed by the receiving device An interpreter called a ÔTelescript engineÕ running on each ÔdeviceÕ provides the environment for executing these programs What are the buzz words? Magic Cap One such ÔdeviceÕ is a Magic Cap platform Magic Cap platform includes Telescript agent classes that can travel to and communicate with the agents and places in the Telescript networks Magic Cap includes two Telescript places Ôinbox placeÕ receives agents bearing telecards from the service and corresponds to the Magic Cap in box that users see Ôcustomization placeÕ hosts agents that prepare custom rules for the userÕs mailbox in the service, such as auto-forward and auto-delete rules What are the buzz words? Magic Cap (contd.) Magic Cap also includes many agent classes when the user collects mail, a Ômail collector agentÕ goes from Magic Cap to the userÕs mailbox in the Telescript network to check for mail The network creates and sends back a Ômail summary agent; that lists the contents of the mailbox As the telecard themselves are collected, the network sends a Ômail escort agentÕ to Magic Cap with the messages, which is received by the in box place in Magic Cap In addition to these built-in places and agents, the communicating application will likely create its own places and agents in Magic Cap and in the Telescript network What are the buzz words? SonyÕs Magic Link It is a ÒPersonal Intelligent CommunicatorÓ, helps manage all your communications, by helping you to reach anyone by e-mail, fax, phone, or pager Uses Magic Cap platform, and AT&T PersonalLink services Personal - because itÕs small, lightweight, fun-to-use and can be tailored to your individual ways of working Intelligent - means that it can intuitively help you manage tasks, information, and messages. Remind you of your appointments, routing and sorting e-mail, keeps track of expenses with Pocket Quicken and keeps your calendar etc. Communicator - means that it helps you to communicate more effectively and efficiently by e-mail, fax, phone, and pager What are the buzz words? AT&TÕs PersonalLink Serve as the foundation, or ÔhostÕ, for an electronic ÔcommunityÕ Customers are wide range of people including merchants, shoppers, people meeting, working, and playing Customers perform all of these activities electronically with the help of electronic Òintelligent assistantsÓ (agents), that represent each personÕs unique interests in the electronic community These agents are brought to life by Telescript technology The agents travel into the PersonalLink services community and, via simple commands, carry out the customerÕs instructions to find, buy and sell things, filter the available information to locate exactly what the customer requested, and save the customer time by performing complex transactions Agents Technology & Operation Other Players & Projects Lockheed AI Center - SHADE is working to define and prototype technology for agent-based collaborative engineering MIT AI Lab - Sodabot aims at creating agents whose primitives are designed around human-level descriptions of agent activity University of Massachusetts - researching an ARPA funded project whose goal is the development of a generic framework for Distributed, Planning, Scheduling, and Resource Allocation (DPSRA) MIT Media Lab - WEBHOUND recommends URLs of userÕs interest Oracle in Motion - a new technology utilizing a client-agent-server architecture, enables Microsoft Windows-based laptops to quickly and easily access critical corporate information via wireless networks, LANs and phone lines Anderson Consulting - CStar developed BargainFinder Agent that compares shops among Internet stores to find the best price for a compact disc. Apple recently introduced Apple Guide. Apple Guide scripts interact with the Mac OS using AppleScript and AppleEvents that allow outside programs that allow to manipulate the face that Mac presents to the world. Apple Guide is a good glimpse the effects that agents can have on the computers we use Agents Technology & Operation Operating Environments & Issues Agent Expertise Telescript Smalltalk Agents Tcl/Safe-tcl Java/HotJava Agent Communication Agents communication languages (KIF, KQML) Agents Technology & Operation Telescript Designed to handle network communications Moves executables among different machines Keeps incoming agents from writing to system memory Bars incoming-agent access to a hostÕs hard drive Uses cryptographic authentication to verify agent identities Agents Technology & Operation Smalltalk Agents A complete development environment for designing fully evolved agents Provides tools for creating user-friendly applications Can produce distributed client/server code, and provide extended-RPC Runs untested agents in protected mode Offers scalable levels of security Quasar Knowledge Systems sells enhanced version of Smalltalk, called Smalltalk Agents, that is intended to provide all the functionality of Telescript in a more traditional package Agents Technology & Operation Tcl/Safe-tcl Popularly known as the Language of the Internet Sun Microsystems hired Ousterhout to make Tcl the open scripting language for the internet Tcl Freely distributed on the internet A high-level, machine-independent scripting language Enables development of code for Unix and Windows applications Includes tools to bind small C programs to larger applications Safe-tcl Secure version of Tcl Agents Technology & Operation Knowledge Query & Manipulation Language (KQML) Agent Communication Languages (ACLs) like KQML are the key to developing future agents Complements work on representation languages for domain content, including Knowledge Interchange Format (KIF) Programs are autonomous and asynchronous KQML complements new approaches to distributed computing, which focus on the transport level KQML messages are Performative Agents Technology & Operation Java/HotJava Java is an interpreted C++ subset and HotJava is a multi-threaded Java-based dynamic browser with support for arbitrary simulation dynamics at the client-side Chunks of Java scripts (applets) can be inlined as custom HTML tags HotJava responds to an applet tag by performing a dynamic action at the client-side Well-suited for WWW based agent applications Agents & Security Things You Should Know!! Trojan Horse - is a program that does something that the programmer intended, but the user would not approve of if he knew about it in advance Virus - is a program that spreads, by making copies of itself in one way or another Worm - is a self-sufficient program that spreads by spawning copies of itself on other hosts in a network Flash Crowd - migrates from server to server, leading to hard-to-remedy travelling overloads Agents & Security Things You Should Know!! Weed - is a program (or anything in the system) that uses such a small amount of resources that itÕs often not cost-effective to do anything about it. Freeloader - is a program that uses some system or server resources to survive and possibly benefit its creator, without paying for them Flying Dutchman - is a freeloader that spawns a copy of itself just before termination Zombie - is a program that continues to consume some resources anyway, even after its termination, due to delays in cleaning all associated resources Agents & Security Solutions Secure authentication methods (e.g.: digital signatures) must be used Maintaining a log of all agents incoming and outgoing should be maintained For each agent, the creatorsÕ contact and a manual/draft on it is worth maintaining Pre-entry processing for viruses/worms and uninvited guests should be done Intelligent monitoring processes must be spawned regularly Agents & Ethics Server Agent Ethic (SAE) Identity - an SAÕs activities should be readily discernible and traceable back to its operator Openness - information generated by an SA should be generally accessible Moderation - the pace and frequency of information acquisition should be appropriate for the capacity of the server and network Respect - an SA should respect the constraints placed upon its server operators Authority - an SAÕs services should be accurate Agents & Ethics User Agent Ethic (UAE) Identity - a UAÕs activities should be readily discernible and traceable back to its user Moderation - the pace and frequency of information acquisition should be appropriate for the capacity of the server and network Appropriateness - a UA should pose the proper questions to the proper servers, relying upon the service agents for the support regarding global information and server for local information Vigilance - The UA should not allow user requests to generate unanticipated consequences Future Agent Scenario With agent technology growing fast, daily new applications like WEBHOUND, Sodabot, Softbot etc. the future for agents looks great!! With the proposal of Uniform Resource Agents (URAs) as a means of specifying composite net-access tasks, Internet agents hold strong ground The emergence of Web technologies like Virtual Reality Modeling Language (VRML), Java and HotJava, considering VR from the perspective of software agents strongly encourages billions of people to acquire them