Pitfalls of Agent Projects Borrowed from Nick Jennings University of Southampton, UK.
-
date post
18-Dec-2015 -
Category
Documents
-
view
232 -
download
0
Transcript of Pitfalls of Agent Projects Borrowed from Nick Jennings University of Southampton, UK.
Pitfalls of Agent Projects
Borrowed from Nick JenningsUniversity of Southampton, UK
Pragmatics of Agent-Oriented Developments
Lots of (single and multi-) agent projects
• But pragmatics of agent-oriented development received little attention.
Here identify number of key pitfalls.• political;• management;• conceptual;• analysis and design;• micro (agent) level;• macro (society) level;
Jennings andWooldridge
You Oversell Agents Agents are not magic
• If you can’t do it with ordinary software, probably can’t do it with agents.
• No evidence that any system developed using agent technology could not have been built using non-agent techniques.
Agents may make it easier to solve certain classes of problem• but they do not make the impossible possible.
Agents are not AI by a back door.• Agents have not solved all the problems that
have dogged AI since its inception
Political Pitfalls
Political Pitfalls
Get Dogmatic about Agents
Agents used in wide range of applications, but they are not a universal solution.• For many applications, conventional software
paradigms (e.g., OO) are more appropriate.• Given a problem for which an agent and a
non-agent approach appear equally good, prefer non-agent solution!
Other form of dogma• believing in your agent definition• and shoe-horning solution to fit this
Management Pitfalls
Don’t Know Why You Want Agents
Agents = new technology = lots of hype! “Agents will generate US$2.6 billion in revenue by the year 2000”
Managerial reaction: “we can get 10% of that” Managers propose agent projects without having clear
idea idea about what “having agents” will buy them. No business plan for the project:
• pure research? technology vendor? solutions vendor?
Often, projects appear to be going well. (“We have agents!”) But no vision about where to go with them.• understand your reasons for attempting agent
development project, and what you expect to gain from it
Management Pitfalls
Want Generic Solutions to 1-Off Problems
Devising a “generic” architecture/testbed, when really need a bespoke system.• Re-use is difficult to attain unless
development is undertaken for a close knit range of problems with similar characteristics.
General solutions are more difficult and more costly to develop • often need extensive tailoring to target
application
Conceptual Pitfalls
Believe Agents = Silver Bullet Holy grail of software engineering is a “silver
bullet”: • order of magnitude improvement in software
development. Many technologies promoted as silver bullet:
• COBOL• automatic programming• expert systems• graphical programming
Agent technology is not a silver bullet.• Good reasons to believe that agents are a useful way of
tackling some problems.• But these arguments largely untested in practice.
Conceptual Pitfalls
Forget Agents are Software Agent system development is essentially
experimentation• No tried and trusted techniques (at present)
Encourages developers to forget developing software• Project plans focus on the agenty bits.• Mundane software engineering (requirements analysis,
specification, design, verification, testing) is forgotten. Result a foregone conclusion:
• project flounders, not because agent problems, but because basic software engineering ignored.
• any principled software development technique is better than none.
Conceptual Pitfalls
Forget Agents are Multi-Threaded Software
Multi-threaded software: one of most complex classes of computer system to design and implement.• Significant background experience in distributed
and concurrent computing areas Multi-agent system tend to be multi-
threaded• both within and between agents• need to recognise and plan for things such as:
synchronisation mutual exclusion for shared resources deadlock
Analysis and Design Pitfalls
Don’t Ignore Related Technology
Percentage of system that is agent-specific is comparatively small.“intelligent agents are 99% computer science and 1% AI”
(Etzioni,96)
Important conventional technologies and techniques are exploited wherever possible.• Don’t reinvent the wheel.
CORBA Database technology Expert system shells
Analysis and Design Pitfalls
Don’t Exploit Concurrency
One of most obvious features of a poor multi-agent design is that amount of concurrent problem solving is small.• Serial processing in distributed system• Only ever a single thread of control:
concurrency, one of the most important potential advantages of multi-agent solutions not exploited.
Analysis and Design Pitfalls
You ignore legacy
When building systems using new technology, often an assumption that it is necessary to start from a “blank slate”.• However in many cases, most important
components of a software system will be legacy: functionally essential, but technologically obsolete
software components, which cannot readily be rebuilt.
When proposing a new software solution, essential to work with such components.• They need to be incorporated into an agent
layer.
Agent Level Pitfalls
Want Your Own Architecture Architecture: design for building agents.
• Many have been proposed over the years. Great temptation to imagine you need
your own• “not designed here” mindset;• intellectual property.
Problems:• architecture development takes years;• no clear payback.
Recommendation: buy one, take one off the shelf, or do without.
Agent Level Pitfalls
Use Too Much AI
Temptation to focus on “intelligent” aspects of the application.• an agent framework too overburdened with
experimental AI techniques to be usable.• fuelled by “feature envy”
Resist temptation to believe such features are essential in your system:• build agents with a minimum of AI; • success is obtained with such systems,
progressively evolve them into richer systems.
Micro (Agent) Level Pitfalls
No AI
Don’t call your on-off switch an agent! Be realistic:
• find everyday distributed systems referred to as multi-agent systems.
• Web pages with any behind the scenes processing as “agents”.
Problems:• lead to the term “agent” losing any meaning• raises expectations of software recipients• leads to cynicism on the part of software
developers.
Macro (Society) Level Pitfalls
See Agents Everywhere
“Pure” A-O system = everything is an agent!• agents for addition, subtraction,…
Naively viewing everything as an agent is inappropriate.• choose the right grain size.• more than 10 agents = big system.
Macro (Society) Level Pitfalls
Too Few Agents
While some designers imagine a separate agent for every possible task.• Others don’t recognise value of a multi-
agent approach at all.• Create system with very small number of
agents doing all the work fails software engineering test of coherence. result is like OO program with 1 class.
Macro (Society) Level Pitfalls
Implementing Infrastructure Presently, no widely-used software
platforms for developing agents• Such platforms provide basic
infrastructure required to create a multi-agent system.
• The result: everyone builds their own. By the time this is developed, project
resources gone! No effort devoted to agent-specifics.
Macro (Society) Level Pitfalls
Agents Interact too Freely Numerous systems interacting with
one another can generate behaviour more complex than sum of parts• good: exploit this emergent functionality
to provide simple, robust cooperative behaviour
• bad: emergent behaviour akin to chaos restrict way agents interact simplest possible protocol for achieving set
objective
Macro (Society) Level Pitfalls
System Lacks Structure Common misconception is that agent
systems require no real structuring• throw together agents and see what happens!
While this may be true in some cases,• in majority of situations, considerable amount of
system-level engineering takes place• especially for large scale systems or where need
some commonality of purpose• structure helps:
reduce system’s complexity increase efficiency more accurately model problem at hand
Conclusions
Agent technology is immature and largely untested.• Agent system developers often fall into
the same traps.• Described what we perceive to be most
common and most serious of these pitfalls.
• Thereby shift attention to pragmatics of agent system engineering.
Further Reading N. R. Jennings, P. Faratin, A. R. Lomuscio, S. Parsons, C. Sierra and M.
Wooldridge (2001) “Automated negotiation: prospects, methods and challenges” Int. J. of Group Decision and Negotiation 10 (2).
F. Zambonelli, N. R. Jennings, and M. Wooldridge (2001) "Organisational rules as an abstraction for the analysis and design of multi-agent systems" Int J. of Software Engineering and Knowledge Engineering.
N. R. Jennings, P. Faratin, T. J. Norman, P. O'Brien and B. Odgers (2000) “Autonomous agents for business process management” Int. Journal of Applied Artificial Intelligence 14 (2) 145-189.
N. R. Jennings, P. Faratin, T. J. Norman, P. O'Brien, B. Odgers and J. L. Alty (2000) “Implementing a business process management system using ADEPT: A Real-World Case Study” Int. Journal of Applied AI 14 (5) 421-465.
N. Vulkan and N. R. Jennings (2000) “Efficient mechanisms for the supply of services in multi-agent environments” Int Journal of Decision Support Systems 28(1-2) 5-19.
M. Wooldridge, N. R. Jennings, and D. Kinny (2000) “The Gaia methodology for agent-oriented analysis and design” Journal of Autonomous Agents and Multi-Agent Systems 3 (3) 285-312.
M. J. Wooldridge and N. R. Jennings, (1999) “Software engineering with agents: pitfalls and pratfalls” IEEE Internet Computing 3 (3) 20-27.