Given by Vasu Polisetty at Event: HPDC95 Tutorial Pentagon City on August 1 1995. Foils prepared December 2,95
Abstract * Foil Index for this file
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 |
This table of Contents Abstract
Srinivas Polisetty |
NPAC |
Syracuse University |
111 College Place |
Syracuse NY 13244-4100 |
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 |
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 |
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.
|
Agents have a Ômental state' similar to people in terms of epistemic logic |
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 |
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 |
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 |
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 |
Local Computing Paradigm |
Distributed Computing Paradigm |
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 |
Types of Agents |
Based on the job that they do, they can be
|
Based on the paradigms they address, they can be
|
Personal On-line Assistant Agents |
They belong to particular people and act like simple electronic secretaries and do such things as
|
Application Agents |
These agents co-ordinate the transfer and processing of information among people and other agents and can be
|
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. |
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 |
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. |
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 |
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 |
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
|
Magic Cap (contd.) |
Magic Cap also includes many agent classes
|
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 |
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 |
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 |
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 |
Operating Environments & Issues |
Agent Expertise
|
Agent Communication
|
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 |
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 |
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
|
Safe-tcl
|
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |