The promise of this book may best be captured by a humbling anecdote. Twenty years ago, when expert systems were the cutting edge of AI, I was discussing with a businessman how this technology was moving into industry. He told me, "We've found it works much better to send one of our experienced factory people for an AI training course, than to bring in a new AI Ph.D. to write the system for us. It's easier to teach a manufacturing engineer how to build an expert system than it is to teach an AI researcher how manufacturing works."

There seems to be a widespread conviction among people with deep expertise that everybody else's discipline is relatively simple compared to their own. Whether justified or not, this natural prejudice will mean that serious users of advanced technology (including agents) are more likely to adopt it if we help them implement it themselves than if we insist that they hire people who know more about the technology than they do about the problem being solved. For the most part, the level of detail and scope of this volume suggest that it will be of most value in teaching business people how to do agent-based modeling in support of business decisions. The book is written in a way that will appeal far more to business people than to agent researchers: technical details and references to antecedent research are sketchy, background that would be obvious to a researcher is developed at length, and the overall tone is informal and chatty. In spite of this orientation, researchers ought to pay attention to it, as an example of addressing issues of importance to real-world users.

The book's fifteen chapters fall into three broad sections. The first five chapters motivate and explain agent-based modeling. Chapters 6 through 10 discuss how to construct an agent-based model in several different environments. Chapters 11 through 15 deal with ancillary issues that are particularly important in a business environment.

The introductory chapters introduce the notion of agents and motivate their use. These chapters survey the history of agents, and discuss the place of multi-agent systems in the broader world of complex adaptive systems. They introduce a supply chain application that serves as a running example throughout the entire book. Of particular interest is a subsection of chapter 5, "A Survey of Modeling Approaches." This section really deserves to be a chapter by itself. (At 27 pages, it's longer than all but two chapters, one of which is the one that includes it.) This section includes systems dynamics, discrete event simulation, participatory simulation, optimization models, statistical modeling, risk analysis, and agent-based modeling and simulation. Using the common supply chain model, the section identifies the main strengths and weaknesses of each approach. This comparison is extremely helpful to any practitioner who is more concerned about solving a problem than about methodological purity, although the references on some of the techniques (such as risk analysis) are spotty.

For users who have decided that an agent-based model is appropriate for their problem, Chapter 6 focuses on how to identify the agents and their behavior. It assumes that agents can be identified with physically bounded entities, such as decision-makers or factories, unlike some early agent-based supply chain models in which the agents were business functions (Fox, Chionglo and Barbuceanu 1993). I agree with the entity-based approach to assigning agents, but it is worthwhile to remember just how much influence the "functional decomposition" approach to software had on the early days of agent systems.

Much of the chapter is a hands-on guide to doing knowledge engineering, and a preoccupation with the role of the domain expert pervades the book. This counsel will be useful to readers who come from the agent community and are seeking to understand a business application. But as I have noted, the book itself is oriented more to the business user who is already an expert on the domain and wants to know how to build an agent-based model.
Chapters 7 through 10 describe how to build an agent-based model in a variety of implementation environments. Chapter 7 surveys the options, which are then explored in depth in chapter 8 (desktop modeling, including spreadsheets and environments like NetLogo and StarLogo), chapter 9 (participatory modeling, in which people act out agent behaviors), and chapter 10 (large-scale models on platforms such as RePast and Swarm). HubNet merits the attention given it in chapter 9 as an environment for participatory simulation, but the chapter does not notice a number of other researchers who have also been exploring this approach to modeling, including Parunak (1999) and numerous publications over the past three years by Paul Guyot, Alex Drogoul, and Shinichi Honiden, including one in this journal (Guyot and Honiden 2006).

Chapters 11 through 15 discuss issues that are peripheral from a research perspective, but essential in gaining acceptance of a technology, including verification and validation (Chapter 11), data quality (Chapter 12), analysis and presentation of results from a model to decision-makers (Chapter 13), and project management issues (Chapter 14). The technical level throughout most of the book is well below the level of active researchers in the field, but these chapters merit attention by researchers who wish to understand better some of the major hurdles to transition of advanced technology into the business world.

The book has an integrated index. The bibliography is spotty and distributed across the chapters, making it difficult to check its overall coverage, but such formalities are of less concern to business practitioners than to the research community. Business people will find the book an accessible and relatively complete introduction to agent technology, while researchers who are serious about technology transition will profit from the explicit discussion of hands-on business issues.