Agent-based modeling (ABM) is an emerging modeling approach. In the past two decades, agent-based models have been increasingly adapted by social scientists, especially scientists in urban and geospatial studies, as an effective paradigm for framing the underlying problems of complex and dynamic processes. As a result, the literature of ABM research is growing rapidly, covering a diverse range of topics. This paper presents a systematic literature review of ABM research, and discusses both theoretical issues such as ABM definition and architecture, and practical issues such as ABM applications and development platforms. A comprehensive and up-to-date bibliography is presented.
Agent-based modeling (ABM) ; ABM application ; ABM software platform
Computer models in urban studies have their roots dating back to the 1960s (Lowry, 1965 ) after the scientific concept of Urban System had been coined by emulating terminologies in the field of botany ( Duncan et al., 1960 ). The simulation models, in attempting to provide both descriptive and predictive understandings of the real world by characterizing quantity and relationship in a silicon surrogate of the real world, have found their increasingly wide applications in scientific research with advances in computer power. How simulation has transformed our understanding and how it has revolutionized the world of science have been extensively discussed and publicized in Casti (1997) . In particular, Simpson (2001) has provided a comprehensive literature review of the application of virtual reality and simulation models in urban studies. As ambitiously as he has put it: “The combination of virtual reality, spatial modeling, and GIS, integrated into a real-time urban simulation, will allow questions to be asked that were not possible before, and better yet, answers to those questions.” This is exactly what we are witnessing today (see, for example, Dr. Andrew Hudson-Smiths constantly updated blog  for a skim of todays cutting edge technologies and applications).
Agent based modeling (ABM) is an emerging approach to modeling complex processes and phenomena in social science in recent years. Also recognized as multi-agent system (MAS), agent based simulation (ABS), or individual based modeling (IBM), its origin can be traced back to as early as the 1940s when the first prototypical “cellular automata” was invented simulating grids' interaction with their immediate neighbors by on–off state switches (e.g. Von Neumann, 1951 , Fig.1 (a)). Computer simulation of agents was revolutionized by Reynolds (1987) by introducing individual perception, intelligence and behavior to his Boids agents, and therefore allowing emergent pattern based on a large group of constituent units to be simulated ( Fig.1 (b)).
(a) Von Neumann neighborhood of cellular automata; (b) screenshot of Reynoldss Boids simulation model.
Despite its long history, it is only until the 1990s has the agent modeling paradigm become both computationally and conceptually mature to be employed as a feasible simulation tool and sparked interest from the social science and the so-called urban analysis community. For the last two decades or so, ABM has been widely applied in studies along this line. As Wooldridge put it: “There was a time when I rather arrogantly believed I had read all the key papers in the multi-agent systems field, and had a basic working knowledge of all the main research problems and techniques. Well, if that was ever true, then it certainly isn't any more, and hasn't been for nearly two decades: the time has long since passed when any one individual could have a deep understanding of the entire multi-agent systems research area.” (Wooldridge, 2009 , p. xix) This paper does not seek to provide a complete review of such broad literature. Rather, it takes a much less ambitious goal and aims to depict how ABM has been adapted by researchers in urban and architectural studies as their conceptual paradigm as well as instrumental device, and gives a brief review of ABM research from both theoretical and practical aspects in these fields. An up-to-date bibliography is also provided.
Being the basic, and the most essential unit of agent-based models, perhaps the concept of agent should be defined in the first place before we embark on further review. Unfortunately, despite its common usage, there is no single universally accepted definition of what an agent is. Actually there has been a great deal of debate on this very subject ( Franklin and Graesser, 1997 ; Müller et al ., 1995 ), and the existing definitions of agent are many and various, ranging from as primitive and loose as an individual agent is “just something that perceives and acts” (Russell and Norvig, 1995 , p. 7), to as elaborate and rigorous as “Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed.” (Maes, 1995 ). In attempting to avoid prescriptive arguments in the controversy, Russell and Norvig (1995, p. 33) put: “The notion of an agent is meant to be a tool for analyzing systems, not an absolute characterization that divides the world into agents and non-agents.” Nevertheless, a definition of agents, as what it is and what it does , will at least avoid confusion and suffice the discussion, and therefore is presented below.
Wooldridge and Jennings (1995) summarized the features of agents as autonomy , social ability , reactivity and pro-activeness , and in their later work formalized the definition of agent in a comprehensive as well as succinct way, stating:
“An agent is a computer system, situated in some environment, that is capable of flexible autonomous action in order to meet its design objectives.” ( Jennings et al., 1998 )
This definition emphasizes on the two central properties of agents that have been commonly agreed on by people working in related areas: autonomy and social ability. Being autonomous means that an agent must be able to operate, carry out instructions and make decisions without direct intervention of others, and have control over their actions and internal state (Castelfranchi, 1995 ; Hayes, 1999 ); being social means that an agent is part of a community, being able to interact with other agents in order to complete their own tasks and to help others with their activities (Genesereth and Ketchpel, 1994 ; Hayes, 1999 ; Jennings et al ., 1998 ). These two key properties together distinguish agent-based system from related software paradigms such as object-oriented programming and distributed computation. A discussion of agent-based system in the pure context of software engineering is given in (Wooldridge, 1997 ). A sketch depicting the relationship between an agent and its environment is shown in Fig. 2 .
An agent in its environment. After Macal and North (2005 ).
Advocated as a “breakthrough in computational modeling in the social sciences” (Gilbert and Terna, 2000 ), ABM has a series of advantages over conventional modeling paradigms which makes it particularly suitable in socio-related studies, especially in urban studies and design project management. Bonabeau (2002) has captured the most essential ones in three statements, saying: “(i) ABM captures emergent phenomena; (ii) ABM provides a natural description of a system; and (iii) ABM is flexible”. Though the expression seems a little bit crude on the surface, the elucidation is deliberate. Firstly, in contrast to traditional aggregate models, ABM frames a system from the bottom up, by studying the behaviors of its constituent units – the agents. By definition, the autonomous and social features of agents allow complex, nonlinear interactions between them to be modeled which will lead to collective behaviors and emergent phenomena such as self-organization. Secondly, in ABM, the ontological correspondence between the computer agents in the model and real world actors makes it easy and evident to represent actors and the environment and their relationship (Gilbert, 2008 , p. 14). Thirdly, ABM can be defined within any given system environment with the complexity of agents tuned freely (De Smith et al., 2007 , Section 8.3); ABM can also work on different levels of abstraction. In the same paper, Bonabeau has also identified situations where ABM is suitable, paraphrased by De Smith et al. (2007, Section 8.3) as complex interactions , heterogeneous populations , topological complexity , appropriate model framework and flexibility . Topics in urban and architectural research are perhaps the most complex and comprehensive cross-disciplinary problems in that they involve social and human aspects and also both spatial and temporal interactions among different participating institutions. In the next section, a topical review of ABM applications in such fields and how ABM models help to frame the problems is presented.
One of the key tasks of urban analysts is to understand not only how individuals behave but also how the interaction among many individuals leads to large-scale outcomes in the urban system. This is the so-called “social science”. The context of social science is quite vast, covering almost all sorts of urban phenomena ranging from neighborhood segregation to land cover change. ABM is particularly suitable for the simulation of social science, in that, as Axelrod and Tesfatsion (2010) put it: “ABM applied to social processes uses concepts and tools from social science and computer science. It represents a methodological approach that could ultimately permit two important developments: (1) the rigorous testing, refinement, and extension of existing theories that have proved to be difficult to formulate and evaluate using standard statistical and mathematical tools; and (2) a deeper understanding of fundamental causal mechanisms in multi-agent systems whose study is currently separated by artificial disciplinary boundaries.”
Therefore ABM has found its most common use in space-related topics in geospatial and urban studies. Schelling (1971) developed the first social ABM to explain the racial segregation in American cities and has enlightened ABMs wide application in related field ever since. Along the same track, Epstein and Axtells Sugarscape model ( Epstein and Axtell, 1996 ) also paradigmatically simulated social behaviors such as aggregation and segregation. Drogoul and Ferber (1994) took a more general perspective by considering emergent phenomena in cites. Benenson (1999) modeled the residential dynamics in a city, and similar examples were also given in Kohler and Gumerman (2001) . Parker et al. (2003) gave a comprehensive review of ABMs application in modeling land cover and land use change, with more up to date researches to be added ( Kii and Doi, 2005 ; Manson, 2006 ; Rindfuss et al ., 2008 , etc). With the development of geographic information system (GIS), ABM has been increasingly recognized as a powerful tool for spatial modeling or so called geo-simulation ( Brown et al ., 2005 ; Brown and Xie, 2006 ; Gimblett, 2002 ; Jiang and Gimblett, 2002 ), and understanding cities (Batty, 2005 ). O'Sullivan (2008) has provided a longitudinal review within this context. Suleiman et al. (2000) present notable examples of ABM tools and modeling techniques in social science simulation. In particular, Gilbert and Terna (2000) give guidelines on how to building ABM models in social science simulation. This field remains the most active direction of ABMs applications (Fig. 3 ).
A sketch of the Sugarscape model. Adapted from Epstein and Axtell (1996 ).
Being one of the central sectors of the urban system, social economics is also a key topic in urban studies. In a recent journal article, Farmer and Foley (2009) argued the usefulness of ABM as a predicting tool to guide financial policies. While whether ABM will suffice as a policy tool is still an open question, there is no doubt that it has been widely applied to economic studies in the last two decades. The Sugarscape model by Epstein and Axtell (1996) was a prototype of a trading market. Applying the ABM paradigm to a more realistic case, Lux (1998) simulated the behaviors of speculators in a financial market by dynamically interacting agents, and studied the emergent aggregation behaviors. Axtell (1999) also simulated the emergence of companies and their growth rate distributions. Tesfatsion first formalized the concept of Agent-based Computational Economics (ACE) and modeled more general and complex economic processes as dynamic systems ( Tesfatsion, 2001 ; Tesfatsion, 2006 ). Bak et al. (1996) and Wan et al. (2002) modeled price variations within stock markets. In comparison, Kirman and Vriend (2001) studied the price dispersion of a fish market, with a notable learning capacity of the agents. Parker and Filatova (2008) presented an ABM for land market. In contrast to other studies simulating markets in the real world, Marks (2006) discussed design methodology for electronic markets and gave a number of examples. More thorough surveys of ABMs applications in economy and finance can be found in ( Hommes, 2006 ; LeBaron, 2006 ).
As discussed in previous sections, ABM is capable of depicting global consequences resulting from local constituent units, therefore is a potential tool to represent and analyze complex and dynamic processes in ecological and environmental applications. Indeed it has been applied to a diverse range of topics ranging from biology to geographic resources management. Hogeweg and Hesper (1983) were among the first researchers who used individual-oriented model to study the forming of insect colonies. Similar work includes Wolffs (1994) bird nesting colony, and simulating the growth of bacterial colonies (Kreft et al ., 1998 ; Krzysztof et al ., 2005 ). ABM has been more popular in the context of environmental and ecosystem management. Lansing and Kremer (1993) first applied ABM to water resource modeling and established the basic landscape of modeling various water-related scenarios which has been influential till today (Feuillette et al., 2003 ). In comparison to water resources, ABM has also been applied to agriculture (Berger, 2001 ; Parker and Meretsky, 2004 ) and forestry (Hoffmann et al., 2002 ). Bousquet et al. (1998) took a more abstract approach and used ABM for generic resource sharing management. Hare and Deadman (2004) and Bousquet and Le Page (2004) reviewed various ABM applications in environmental and ecological modeling. Grimm et al. (2005) discussed the general strategy of designing ABM in ecosystem modeling and also provided a review.
Urban traffic not only is an important components of urban mobility, but also composes activity in cites and has significant impacts on urban livability and prosperity. Traffic and transportation is another area where ABM has found wide applications. Indeed the mobility and autonomy of ABM allows a straightforward representation of traffic entities, be it a pedestrian or an automobile, and makes it particularly suitable for modeling traffic dynamics. One of ABMs earliest applications was to simulate the size-frequency distribution of traffic jams (Nagel and Rasmussen, 1994 ). Later ABM was employed in modeling transportation scheduling and management because of its geographically distributed nature (Burmeister et al ., 1997 ; Fischer et al ., 1996 ). In reviewing the literature in this context, the monumental TRANSIMS (TRansportation ANalysis SIMulation System) cannot be circumvented. Developed by the Los Alamos National Laboratory (LANL), the ambitious TRANSIMS project is an integrated traffic simulation software package aiming to provide transportation planners with complete information on traffic impacts, congestion and pollution (Hobeika, 2005 ). It consists of a series of modules that create a virtual metropolitan region where individuals have complete attributes such as households, activities, route choice among activities. Traffic dynamics are created by second-by-second micro-simulation of the individuals' movements, based on which emissions are estimated. The system has been applied in real case studies in Dallas and Portland in the US (Travel Model Improvement Program, 1999 ). Other applications of ABM on large scale traffic modeling include (Balmer et al ., 2004 ; Cetin et al ., 2002 ; Raney et al ., 2002 ). Other models focusing on more specialized traffic flows including pedestrian simulation models (Batty, 2003 ; Haklay et al ., 2001 ; Kerridge et al ., 2001 ), recreation movement models (Itami et al., 2003 ), emergency evacuation models (Crooks et al., 2008 ), parking models (Benenson et al., 2008 ), etc. Davidsson et al. (2005) conducted a systematic review on ABM approach to transportation and traffic management and supported ABMs usefulness in this domain (Fig. 4 ).
A diagram illustrating the modeling process of TRANSIMS. Adapted from Hobeika (2005 ).
Because of its autonomous and social features, ABM becomes a commonly adapted paradigm for characterizing the design process in manufacturing and construction industry, from the early conceptual design stage to the following implementation and production stage. In these applications, ABMs are normally used to give support for synchronous collaboration which means multiple users from multi-disciplinary operate data in real time. This is the so-called collaborative design . And there have been notable examples for ABM tools for collaborative design in manufacturing industry ( Hao et al ., 2006 ; Liu et al ., 2004 ; Tang, 2004 ).
In the field of architectural design and building construction, the concept of collaborative design is of particular importance. The design team is normally a group of experts from various disciplines, and the basic design units, such as the wall, column, beam, door and window may have different meanings to different group members: architectural drawings to designers, structures to engineers, and cost and profit to contractors, etc. In these aspects, ABM tools are developed aiming to effectively synchronize and synergize the team-effort in the design and construction process. The Design Computing Center in the University of Sydney is the most active institution along this line of research (Maher and Pu, 1997 ), and the design framework it established has influenced the research development of ABM tools in collaborative architectural design for the following decade (Fig. 5 ).
Framework for an agent-centric approach to data sharing in a design project. After Maher et al. (2005 ).
Rosenman and Wang (2001) developed an ABM CAD system using internet and wed technologies. The system is an open CAD system for virtual product development based on a network-oriented open design environment. Through the web interface, different users can have different views of the architectural design and make modifications to it synchronously and dynamically. Anumba et al. (2002) applied ABM to the design stage in a construction project and provided support for collaborative design by the negotiation between intelligent agents. The concept was applied in an industrial building design project (Anumba et al., 2003 ) and it was proved that the flexibility of ABM allows the protocols and strategies of ABM negotiation to be integrated with legacy systems and design information argumentation and facilitate the design process. Maher et al. (2005) implemented a 3D virtual environment where modifications and updates of building features in the virtual worlds can be transferred to the CAD system by communications of agents in the virtual world. The system was effectively an extension of a CAD system (ArchiCAD in particular), and agents representing design objects responded automatically through “sensors” and “effectors” as defined in the system, and updated the real world building database in the CAD system. The paper shows that ABM tools serve as a foundation of design reasoning and can facilitate synchronous collaboration. The idea of using interactions in the virtual world for design purposes in the real world was further formalized as augmented reality in architectural design (Wang, 2009 ), and how ABM helps to investigate the complexity of human–environment interaction was shown in (Gao and Gu, 2009 ). Li et al. (2005) provided a comprehensive review of applications of the ABM paradigm in collaborative design.
A relatively new but boosting field, the development of computer games has found the ABM approach particularly appealing in implementing virtual environments and game characters. These games help us to understand cities from a new perspective: virtual cities. Commonly recognized as Intelligent Agents , ABMs naturally lend themselves to the modeling of adaptive, human-like, socialized individuals in the games. Wavish and Graham (1996) discussed some early applications of ABM to computer games. Grand and Cliffs (1998)Creature game was one of the first successful ABM games that interacting with the user in real-time. Since then, ABM applications have evolved into two main streams in computer game designs. The first one focuses on the implemental level (animation, etc.) and concerns the agents navigation in environment ( Reynolds, 1999 ; Shao and Terzopoulos, 2007 ); the second trend works more on the abstract level and considers agents as embodiment of artificial life, which continue to the present day, as exemplified by successful commercial software such as Second life (http://secondlife.com/ ) and Civilization V (http://www.civilization5.com/ ), and research project such as the River City project by Harvard University (http://muve.gse.harvard.edu/rivercityproject/index.html ).
As mentioned at the beginning of this section, the application of ABM is so broad that it is aimless to attempt to exhaust the complete literature. So instead of rambling on another 10 pages without fulfilling the task, it makes more sense to pause here: the presented categorized review should suffice to depict a constructive picture of ABMs applications in various fields. More examples can be found in lecture books such as (Gilbert, 2008 ; Wooldridge, 2009 ), and through the International Foundation for Autonomous Agents and Multi-agent Systems (IFAAMASs) webpage (http://www.ifaamas.org/ ) as for the most up to date technologies and applications.
In the early years of ABM research, the models were often developed using conventional programming languages (Gilbert and Bankes, 2002 ). One huge disadvantage of this approach is that model developers would have to work on the bottom level of abstraction and devote a lot of efforts to the “housekeeping” tasks such as graphical display, memory management and synchronization mechanism. Another drawback is that ABM researchers with limited or no programming skills were restricted and discouraged largely by the implementation barrier (Railsback et al., 2006 ). To address these issues, various modeling toolkits and development environments have been developed to support modelers by releasing them from the burden of housekeeping tasks that they have to undergo if modeling with conventional programming languages. The most commonly adopted form of these toolkits is “libraries of frameworks” (Gilbert, 2008 , p. 47), which are GNU-like open source libraries that can be linked to ABM programs. The first of these to be widely employed was Swarm, whose design has influenced a series of succeeders including Repast, Mason and so on. In parallel, the Logo family has also evolved into a number of software packages for ABM, such as StarLogo and NetLogo. This section gives a brief review of these platforms.
Swarm is an object-oriented platform originally developed by Santa Fe Institute (Minar et al., 1996 ). The basic unit in it is swarm which is a collection of agents with a schedule of actions. It has a hierarchical structure with seven core modules managing data, scheduling, simulation and display. A prominent feature of Swarm is its probe facility which allows reading and setting the state of an object at runtime. It is a feature that continues to present in future generation of ABM platforms. Programming in Swarm is in object-oriented language such as Object-C and Java, and Najlis et al. (2001) has found the steep learning curve of programming in Swarm to be a significant impediment in its being chosen as a tool for developing ABMs. Though regular discussion and events such as Swarmfest are still being held, it has to be admitted that Sward has become superseded in the main stream of todays ABM research.
Repast (the Recursive Porous Agent Simulation Toolkit) was originally developed by the University of Chicago aiming to implement Swarm in Java but has diverged into a more comprehensive platform, and now it is maintained by the Argonne National Laboratory. Repast models can be implemented in three different languages: Java, Python and Microsofts.NET. A promising feature of Repast Python libraries is that they provide a visual tool that allows a much simpler way to build models by point-and-click interactions than coding for users with less advanced programming skills. Another notable feature of Repast is its wide support to GIS, for example, Agent Analyst (Redlands Institute. (N/A) (2010)) is an ABM extension that allows Repast models to be integrated with the ArcGIS software. Now Repast Java, Python and.NET are no longer being maintained, and are superseded by Repast Simphony, which is a powerful tool that provides a rich context of functionalities and continues being developed. Despite the relatively limited documentation, Repast has an active and large user community with an informative mailing list being updated promptly. It is the most commonly used and promising platform in ABM research.
Mason (Multi-Agent Simulation Of Neighborhood) is Swarm-like open source Java library. It was developed by the Evolutionary Computation Laboratory and the Center for Social Complexity at George Mason University. Appealing features of Mason includes 3-D visualization and movie recording of the simulation at runtime. It also has GIS support. Though also with a mailing list and some online documentation, Mason has a much smaller user group compared with Repast.
StarLogo is a programmable modeling environment developed by the Media Laboratory and Teacher Education Program at Massachusetts Institute of Technology. It is a specialized version of the Logo programming language which is famous for its Turtle graphics . Similarly, agent and environment in StarLogo are represented by turtle and patch , with their interactions monitored and managed by observer . Programming in StarLogo is in a simple version of Java and easy for modelers with basic level of programming skills. A main difference between StarLogo and the above mentioned platforms is that it is procedurally programmed as opposed to object-oriented. Originally distributed as a software package, its open source version, the OpenStarLogo (http://education.mit.edu/openstarlogo/ ) was released in 2006.
NetLogo is another widely used ABM simulation environment. It was originally developed at the Center for Connected Learning and Computer-Based Modeling at Northwestern University in an attempt to run StarLogo on Mac OS. Its main distinction from StarLogo is its special client–server architecture which is particular suitable for internet applications (http://ccl.northwestern.edu/netlogo/hubnet.html ). NetLogo also supports GIS and can record movies of simulation. Extensive documentation and demonstration examples can be found on its homepage, even with a Chinese translation of the user manual. Though not an open source distribution, the rich variety of sample models and the active user community make NetLogo a popular platform of ABM.
Comparisons of the above mentioned ABM platforms have been discussed extensively (Castle and Crooks, 2006 ; Gilbert, 2008 , p. 49; Gilbert and Bankes, 2002 ). Evaluations through use cases have been carried out by (Railsback et al ., 2006 ; Tobias and Hofmann, 2004 ). A summarized comparison of the platforms is shown in Table 1 .
|Developer||Santa Fe Institute||Department of Social Science Research Computing, University of Chicago||Center for Social Complexity, George Mason University||Media Laboratory, Massachusetts Institute of Technology||Center for Connected Learning and Computer-Based Modeling, Northwestern University|
|Date of Inception||1996||2000||2003||Early 1990s, java based version 2000||1999|
|Modeling language||Object-C, Java||Java/Python/Microsoft.NET||Java||Proprietary scripting||Proprietary scripting|
|Operating system||Windows, UNIX, Linux, Mac OSX||Windows, UNIX, Linux, Mac OSX||Windows, UNIX, Linux, Mac OSX||Windows, UNIX, Linux, Mac OSX||Windows, UNIX, Linux, Mac OSX|
|Required programming skill||Strong||Strong||Strong||Basic||Basic|
|Integrated GIS functionality||Yes||Yes||No||No||Yes|
|Availability of demonstration models||Yes||Yes||Yes||Yes||Yes|
|Speed of execution||Moderate||Fast||Fastest||Moderate||Moderate|
|Built-in ability to create movies and animations||No||Yes||Yes||No||Yes|
|Ease of installation||Poor||Moderate||Moderate||Very easy||Very easy|
ABM is a powerful tool that offers bottom-up understandings to complex consequences in decision-making and problem-solving processes, as opposed to traditional aggregated modeling approaches. As Jennings et al. (1998) have anticipated more than 10 years ago, the ABM approach has the potential to be a “ubiquitous” modeling technology and enter the mainstream of software engineering solutions. In the past two decades since its computational realization became feasible, ABM has been applied to a wide range of topics, covering artificial intelligence, software engineering, geo-simulation, economics, sociology, ecology, etc., as is reviewed in Section 4 of the paper.
At the same time, ABM has also raised a good deal of criticisms. The most commonly addressed issue is that the outcome of an ABM is difficult to assess. This issue is twofold. Firstly, it involves validation of the model, i.e., knowing “whether unexpected result is a reflection of a mistake in the programming, or a surprising consequence of the model itself” (Axelrod, 1997 , p. 210); secondly, the heterogeneity of ABM allows it to contain a rich context of variable parameters, so “even if its output matches reality, its not always clear if this is because of careful tuning of those parameters, or because the model succeeds in capturing realistic system dynamics” (Buchanan, 2009 ). Bonabeau (2002) has concerned the difficulty ABM is faced within application and argued that “The model has to be built at the right level of description, with just the right amount of detail to serve its purpose; this remains an art more than a science.” Another criticism to ABM is more on the implementation level, stating that there is no institutionalized updating scheme of agents behaviors so model comparison and result replication could be quite difficult (Axtell et al ., 1996 ; Cornforth et al ., 2005 ; Huberman and Glance, 1993 ). Last but not least, ABMs lend themselves to repetitive rounds of simulation of many entities sometimes up to thousands, and so will require high computer resources when applied to large scale systems. These criticisms are all fair and sound arguments. Although some general guidelines have been suggested in response to specific critics (e.g. Axelrod, 1997 , p. 211), there is definitely further work to do in this direction.
Nonetheless, ABM as a modeling paradigm and also a simulation approach offers great enhancement to the understanding of complex systems, which is an increasingly popular topic in science (Epstein and Axtell, 1996 ; Wolfram, 2002 ). To reiterate, by quoting Jennings et al. (1998) : “The agent-based view offers a powerful repertoire of tools, techniques, and metaphors that have the potential to considerably improve the way in which people conceptualize and implement many types of software.” To move the frontier of ABM a step forward, a series of challenges need to be overcome, including implementation issues such as higher-level of abstraction of work (Jennings et al., 1998 ), and modeling issues such as model replication and verification (Crooks et al., 2008 ).
This paper presents a systematic review of ABM research. Emphasis is given to ABM applications in the field of architectural design and urban studies. Topical ABM applications are reviewed, and implementation issues of ABM are discussed. It is hoped that this brief review can serve as a pointer of ABM applications in architectural and urban research field and open up more conversations along this line of research.
This research is supported by a PGS grant from The Chinese University of Hong Kong .