Agent-based computing represents an exciting new synthesis both for Artific
ial Intelligence (AI) and, more generally, Computer Science. It has the pot
ential to significantly improve the theory and the practice of modeling, de
signing, and implementing computer systems. Yet, to date, there has been li
ttle systematic analysis of what makes the agent-based approach such an app
ealing and powerful computational model. Moreover, even less effort has bee
n devoted to discussing the inherent disadvantages that stem from adopting
an agent-oriented view. Here both sets of issues are explored. The standpoi
nt of this analysis is the role of agent-based software in solving complex,
real-world problems. In particular, it will be argued that the development
of robust and scalable software systems requires autonomous agents that ca
n complete their objectives while situated in a dynamic and uncertain envir
onment, that can engage in rich, high-level social interactions, and that c
an operate within flexible organisational structures. (C) 2000 Elsevier Sci
ence B.V. All rights reserved.