=Paper=
{{Paper
|id=Vol-1778/AmILP_4
|storemode=property
|title=Towards a Simulation of AmI Environments Integrating Social and Network Simulations
|pdfUrl=https://ceur-ws.org/Vol-1778/AmILP_4.pdf
|volume=Vol-1778
|authors=Álvaro Sánchez-Picot,Diego Martín,Borja Bordel,Ramón Pablo Alcarria Garrido,Diego Sánchez de Rivera,Tomás Robles
|dblpUrl=https://dblp.org/rec/conf/ecai/Sanchez-PicotAS16
}}
==Towards a Simulation of AmI Environments Integrating Social and Network Simulations==
Towards a simulation of AmI environments integrating social and network simulations Álvaro Sánchez-Picot and Diego Martı́n and Borja Bordel and Ramón Alcarria and Diego Sánchez de Rivera and Tomás Robles1 Abstract. of different actuators in order to affect the environment. We are heading towards a technological and hyper-connected Deploying all the infrastructure to create an AmI environment in world where every building is going to be full of sensors and actua- a building can be a very complex and expensive task, depending on tors to monitor and interact with it, in what is known as an Ambient the desired objective, not only for the cost of the devices and the re- Intelligence (AmI) environment. The main problem when creating quired communication devices, but also the time to select the optimal such environment is how expensive it can be, so a tool such a simula- position of these devices and the testing necessary to check that ev- tor could help to improve the way in which the devices are installed, erything works as expected. In this research paper we propose a tool testing with different configurations until you arrive to the optimal that helps in this task. That tool would be a simulator that enables the one. Also this simulator could help once the infrastructure is cre- study of the optimal position for placing the devices assuring that the ated to detect certain events before they happen, being able to apply system works as expected. The problem is that we have simulators a countermeasure. In this paper we propose the architecture to inte- that perform part of the work but not a simulator that covers all the grate a social and a network simulation in order to create a simulation cases. I.e. there are social simulators able to simulate the behavior for an AmI environment. and movement of the people inside a building for the social part of AmI, and there are network simulators capable of simulating com- munications and devices of a network for the communication part 1 INTRODUCTION of AmI; however, there is no simulator that integrates both simula- We are heading towards a technologically connected world. More tions and use the outcome from the two simulations. This really is a and more devices are installed in our homes and our environment. problem because it’s impossible to perform simulations of AmI envi- Some of these devices are not very new such as televisions, air con- ronments and therefore its design, development and deployment will ditioning units or security cameras but others are relatively new such be very costly, and also many problems will arise that were not taken as ambient lights, temperature sensors or microphones to talk with a into account after deploying the AmI environment. computer. Currently we want to know much more about what hap- Other valuable functionality that is obtained from joining both pens in our home and our surroundings than several years ago and simulators and interconnecting them to an AmI real time environ- thanks to the mobile phones we can easily access this information ment is that the simulator could analyze real time data and predict anywhere and in real time. Nowadays we also want the environment certain events that are going to happen and act in consequence, try- to act proactively depending on what happens, for example, turn on ing to avoid them to happen or minimizing the possible damage. The the lights automatically when the nightfall comes and turn it off when simulation could also use previous data to search for a pattern before there is nobody present or open and close blinds depending on the certain event happens and use machine learning techniques. light outside or the desired temperature inside the building. This cor- This paper is the continuation of our previous work [8], where responds to what is known as Ambient Intelligence (AmI) environ- we expand the architecture, the models, add the prediction of events ment, that is sensitive and responsive to the presence of people and and present the current status of the simulation; we also present a environmental factors. tool that integrates both social and network simulators in order to The idea of an AmI environment is that all its devices cooperate obtain a simulator that covers all information and that is necessary in together in order to obtain a desired result. The intelligence behind an AmI environment. In chapter 2 we present the related work this all these devices resides in a computational system that manages the paper is based on. In chapter 3 we show the architecture. Chapter data of all the sensors an analyzes it to get an idea on what is happen- 4 explains several models created for the simulator containing a data ing in the environment. Then, using some predefined rules or some model and a sequence model. In chapter 5 we talk about the use of the instructions from a person the actuators react to a system command simulator in a real time environment to predict certain events. Finally to do certain tasks. For example, if the temperature is rising, the sys- in chapters 6 and 7 we present the conclusions and some future work. tem receives a notification from the sensor, the system processes that information and send a command to the air conditioning in order to turn it on, until the temperature lowers and it can be turned off. An 2 RELATED WORK AmI environment is a complex one in that there can be lots of differ- ent devices recollecting information and the system can control lots This section describes the related work with the tool that we present in the paper. These includes AmI environments and also the simula- 1 Technical University of Madrid, Av. Complutense 30, 28040 Madrid Spain, tions, specifically both the social simulation and the network simula- Telecommunications School - ETSIT, email: alvaro.spicot@gmail.com tion. 2.1 Ambient Intelligence usually particularized for a certain case study. Some of them work with a 2D environment while others have a 3D one. All of them in- AmI is a discipline that makes our everyday environments sensitive clude some kind of physical engine to calculate the collisions be- to what is happening with the use of sensors, actuators, the network tween the agents and the environment. These simulators work using that interconnects all these devices and the server that orchestrates steps, so that all the information is updated every step (some seconds all these elements [2]. The main objective of AmI is the improve- defined during the initialization). ment of people’s life that use the environment. In order to achieve The SS specializes in the behavior of the human and it can sim- this objective the information generated in the sensors is recollected ulate other elements in an AmI environment such as sensors or ac- and processed in the server and then certain orders are sent to the tuators but it won’t be able to get an very deep simulation of those actuators, based on the information gathered from the sensors. The devices. actuators in the end will influence the people that are present in the In a network simulation, a program models the behavior of a net- environment, ideally not being conscious of the technology. In AmI work and each entity present in it, as well as the messages sent be- environments we expect several features [3]: tween them [2]. It can also simulate in detail the behavior of the • Sensitive: The system needs to base its decisions on what is hap- entities such as routers or computers. pening in the environment reacting to the people in them. There are several Network Simulators (NS) nowadays both open- • Adaptive: The system also requires to adjust its behavior depend- source such as NS or OMNet++ and proprietary such as OPNET or ing of the situation, considering the best possible behavior, and NETSIM [6]. All are event driven, meaning they calculate the next ideally anticipating to an event. event in the network, where an event could be, for example, send- • Transparent: The people in an AmI environment should not be ing or receiving a packet or a new device that enters the range of a conscious of the technology that surrounds them. Thanks to the wireless network. After the simulation ends they generate a log that miniaturization of the technology this is easily achieved nowa- contains all these events, useful for a future analysis of the network. days. NS are very good at simulating the network in an AmI environ- • Ubiquitous: An idea behind AmI is that it requires being present in ment and can simulate the other elements in this environment, mainly as many places as possible, ideally everywhere. In this way there the people, using specific algorithms for their movement but they is more data recollected, and the more information, the best the can’t do a very realistic simulation, specially in their behavior, such system can react to a particular event. a SS would. • Intelligent: The system works using AI in order to achieve its goals. This is done recollecting the data from the sensors, pro- 3 ARCHITECTURE cessing it, and giving orders to the actuators in order to, in the end, influence the environment, specially the people. In this section we present the proposed architecture that integrates both simulators. In order to achieve this we need to solve certain AmI is mainly used in home environments controlling the ele- problems that might arise during the interconnection of both simula- ments of the house such as the air conditioning, the watering of the tors. We have identified the following ones: plants or the security but it can also be extended to larger places such as an office or a cinema to control those elements but also to prevent • Initialization: Each simulator requires specific information in or- certain catastrophes such as a fire or, should it happen, manage the der to start the simulation. Much of the information is shared be- evacuation as best as possible guiding the people to the quickest and tween the simulators but probably a different format is necessary. safer exit [5]. Still some of the information is only required to one of the simu- lator, for example all related to the behavior of the people is only required by the SS while the NS only needs the position of the 2.2 Simulation people, but nothing more. Simulation is the process of designing a model of a real or imagined • Synchronization: There is a very serious problem with synchro- system and conducting experiments with that model to achieve cer- nization while the NS is synchronous SS is asynchronous. I.e. tain goal [7]. Simulations of a very simple environment can be done the network simulator is based on events, updating the simulation with a mathematical model but one that is slightly complex, requires when something happens, while the social simulation is based on the execution of the simulation in a computer, as there are too many steps, updating the position of all the agents every certain time. variables to take into account in the mathematical model. This requires a special synchronization between both simulators There are many different types of simulations, each aimed for a so that events are converted to time and everything can work. particular field but in the field of AmI, as there two very important • Visualization: Both simulators have their own visualization mod- variables people and devices, we are going to focus in two simula- ule but we need a common one to use with the integration so tions, the social simulation and the network simulation. that the user can operate the whole AmI simulator from a sin- Social simulation studies the interaction among social entities tak- gle graphic interface. This visualization will have to manage the ing into account their psychology and their behavior, both between information from both simulators. people and with the people and the environment [4]. There are two • Management: Different parameters can be managed before the main types of social simulation, system level simulation that ana- simulation start as shown in figure 8, so we can set the behav- lyzes the situation as a whole and agent-based simulation where we ior of the different elements as well as the characteristics of the model a person (the agent) and its own behavior, and the interaction environment. This helps to run several simulations with different between agents will result in the overall behavior. We will focus in parameters and then analyze the differences in the results. these last one as its way of working is more adapted to an AmI envi- • Decomposition: Both simulators require different parameters so, ronment. we need to keep track of the whole system but we need a way to There are different agent based Social Simulators (SS) such as particularize the information to each simulator as each simulator MASON, Repast [1], Swarm, each with its own characteristics and has its own way of processing the data. • Results: Once the simulation finishes we need a mechanism to used by the simulators which are executed by the engine. And finally store the data generated so that we can analyze it in the future and several sequence diagrams that explain in detail the communications compare the results from different simulations. between both simulators in the different cases: when the simulation starts, when the SS needs to be executed, when the NS needs to be In order to solve these problems we propose the creation of an en- executed and finally when the simulation ends. gine that will integrate both simulators including also an interface for the interaction with the user and a database to store the information generated. We call this engine Hydra. The general overview of this 4.1 Data model architecture can be seen in figure 1. Figure 1. General Architecture In this architecture we see both simulators communicating with Figure 2. Network Simulator Model Hydra. Hydra is going to integrate both simulators and is responsible of the following actions: • The initialization of the simulation. Hydra has to send each sim- ulator all the information it needs to start its own simulation. The In figure 2 we can see the data model used in the architecture pre- user will be required to configure several parameters particular to viously presented by the NS. each simulation specifying a condition that has to be met to end This model is a general conceptualization of the different objects the simulation, such as a specific elapsed time or certain event. we can find in an AmI environment but oriented towards the network. • The synchronization of the simulations. After each step a simu- We have divided the object in two different fields. First there is the lator generates a new state of the elements in the simulation, and environment that includes all inert objects found in the defined space. then Hydra needs to send the relevant information to the other sim- Considering a closed space such as that of a building we can find in ulator. For example, if after a step the SS updates the position of a a room elements such as walls, doors and windows and inside these person, this movement needs to be sent to the NS because it could we can find different types of furniture as well. All these objects are imply the movement of the mobile phone this person is carrying general in an AmI environment but we can also find cyber-physical and possibly it could enter or leave a wireless area. elements particularly important to the network such as communica- • Ending the simulation. Once the ending condition of the simula- tion lines. tion is reached as previously defined in the initialization or if the Then we have the agents that represent all that requires certain user manually ends it, Hydra recollects all the information that intelligence in the simulation. It includes two subsequent groups, has been generated during the simulation in order to store it in the first the people that contains all the information relevant in the social database so that it can be processed in the future. It also enables simulation so that the NS will only be interested in their movement. the user to view this information. Then there are also the cybernetic devices such as sensors, actuators, drones, etc. Hydra also works as the interface with the user allowing him to All objects might possess certain relevant information in the phys- configure the initial parameters and to check the information gen- ical model such as its size, weight or the material they have which erated once the simulation has finished. Hydra uses certain models might be interesting for the NS to check how the wireless communi- presented in the next section and adapts them to each simulator fol- cations propagate through the obstacles. lowing their requirements. In figure 3 we can see the model specific to the SS. There are lots of elements shared with the NS model but some of them have disappeared as they are not relevant in a social simulation, such as 4 MODEL communication lines, routers and computers. Instead there are some In this section we present the different models associated with the new elements such as everything related to the interaction between architecture explained in the previous section. Firstly the data model agents. Figure 4. Initialization of the simulation with the configuration parameters selected by the user and by the scene so that the different elements of the simulation can be placed Figure 3. Social Simulator Model in its locations and behave as expected. The models are also partic- ularized for each simulator as not both simulators are going to need the same information as explained in the data models in section 4.1. Then the information from the models is sent to each simulator 4.2 Sequence model so that it can start its own version of the simulation. Each simulator In this subsection we will see in detail how the communication be- will then configure the simulation with the parameters received from tween both simulators and Hydra is done and in particular the dif- Hydra, and once the set up is done, they inform Hydra that the are ferent tasks Hydra needs to execute in order to guarantee that the ready to continue with the simulation when required. Each simulator events are solved in the correct order and that both simulators have also send to Hydra information about what are the next events. In the the information updated. particular case of the SS the only next event is when the next step There are 4 sequence models that correspond to the four different happens as defined by the user, but in the case of the NS these events states the simulation can be, and are later explained in detail. In order can be new packets generated or systems booting up are any other to understand these states we need to explain first how Hydra works possible event. with both simulators and some key aspect of them. Once the first simulator finishes configuring its simulation, Hydra One of the main tasks of Hydra is to coordinate both simulators creates the queue where the events will be stored with the information and keep track of the current state of the simulation. In order to it received from the simulator. Similarly, once the second simulator achieve this, Hydra stores the close future events in a queue ordered ends, Hydra will add the events to the queue. by in simulation time, so that the first event in the queue is the next Now the simulation is ready to start. The next step explains how one to be executed. Each event contains information to which sim- Hydra processes the queue and continues with the simulation. ulator does it belongs. Each step Hydra extracts the first event from the queue and informs the corresponding simulator to execute an step 4.2.2 Update of the social simulation in its simulation. Once the simulation of the step finishes the simula- tor informs the engine, possibly with information about new events generated that are then added to the queue in order. Then Hydra can possibly send information to the other simulator so that it can update its state, and finally a new step starts. All these process is explained in detail later with the sequence models. Once the user informs Hydra to start the simulation there are four possible situations. The first one is the proper initialization of the simulation where each simulator starts its own simulation The sec- ond and third one are during the simulation when different events are extracted from the queue and sent to the NS or the SS as corresponds. Finally the simulation ends when the queue is empty or when a cer- tain condition predefined by the user is met and then the information related to all the simulation is generated, processed and stored in the database. 4.2.1 Initialization of the simulation The initialization of the simulation happens once the user has config- Figure 5. Update of the social simulation ured the parameters of the simulation and starts the simulation, both visually or in batch. This process can be seen in figure 4. First Hydra has to load the different models from the database, necessary in the selected scene. These models are then particularized Once the simulation is ready to start and then after each step is resolved, Hydra extracts the first element in the queue (so it is also queue (so it is also the first event in chronological order), removing the first event in chronological order), removing it from the queue it from the queue and then processes it. and then processes it. If the first element is one from the network simulator, Hydra sends If the first element is one from the social simulator, Hydra sends a a message to the NS informing it that it can simulate the next event. message to the SS informing it that it can simulate the next step. In In figure 6 it is explained how does this process work. figure 5 it is explained how does this process work. Each update in the NS requires to execute certain event such as a Each update in the SS usually requires to update the position of packet that arrives to a router and needs to be processed or a user that all the agents in the simulation depending on the interaction between moves within range of a Wi-Fi. Once this event is resolved the NS them and the surroundings. Once the simulation has been updated, informs Hydra that the update is complete. In the process of solving the SS sends a message to Hydra to inform that the simulation of the event, new events might have been generated with a time-stamp the step has finished but his message also contains information about in them. This events are sent to Hydra within the message informing the new positions of the elements in the simulation and any other the conclusion of the update. information that may be relevant. This message also contains infor- When Hydra receives the message it adds the new events to the mation about when the next event is going to happen in the time of queue, if any, and then parses the information to send the one is rele- the simulation. vant to the SS. Similarly to the previous case, not all the information Then the engine processes this information and adds the event of will be relevant to the SS but some might. For example if a mobile the next simulation to the queue in the chronological order that corre- phone has lost its signal the SS needs to know this information be- sponds. Hydra also processes the updated positions from the agents cause the person could react to the event. and sends a message with the information that is relevant to the NS Once the SS confirms that it has updated the new information, the so that it can update its own simulation and it is synchronized with step is completed and then Hydra checks if a condition to end the the social simulation. Not all the information might be relevant to the simulation has happened as explained at the end of section 4.2.3. NS, for example, depending on the scenario the position of a person Now Hydra will extract the next event in the queue and continue might not be interesting to the NS, but it is the position of its mobile with the simulation. phone the one that is important. Once the NS confirms that it has updated the new positions of the agents, the step is completed and then Hydra checks if a condition 4.2.4 End of the simulation to end the simulation has happened. This condition is defined by the user when configuring the scenario and could be, for example, a cer- tain time of the simulation or a certain region that has to be empty or there could be even no ending condition, as for example when run- ning a visual simulation. In this case, the user will have to manually stop the simulation when he desires. Now Hydra will extract the next event in the queue and continue with the simulation. 4.2.3 Update of the network simulation Figure 7. End of the simulation Once the simulation reaches the end, Hydra has to do certain tasks to store all the information relevant to the whole simulation as ex- plained in figure 7. First Hydra informs both simulators to finish their simulation. Each simulator end the simulation but also process all the data that has been generated during the simulation and sends it to Hydra. In the case of the SS this information will be the evolution of the posi- tion of the elements in the simulation as well as certain parameters that might have changed. In the case of the NS this will be a file with Figure 6. Update of the network simulation all the packets that have been sent and its content as well as other parameters that might be relevant. Once Hydra has the information from both simulators, it proceeds to store it in the database including all the parameters selected ini- Similarly to the previous case, once the simulation is ready to start tially by the user as well as some other information as the date or the or when a new step begins, Hydra extracts the first element in the duration of the simulation. Now the simulation has finished. If the user run a batch simulation, then a new simulation might start or if it was the last one then Hydra pauses and waits for new user input. If the user run a visual simula- tion, now there is a new management screen where he can analyze any simulation and compare them. 5 PREDICTION OF EVENTS A simulation of an AmI environment should not only be used when designing the real AmI environment testing where the devices should be placed, but it could also be very helpful once the system is ready and the devices are installed in the environment. The idea is that the simulation can use the data from the devices in real time and use this information to predict future events that may cause the system to malfunction or something dangerous that could happen. A simula- tion is run with the data obtained in the present searching for certain patterns previously defined such as for example a great concentration of people in a small area. Should the simulation find this pattern the system tries to react in order to avoid it, for example indicating the people to abandon the area or, if necessary, informing a supervisor. Each time lapse a new simulation is run with the current data. This Figure 9. Configuration of the scenario time lapse could be shorter or longer as required depending on how fast is going to change the data. In order for this prediction to work the simulation should run fast phones connect and disconnect from the network. The configuration enough so that when the data is processed, not enough time has been screen enables the user to change the IP and port where the simu- elapsed and the event has not yet happened so that some measures lators are running as well as configure certain parameters proper to can be taken to prevent it. the simulation selected. In this case the user can choose how many The simulation can also use data from the past in order to predict people are in the simulation, the size of the area where the people these events searching for certain patterns that can cause them. can move and a parameter to define the movement of the people. Once the parameters are configured, the user can click to run a visual 6 PROPOSAL OF VALIDATION simulation what will take him to the next screen. Alternatively, once the scene parameters are configured, the user We are currently working in the validation of the architecture, cre- can, rather than running a visual simulation, select to run a batch ating Hydra to coordinate both simulators and an interface on each simulation. In this case the user can select how many simulations to Simulation to do as intermediate between Hydra and the proper sim- run and each one, after how many steps are stopped. In this case the ulator. simulations will run in background and once finished the user will be taken to a screen where he can analyze the data generated in the simulations. Figure 8. Scenario selection Once Hydra and the simulators are started, the user can access the graphic interface using a browser. The first screen the user sees is a table with the scenarios as can be seen in figure 8. Currently three scenarios appear with a small description but ideally the user could create a new one or edit one that exists. In order to create a new scenario, a new screen would appear enabling the user to drag and drop different elements predefined to create the desired scenario and then add the configurable parameters. Once the user selects a scenario, a new screen appears as can be Figure 10. Running the simulation seen in figure 9. The selected scenario is one with a router and differ- ent users with mobile phones walking around the router so that their Once a visual simulation starts, the user has control of the flow of simulates the advancement of a fire inside a building, could be in- the simulation, being able to run a step by step simulation or running cluded in order to improve a simulation to test the evacuation time of the simulation as fast as possible. The user can pause the simulation a building. Other ideas could be a weather simulator a day and night and click in any of the elements in the screen to access its informa- simulator that can influence in the behavior of both the people and tion. Once the user decides to stop the simulation, he is then taken to the cyber-physical devices in the simulation. a screen where the data of the simulation appears. Finally, another possible future work could be the distribution of the simulation so that each component runs in one or several ma- chines and the data is shared between all. This could be really im- 7 CONCLUSIONS portant when the simulation works with the real environment firstly because the great quantity of data that it can process but also, should In this paper we present an integration of a social simulation and some of the machines stop working, the simulation could keep work- a network simulator in order to get an enhanced AmI environment ing with other machines continuing the work of the one that failed. simulator that can precisely simulate the whole environment. A sim- ulator for Ambient Intelligence environments is very useful due to they can be tested before being developed and deployed and check- ACKNOWLEDGEMENTS ing if it’s feasible; as a result these environments can be designed, This work has been partially supported by the Autonomous Region of developed and deployed more efficiently and effectively. Several dif- Madrid through program MOSI-AGIL-CM (grant P2013/ICE-3019, ficulties have arisen during the development of this research work co-funded by EU Structural Funds FSE and FEDER) and has also and we gave them solution with the proposal of an engine that inte- received funding from the Ministry of Economy and Competitiveness grates and coordinates and orchestrates both simulators. This engine through SEMOLA project (TEC2015-68284- R). is responsible of the initialization and coordination of both simulators keeping track of the different events that happen and the finalization of the simulation, storing the data generated. Apart from the engine REFERENCES there is also a visualization element that allows the user to follow the [1] Robert John Allan, ‘Survey of agent based modelling and simulation simulation as it advances and the inspection of the data generated, en- tools’, Technical report, (2009). abling him to check if everything worked as expected and comparing [2] Lee Breslau, Deborah Estrin, Haobo Yu, Kevin Fall, Sally Floyd, John Heidemann, Ahmed Helmy, Polly Huang, Steven McCanne, Kannan this data with one from a previous simulation. It also allows the user Varadhan, et al., ‘Advances in network simulation’, Computer, (5), 59– to configure the different parameters before starting the simulation 67, (2000). and also configure an execution of a batch of simulations. [3] Diane J Cook, Juan C Augusto, and Vikramaditya R Jakkula, ‘Ambi- ent intelligence: Technologies, applications, and opportunities’, Perva- sive and Mobile Computing, 5(4), 277–298, (2009). 8 FUTURE WORK [4] Paul Davidsson, ‘Agent based social simulation: A computer science view’, Journal of artificial societies and social simulation, 5(1), (2002). [5] Augusto Morales, Ramon Alcarria, Diego Martin, and Tomas Robles, The architecture presented in this paper enables several improve- ‘Enhancing evacuation plans with a situation awareness system based on ments. Here we comment some of them. end-user knowledge provision’, Sensors, 14(6), 11153–11178, (2014). The most important task is the realization of a validation of the [6] Saba Siraj, A Gupta, and R Badgujar, ‘Network simulation tools survey’, architecture. This would include a deployment of a simulated sce- International Journal of Advanced Research in Computer and Commu- nication Engineering, 1(4), 199–206, (2012). nario containing several people and cyber-physical devices and the [7] John A Sokolowski and Catherine M Banks, Principles of modeling and comparison of the data obtained in the real environment with that ob- simulation: a multidisciplinary approach, John Wiley & Sons, 2011. tained in the simulation. We are currently working on this, but there [8] Álvaro Sánchez-Picot, Diego Martı́n, Diego Sánchez de Rivera, Borja is still a lot of work to do. Bordel, and Tomás Robles, ‘Modeling and simulation of interactions The scenarios we are working with are very basic and are created among people and devices in ambient intelligence environments’, in 2016 30th International Conference on Advanced Information Network- by hand. The user should be able to create its own scenario adding ing and Applications Workshops (WAINA), pp. 784–789. IEEE, (2016). graphically the elements he wants, from those defined in the model, and configuring their parameters or being able to define the ones that can be configured later, just before the execution. During the simulation the user should be able to modify the simu- lation on the run, so that he can experiment with new changes in the simulation, like moving certain agents, or adding or removing new ones. This would enrich the visual simulation so that it is not just a visual representation of the batch simulation. Finally the screen that enables the user to analyze the simulation should be the most important one because this is why the user runs a simulation in the first instance. This screen currently shows the logs sent by each simulator, but it should present the information in a more visual way, enabling the user to see the simulation in each step as well as compare it with other simulations previously run. It should also enable the user to filter the parameters he is interested in. Another idea for the simulator is the inclusion of different simu- lators in the engine. We have only included a social simulator and a network simulator but several others could be added depending on the scenario simulated. For example, a fire simulator, that precisely