W EB AGENT TEAMS : Building and Implementing Software
暂无分享,去创建一个
Internet Computing, this column has focused on the many ways in which agents can help users exploit the Web. Soon, agents will begin to play an even more important role, becoming the fundamental building blocks for general-purpose Internet-based software. The software may not display any explicitly agent-like characteristics , but it will exhibit the benefits of tolerance to errors, ease of maintenance , adaptability to change, and speed of construction that agents provide. Moreover, an agent-based approach to software development can lead to new types of software solutions that might not otherwise be obvious. Conventional Software Development Nearly everyone agrees that something is fundamentally wrong with current software development practice. Even as the infrastructure for computing and communications is increasing dramatically and the number of users working with a wide range of applications is growing, techniques for developing software systems remain woeful-ly inadequate. Although we use phrases such as " computer age " to mean advanced or leading edge, the systems that give the modern age its name are constructed in a manner more resembling sorcery than science. Software development has simply not kept pace with the rest of the computing industry. Whereas processor performance has been increasing 48 percent and network capacity 78 percent annually, software productivity has been growing only 4.6 percent annually. Moreover, we are stuck with a legacy of approximately 50 billion lines of Cobol, representing roughly 80 percent of all software written since 1960. It is unlikely that we can replace it anytime soon, even though maintaining it costs US$3 billion annually. Programmers still produce approximately the same number of lines of tested and debugged code per day as they did in 1975, despite such " silver bullets " as structured programming, declarative specifications, object-oriented programming, formal methods, and visual languages. Actually, this shouldn't be surprising, considering that software systems are the most complicated artifacts people have ever attempted to construct. Paradoxically, they are (supposedly) guaranteed to work correctly only when all errors have been detected and removed, which their very complexity makes infeasible. Moreover, the effect of an error is unrelated to its size, so that a single misplaced character out of millions can render a system useless—or worse, harmful. Agent-Based Software Development What we need is not simply another variant of conventional software engineering but a radically new way of thinking about software and the purposes it serves. From this new way of …
[1] Nicholas R. Jennings,et al. Software Engineering with Agents: Pitfalls and Pratfalls , 1999, IEEE Internet Comput..