=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== https://ceur-ws.org/Vol-1778/AmILP_4.pdf
     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