powered
by jeffsutherland.com/scrum
Framingham Corporate Center
492 Old Connecticut Path
Framingham, MA 01701-4568
U.S.A.
Telephone: +1-508-820 4300
Facsimile: +1-508-820 4303
Agent Technology
Green
Paper
Agent Working
Group
OMG Document ec/99-08-06
Version 0.8
20 August 1999
This paper presents a discussion of technology
issues considered in a Working Group of the Object Management Group The contents of this paper are presented to
create discussion in the computer industry on this topic; the contents of this
paper are not to be considered an adopted standard of any kind. This paper does
not represent the official position of the Object Management Group.
Table of Contents
1. Introduction...................................................................................................................................................................... 3
1.1 Purpose of the Green Paper................................................................................................................................. 3
1.2 Intended Audience(s)................................................................................................................................................ 3
1.3 Agent Working Group Mission........................................................................................................................... 3
1.4 Writing Team................................................................................................................................................................. 3
1.5 Questions & Comments............................................................................................................................................ 4
2. Current State.................................................................................................................................................................... 5
2.1 Definition of Agent................................................................................................................................................... 5
2.2 State of the Current Practice......................................................................................................................... 6
2.3 Maturity Level of the Industry..................................................................................................................... 6
2.4 Current Application Areas................................................................................................................................. 8
2.5 Agent Reference Architecture.................................................................................................................... 10
3. Key Areas of agent Technology...................................................................................................................... 11
3.1 Agent Communication.......................................................................................................................................... 11
3.2 Agent Mindspace....................................................................................................................................................... 12
3.3 Lifecycle Management........................................................................................................................................ 13
3.4 Agent as a Principle............................................................................................................................................... 16
3.5 Relationship between Agent and
Object Technologies.............................................................. 16
4. AGENT System Development................................................................................................................................. 21
4.1. Agent Modeling and
Specification............................................................................................................. 21
4.2. Testing, debugging,
validation, and simulation............................................................................. 21
4.3. Agent System development
methodologies....................................................................................... 21
4.4. Enterprise architecture and
Services.................................................................................................. 21
5. Considerations for Agent RFI/RFPs................................................................................................................. 25
5.1 Planned Roadmap..................................................................................................................................................... 25
6. Relationship to OMG Technology and Other Work Efforts................................................... 25
6.1. Current relevant OMG services.................................................................................................................. 25
6.2. Modifications and enhancements
of OMG specifications......................................................... 25
7. Other Similar Standards and Efforts......................................................................................................... 25
8. Appendix................................................................................................................................................................................ 26
8.1. Glossary........................................................................................................................................................................ 26
8.2. References................................................................................................................................................................... 26
8.3. Requirements for Agent
Technology...................................................................................................... 26
8.4. Open Issues.................................................................................................................................................................. 26
Typically, when the word “agent” is used, many people conjure up images from James Bond to Web spiders. Yet, these same people feel that there is something more to the concept. For those who wish to know more, the purpose of this paper is to provide:
1) an overview of the general area known as agent technology
2) suggestions for standardizing areas of this new technology using the OMG process.
This green paper is intended for the OMG as a whole and, specifically, those task forces and working groups that are working in areas that might involve agent technology. This will ensure the work in these workspaces is well synchronized.
Another audience may be the agent technology industries outside of the OMG. Their thoughts and suggestions will help address the commercial significance of the concepts and directions established in the paper.
The Agent Working Group of the Electronic Commerce
Task Force (ECTF) is to provide a forum for identifying and building consensus
and convergence in the industry around agent technology development.[1]
One of the first efforts of this group is to produce this green paper. This green paper has two purposes:
· to address the key features of agent technology, and
· to determine what and why the next steps might be for the Agent Working Group.
Editor: James Odell.
Contributors: David Kerr, Broadcom Eireann Research Ltd.
David Levine, IBM
Gregory Mack, Booz-Allen & Hamilton, Inc.
David Mattox, Mitre Corporation
Francis McCabe, Fujitsu Labs
Stephen McConnell, OSM sarl
James Odell
Kate Stout, Sun Microsystems, Inc.
Craig Thompson, Object Services and Consulting
Please address content-related questions or feedback to the Agent Working Group and to the paper editor James Odell (jodell@compuserve.com). In the interests of mailing list efficiency, please address errata or omissions directly to the editor only.
A basic dictionary definition of agent is one who acts. Under such a broad definition, agents can have a host of properties. One way to think about these properties is as follows:
· Autonomous - is capable of initiating action independent of any other entity; to some extent, can operate without direct intervention externally.
· Interactive - communicates with the environment and other agents, such as humans, machines, and software agents (i.e., social).
· Adaptive/reactive - responds to its environment.
· Mobile - able to transport itself from one environment to another.
· Proxy - may act on behalf of someone or something; i.e., acting in the interest of, as a representative of, or for the benefit of some entity.
· Rational - able to reason or understand.
· Proactive -
goal-oriented, purposeful; does not simply act in response to the environment.
· Intelligent - state is formalized by knowledge (i.e., beliefs, goals, plans, assumptions) and interacts with other agents using symbolic language.
· Temporally continuous - is a continuously running process.
· Character - believable personality and emotional state.
· Transparent and accountable - must be transparent when required, yet must provide a log of its activities upon demand.
· Able to learn and evolve - changes behavior based on experience.
· Cooperative - capabilities and resources can be exchanged among agents (e.g., can coordinate, collaborate, and negotiate).
· Rugged - able to deal with errors and incomplete data robustly.
· Trustworthy - adheres to Laws of Robotics and is truthful.
Most people who work with agents find this definition overly broad. However, a commonly agreed definition has not yet emerged. Some argue that an agent is not very useful without at least the first three of the above properties. The other properties listed above may or may not be present in agents to varying degrees. Rather than trying to determine if something is or isn't an "agent" it makes more sense to try and classify it along a spectrum that ranges from weak to strong agency. In general, the more of the above properties that an entity exhibits, the more agent-like it is. At a minimum, though, an agent is generally regarded to be an autonomous entity that can interact with its environment.
Software agents are a more specific type of agent. While there are many definitions, generally a software agent is an autonomous software entity that can interact with its environment. In other words, they are agents that are implemented using software. They are autonomous and can react with other entities, including humans, machines, and other software agents in various environments and platforms.
Agents are commonly considered similar, but not equivalent to objects Traditional object are biased towards notions, such as class, association, and message. While these constructs are useful for a certain category of applications, they do not directly address the requirements of agents. As presented above, agents have such characteristics as autonomy, mobility, and adaptability. Furthermore, business users like to express other concepts, such as rules, constraints, goals and objectives, and roles and responsibilities. (Stated another way, agents encapsulate the knowledge needed to perform a specific task.) In short, the agent-based approach distinguishes between autonomous, interactive, mobile objects (agents) and the passive objects of conventional OO. This does not mean that object orientation is dead; instead, it can be used to enable, rather than drive, agent-oriented technology.
The emergence of agent technology is similar to the stories many other technologies (e.g. relational, object oriented, GUI). As such, some expect to some of history’s lessons to repeat themselves:[2]
· Agent technology is not a single, new, emerging technology—but rather the integrated application of multiple technologies.
· Agents are not necessarily a new, isolated form of application. Instead, it can add a new set of capabilities to existing applications.
· Initially, agent functions will emerge within applications, but later—with experience—will become part of the operating system or application environment.
· Agent applications may strengthen the human-computer interaction.
· Ultimately, applications that do not exploit agent support in the operating system will be severely disadvantaged.
While destined for lofty goals, the current state of agent technology is that:
· It is still an active research area.
· Isolated pioneer products are emerging.
· The full set of technologies are not available.
· The technologies are not integrated with one another.
· There is no consensus on how to support agents at the operating system level
· Despite the hype, agent technology is not in widespread use–nor has it been widely accepted as an inevitable trend.
· There are early adopters who can demonstrate the value of agent technology.
As suggested above, the agent “industry” is in an embryonic state. There are isolated examples of agents in use in industry. It is hard to pin down exactly due to the lack of a rigorous agent definition.
Because of this lack of singular definition, it is hard be specific about agents deployment in the software industry. However, there are several classes of agents that have been deployed to some degree.
· Network and system management agents
The telecommunications companies have been the most active in this area, and indeed seem the group most committed to the agent paradigm. Their goal is to use agents to assist in complex system and network management tasks, such as load balancing, failure anticipation, problem analysis and information synthesis.
One note: There is a confusing overlay of terms in this area. Network management is often performed by employing SNMP agents. These are a particular mechanism for management, but are not the types of agents we’re trying to discuss here. This is just a simple overlap of names.
• Decision and logistic support agents
Mostly deployed in closed environments, utility companies and military organizations use agents for information synthesis and decision support. These systems may alert an operator to a possible problem, provide information in support of a complex decision. They are closely aligned to decision support systems from the traditional AI community.
• Interest matching agents
These are probably the most used agents, and most users don’t even know they are using them. The interest matching agents are used by commercial Web sites to offer recommendations, such as
If you liked
“Frank Sinatra’s Greatest Hits” you might also like “Tony Bennett’s Songs for a
Summer Day”.
Based on Patti Maes work at MIT Media Labs, and later at Firefly, these agents observe patterns of interest and usage in order to make recommendations. They have been deployed at amazon.com, and various CD and video sales sites.
• User assistance agents
These agents operate at the UI level, offering information or advice to users. They are sometimes represented visually as a cartoon advisor. Companies such as Microsoft, Lotus, and Apple have shown the most interest in this area. The best known example of an agent in common use is the animated help characters used in Microsoft Office products. These agents use bayesean networks to analyze and predict possible topics that the user may need help with.
Each of these represent some aspect of agents’ features. However , none of these represent the full range of possible agent features.
The first commercial tool sets for building agents have entered the market within the last year. These agent building systems vary widely in functionality don’t adhere to any standards. Agents built in one system will not work in others. There is no uniform support for communications protocols across these tools either. The following table gives an overview of commercial agent systems available at the time of this writing.
|
Product |
Company |
Language |
Description |
|
AgentBuilder® |
Reticular Systems, Inc. |
Java |
Integrated Agent and Agency Development Environment |
|
AgenTalk |
NTT/Ishida |
LISP |
Multi-agent Coordination Protocols |
|
Agent Building Environment |
IBM |
C++, Java |
Environment |
|
Agent Development Environment |
Gensym |
Java |
Environment |
|
Agentx |
International Knowledge Systems |
Java |
Agent Development Environment |
|
Aglets |
IBM Japan |
Java |
Mobile Agents |
|
Concordia |
Mitsubishi Electric |
Java |
Mobile Agents |
|
Grasshopper |
IKV++ |
Java |
Mobile Agents |
|
iGEN |
CHI Systems |
C/C++ |
Cognitive Agent Toolkit |
|
Intelligent Agent Factory |
Bits & Pixels |
Java |
Agent Development Tool |
|
Intelligent Agent Library |
Bits & Pixels |
Java |
Agent Library |
|
JACK Intelligent Agents |
Agent Oriented Software Pty. Ltd. |
JACK Agent Language |
Environment |
|
Jumping Beans
Engineering |
Ad Astra |
Java |
Mobile Agents |
|
Kafka |
Fujitsu |
Java |
Agent Library |
|
LiveAgent |
AgentSoft Ltd. |
Java |