APPLICATION ARCHITECTURE OF THE INTERNET SIMULATION MODEL: WEB WORD OF MOUTH (WOM) Mahmoud Rafea * , Fredrik Holmgren * , Konstantin Popov * , Seif Haridi * , Stelios Lelis + , Petros Kavassalis + , Jakka Sairamesh ~ * Swedish Institute of Computer Science, SICS, Box 1263, SE-16429 Kista, Sweden {seif, fredrikh, mahmoud}@sics.se + Institute for Computer Science, Foundation of Research and Technology - Hellas, ICS-FORTH, Science and Technology Park of Crete, P.O.Box 1385, GR 711 10 Heraklion, Crete, Greece slelis@ics.forth.gr and petros@rpcp.mit.edu ~ IBM Institute for Advanced Commerce, IBM Thomas J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY 10598 jramesh@us.ibm.com ABSTRACT In this paper, we present an Internet simulation application: WoM. The WoM simulation aims at showing agglomerations of users in few web sites and at studying the different factors that lead to such a macro-structure. The paper focuses on the architecture of the multi-agent simulation environment. In this environment, a simulation application is constructed using four different components categories, namely: agent collections, a worker, a communication channels component, and a control component. An agent collection can be constructed from different kinds of Small World graph components. Small World graphs are used to represent the social network and web sites links. An agent collection scales to hundreds of thousands of agents. A worker component is configured from a set of behavior components to implement the behavior of agent collections. Simulation input/output is monitored through a communication channel component. The control component is responsible for configuration and initialization of the application components. The control component, also, invokes the worker at each simulation time step. For scalability, the environment architecture is designed to be suitable for distribution and parallelization. KEY WORDS Agents, Simulation, Internet, emergent behaviors 1. Introduction The web Word of Mouth model (WoM) [1] is one of the behavioral models of iCities project for studying the emerging world of Internet and understanding the effect of various rules of interaction among Internet users. In effect, there is an analogy between web sites and physical cities, on one hand, and Internet users and city inhabitants, on the other. Also, there is an analogy between the services the web sites provide and physical products that people buy and sell in physical cities, where Internet users are considered the consumers. Consequently, in the iCities project the term infohabitants is used to denote Internet users and web sites in order to alert the audience to the proposed concepts. The analogy of Internet world to real world is the basis of creating the models of this project. The aim of those models is to prove the emergence of a macro-structure, i.e. agglomerations and other regularities, and to study the evolution of web sites and Internet users. The simulation approach is based on agents who represent infohabitans and who make individual decisions while interacting with each other. The WoM simulation aims at showing that the users agglomerate in few web sites, and at studying the different factors that lead to such macro-structure. The number of hits or visits, the site has, is the measure of these agglomerations. The simulation environment is being implemented in Mozart [2], a multi-paradigm language with support for distribution and data-flow synchronization. One of the goals of the project is to provide a simulation environment that supports the development of large-scale simulations in the scale of 100K to 1M agents. Consequently, the challenges are: • Optimizing code for both performance and memory usage. This certainly has a limit, and we have to consider distributed parallel processing to cope with such large numbers. It is expected that simulations will run on multiprocessor machines or to be distributed over a cluster of machines. Describing the distributed parallel processing in detail is out of scope of this article, but the design of the sequential implementation can be easily parallelized. • Providing an architecture based on components. This architecture allows the configuration of a simulation application from a set of components. This is an essential requirement, not only, for experimenting with implemented models, but also for developing other simulation models. In effect, new simulation models can be developed by reusing component from implemented models.