Search has been recognized as an important technology for a wide range of software applications. Agentbased modelers often face search challenges both when looking for agents that need to be connected to one another and when seeking appropriate target agents while defining agent behaviors. This chapter presents an approach to simplifying such search problems and shows examples of its use. The approach presented in this chapter offers both imperative and declarative methods to find sets of agents with particular attributes in particular locales. The imperative approach allows for flexible reactions to the agents that are discovered through querying. The declarative approach builds on the imperative approach and introduces a temporal dimension to the process by explicitly allowing for searches that activate in the future depending on the conditions that obtain in a given model.
Search has been recognized as an important technology for a wide range of software applications. For example, Internet Society founding member and Google Chief Internet Evangelist Vint Cerf has stated that (Cerf 2007):
Today’s search engines draw the most relevant information to our attention, and as more data become available online, the importance of search engines will only increase. In the future, people around the world will likely look for new ways to identify the authenticity of online information sources.According to Ntoulas et al. (2004):
As the Web grows larger and more diverse, search engines are becoming the “killer app” of the Web. Whenever users want to look up information, they typically go to a search engine, issue queries and look at the results. Recent studies confirm the growing importance of search engines. According to (ACNielsen 2004), for example, Web users spend a total of 13 million hours per month interacting with Google alone.
Search technologies are not just used by people for information retrieval. Software programs within automated Web services systems are also beginning to use search technologies to identify other programs to act as service providers. Liu et al. (2004) elaborate on this growing trend:
Web services are self-describing software applications that can be advertised, located, and used across the Internet using a set of standards such as SOAP [Simple Object Access Protocol], WSDL [Web Services Description Language], and UDDI [Universal Description Discovery and Integration] (Papazoglou and Georgakopoulos 2003). Web services encapsulate application functionality and information resources, and make them available through standard programmatic interfaces. Web services are viewed as one of the promising technologies that could help business entities to automate their operations on the Web on a large scale by automatic discovery and consumption of services. Business-to-Business (B2B) integration can be achieved on a demand basis by aggregating multiple services from different providers into a value-added composite service.Liu et al. (2004) also state the following:
The emerging Service-Oriented Computing (SOC) paradigm promises to enable businesses and organizations to collaborate in an unprecedented way by means of standard Web services. To support rapid and dynamic composition of services in this paradigm, Web services that meet requesters’ functional requirements must be able to be located and bounded dynamically from a large and constantly changing number of service providers based on their Quality of Service (QoS).
Agent-based modelers and multi-agent simulationists often face similar challenges when specifying searches for groups of agents within models. This chapter, which builds on the discussion found in North et al. (October 2006c), addresses this issue by first considering the kinds of searches commonly found in agent-based models and multi-agent simulations. It then grounds the need for search in Holland’s properties and features of Complex Adaptive Systems (CAS) (1995). Building on this foundation, this chapter then introduces both Repast Simphony (Repast S) and the Repast S approach to simplifying many agent-based modeling and multi-agent simulation search problems. An example application of the search capability within Repast S is then provided. Finally, this chapter presents some conclusions.Top
Several kinds of searches appear to be common in agent-based models and multi-agent simulations, including queries for: