SlideShare a Scribd company logo
1 of 8
Download to read offline
SCSimulator:
An Open Source, Scalable Smart City Simulator∗
Eduardo Felipe Zambom Santana1,2
, Daniel Macˆedo Bastista1
, Fabio Kon1
,
Dejan S. Milojicic3
1
Department of Computer Science - University of S˜ao Paulo
2
School of Engineering and Technology - Anhembi Morumbi University
3
HP Laboratories - Palo Alto
{efzambom,batista,kon}@ime.usp.br,dejan.milojicic@hpe.com
Abstract. Smart Cities, i.e., cities enhanced with a technological infrastructure
that enables a more intelligent use and management of its resources, are cur-
rently seen as a powerful way of improving the quality of life of its citizens.
Smart city platforms tailored at metropolises will be intrinsically very-large-
scale systems; designing and developing such systems will be a daunting task.
Also, deploying an infrastructure to test smart city systems is challenging due to
costs, risks, and political difficulties. Therefore, being able to simulate the exe-
cution of smart city scenarios would be extremely beneficial for the advancement
of the field. This paper presents a new open-source, large-scale smart city sim-
ulator capable of simulating different smart city scenarios and its performance
and usability are also discussed.
1. Introduction
Since 2009, most of the world population is living in cities [United Nations 2009] and cur-
rent resources and infrastructure are hardly enough to cope with the increasing demand
generated by population growth and geographic concentration [Caragliu et al. 2011].
Thus, making cities smarter can help optimize resource and infrastructure utilization in a
more sustainable way. However, deploying the infrastructure to test Smart City systems
will be a considerable problem due to costs, risks, and political difficulties.
There are already a few Smart City experimental testbeds such as SmartSantander
[Jose et al. 2013], with 20 thousand sensors, and Padova Smart City [Zanella et al. 2014],
with 3 thousand sensors. However, a Smart City has more components that are compli-
cated to deploy in a testbed such as Smart Buildings, Smart Grids, and Vehicular Ah-Doc
Networks (VANET). Another problem is that the current testbeds are deployed in small
to medium cities. Deploying a sensor network in a huge city such as S˜ao Paulo, with 11
million inhabitants, is a daunting task.
An alternative to support large-scale tests and experiments is the use of simula-
tors. The very large amount of actors in a Smart City environment (e.g., consider the 8
million cars and 11 million people in the city of S˜ao Paulo) requires a very-large-scale
∗
SCSimulator code, videos, and documentation are available in its page:
https://github.com/ezambomsantana/smart-city-simulator
simulator. To be able to simulate such huge scenarios, we are developing SCSimulator to
support tests of many Smart City complex scenarios such as traffic, energy, and disaster
management. SCSimulator will certainly be very useful for many stakeholders such as
city administrators, smart city software developers, and operators of city systems.
This paper is organized as follows. Section 2 presents related work. Section 3
describes the simulator functional and non-functional requirements. Section 4 presents
the architecture and implementation of SCSimulator. Section 5 presents the SCSimulator
performance and usability evaluation. Finally, Section 6 points out our conclusions and
future work.
2. Related Work
In our literature and Web searches for Smart City simulators, we did not find any simulator
that is capable of simulating large-scale and complex scenarios with multiple actors such
as cars, buildings, people, and sensors. We found some specific simulators tailored at
specific domains such as Smart Grids, VANETs, and car traffic, which we describe below.
DEUS (Discrete-Event Universal Simulator) is a discrete-event general pur-
pose simulator, which was extended to simulate a Vehicular Ad-Hoc Network (VANET)
[Picone et al. 2012]. In this Java-based, open-source simulator, it is possible to extend
the base Node and Event model to implement specific actors to simulate entities such as
cars, buildings, people, and sensors. Due to its architecture and non-parallel Java imple-
mentation, its scalability is weak, which was confirmed by experiments with almost 10
thousand nodes that we carried out.
Veins is a VANET simulator [Darus and Bakar 2013] integrated with OM-
NET++1
, a well-known discrete-event network simulator, and SUMO (Simulation of Ur-
ban Mobility)2
, a traffic simulator. In Veins, it is possible to simulate traffic scenarios such
as accidents and traffic jams. In our experience with it, it was difficult for us to understand
its code and architecture and running it in parallel mode was not trivial.
Siafu is a Java agent-based, open-source simulator [Europe 2007] used to simu-
late mobile events in a city. The simulator has a user interface to visualize simulation data
and can export data sets. In Siafu, the agent creation is manual, so it is more appropriate
for small, simple scenarios that can be visualized via a simple graphical interface.
3. Requirements
In this section, we present the functional and non-functional requirements that a Smart
City simulator must handle.
3.1. Functional Requirements
To find the functional requirements for the initial version of our SCSimulator, we re-
viewed the literature on smart cities domains [Jose et al. 2013, Zanella et al. 2014]. We
then selected the three most commonly explored domains in the scientific literature, which
include the scenarios and actors described in the following.
1
OMNET++ - https://omnetpp.org
2
SUMO - http://sumo.dlr.de
• Traffic: It should be possible to simulate multiple traffic scenarios such as the
impact of improving the quality of public transportation, the cause and effects of
traffic jams, and the best routes for public transport systems. The main actors of
these scenarios are vehicles, people, traffic lights, and flow sensors.
• Resource Usage and Distribution: In a Smart City, it is possible to manage the
use of city resources such as water and electricity. It is possible to measure the
amount of these resources at many levels such as buildings, streets, and neighbor-
hoods. It should be possible to simulate the amount of water and electricity used
by buildings as well as how these resources are distributed across the city. The
main actors of these scenarios are Smart Buildings, Sensors, and Energy Stations.
• Waste Management: Many authors cite the management of waste services in the
city as an important Smart City domain. It should be possible to simulate the use
of a sensor network to notify when trash cans are full, visualization and control
of trash vehicles, and prediction of when waste disposals will be full with the
growth of population. The main actors of these scenarios are buildings (generate
and receive trash), vehicles (trash truck), and sensors.
3.2. Non-Functional Requirements
The most important non-functional requirements necessary to implement a Smart City
simulator are (1) enabling ease of use of the simulator and (2) the execution of very large
simulations. Thus, the main non-functional requirements are:
• Scalability: To simulate Smart City scenarios, it will be necessary to manage
millions of actors such as cars, people, buildings, and sensors. Therefore, the
simulator scenarios have to scale from hundreds to millions of actors. To achieve
this, distributed and/or parallel simulations will be mandatory.
• Usability: The simulator has to allow easy description of the simulated scenarios,
enabling people that do not know the internal implementation of the simulator
to develop scenarios with little effort. Thus, the programming model has to be
intuitive and independent of the internal implementation of the simulator.
• Extensibility: It is unlikely that a simulator will provide all required features
for Smart City simulations. The simulator has to be easily extensible, offering
simple mechanisms for implementing new actors and changing their behavior, for
implementing new metrics as well changing the behavior of the simulator itself.
So, it is important not only that the simulator be open source but also that it is well
documented and is implemented with good quality, extensible code.
4. SCSimulator
The goal of SCSimulator is to meet all the requirements stated in the previous section.
To achieve that, our approach has been to reuse as much good quality code as we can.
Thus, we based the project on an open-source, large-scale, discrete-event simulator called
Sim-Diasca (Simulation of Discrete Systems of All Scales) [Song et al. 2011] developed
in France by the EDF energy company.
Sim-Diasca is a general purpose simulator that has the goal of enabling very large-
scale simulations. This simulator is implemented in Erlang, a functional language that fa-
cilitates the implementation of massively parallel and distributed applications. Moreover,
Sim-Diasca has a simple programming model enabling fast development of simulation
scenarios. Our experiments with Sim-Diasca demonstrated that it scales much better and
is much easier to use and extend that the other simulators mentioned in Section 2
Figure 1 presents the simulator architecture. The bottom layer is the Sim-Diasca
simulator, responsible for the discrete-event activities such as Time Management, Ran-
dom Number Generation, Deployment Management, and the Base Actor Models. The
middle layer is the Smart-City Model we developed as part of our research, which imple-
ments the required actors for Smart City simulations such as vehicles, people, and sensors.
The top layer comprises the scenarios that are implemented using the Smart City model.
Figure 1. SCSimulator Architecture
With the SCSimulator, there are two ways to visualize the results of the simulation.
First, it is possible to associate Probes with each actor and, anytime in the simulation, the
actor sends data about its state to its probe. At the end of the simulation, a file with all the
values passed to a probe is created. The simulator can also generate graphs with probe
values over simulation virtual time. Figure 2 shows an example of a chart with the values
of the probe of a sensor actor.
The second way to visualize the results of the simulation is via an animated GUI
based on the GoogleMaps API. In this case, it is possible to visualize data gathered from
the simulation while the simulation is running. Figure 3 shows an example of the simula-
tion map, showing a simple simulation with a few dozen cars, buses, sensors, and traffic
lights.
5. Simulator Evaluation
In this section, We compared SCSimulator with the three other simulators presented in
Section 2. We compared three aspects of the simulators: Scalability, Programming Model,
and Output.
Figure 2. Probe generated data
Figure 3. Animated Visualization with the SCSimulator
5.1. Scalability
To evaluate the scalability, we developed a scenario with some actors in SCSimulator.
The initial configuration of the scenario had four buildings, four sensors, and three bus
terminals. Cars came out of the buildings at a certain rate and buses left the terminals at
another rate. We executed the simulation twice, the first with 500,000 simulated clock
ticks and the second with 10 million simulated clock ticks. The first simulation took
approximately 2,500 seconds and the second 100,000 seconds. To run the simulations,
we used a machine with AMD FX6300 processor with 6 cores and 10 GB of memory
running the GNU/Linux (Fedora 21) operating system.
Figure 4 shows the number of actors created during both simulations. The first
simulation started with 6 actors and finished with 896. The second simulation also started
with 6 actors and finished with 18128. The figure shows that the number of actors grew
almost linearly with wall-clock time, indicating that the simulator could handle the load
easily up to 18,000 actors and 10 million simulated clock ticks.
Figure 4. Number of actors over time
Figure 5. Computational resources used in the simulation over time
Figure 5 shows the resource consumption of both simulations. In the first simu-
lation, the results show that resource usage almost did not change across the simulation.
With 6 actors, the Erlang VM used 0.8% of the machine memory; with almost 900 actors,
the amount of memory used increased to 2%. CPU usage also did not change very much
over the simulation time; the chart shows that the average of the usage was almost the
same during all the simulation. In the second simulation, the amount of memory occu-
pied by the Erlang process also started in 0.6% and finished in 15.6%. The amount of
memory used by the other processes of the machine increased almost at the same rate
of the Erlang VM in both simulations. This occurred because creating an Erlang thread
needs an OS action, and some processes create a file to write the values of the simulation.
These results show that the CPU is the bottleneck for the simulations up to the
number of actors we experimented with, pointing to the necessity of parallelizing the
execution of the simulation in more cores and/or machines.
We developed a similar simulation in DEUS and Siafu and executed on the same
machine. DEUS stopped working with 7320 actors because of an out of memory error. In
Siafu we created a simulation with 384 actors but, as said in Section 2 it is hard to create a
large scenario. These two simulators only execute sequentially. We did not present results
obtained with Veins simulator because the simulator does not export the current number
of actors in the simulation, but we could not create a very large simulation.
5.2. Programming Model
The programming model is important to evaluate the extensibility and usability of the
simulator. The SCSimulator and DEUS have a very similar programming model. Both
provide a base class (Actor in Sim-Diasca and Node in DEUS) that developers can extend
to implement the simulation actors. The Siafu programming model is a little different,
and the programmer has to understand all the code of the simulator. To create a traffic
simulation in Veins no code is required, but if it is necessary to add new components to
the simulator, it is necessary to change OMNET++ and SUMO and its communication.
Therefore, SCSimulator and DEUS seem to be more easily extensible than Siafu and
Veins.
To verify usability, it is important to analyze how to create the Smart City scenar-
ios. In SCSimulator, an Erlang code describing the initial configuration of the simulation
is required to define a scenario. Listing 1 presents an example of how to define the sce-
nario actors. In the listing, a traffic light and a sensor actor are defined.
c l a s s A c t o r : c r e a t e i n i t i a l a c t o r ( c l a s s T r a f f i c L i g h t ,
[
TFNAME=” t r a f f i c l i g h t 1 ” ,
TFLAT= −23.562831 ,
TFLONG= −46.656866 ,
TFTIME=10
] ) ,
c l a s s A c t o r : c r e a t e i n i t i a l a c t o r ( c l a s s S e n s o r ,
[
SName1=” s e n s o r 1 ” ,
SLat1 = −23.570813 ,
SLong1 = −46.656108 ,
SType1 = ” t e m p e r a t u r e ”
] ) ,
Listing 1. SCSimulator Actors Definition
Veins and DEUS have a similar way of defining the scenario using XML files that
describe the initial actors and their corresponding behavior what leads to an additional
overhead for parsing. Siafu has a visual interface to define the scenarios, which is good
and easy to define small simulations, but which makes impractical the creation of large
simulations with a large number of actors.
5.3. Simulation Output
The SCSimulator has the two outputs already presented: the animated visualization based
on Google Maps and the Probe datasets and graphs generated by the simulator. DEUS
also uses Google Maps to present the results of the simulations but does not generate
values to be analyzed after the simulation. Veins and Siafu have their own interfaces to
show the simulation results; Siafu also generates datasets with values generated in the
simulation for post-mortem analysis.
6. Conclusions and Future Work
This paper described the development of SCSimulator, a simulator that aims to advance
the state of the art in the integrated simulation of Smart Cities, offering scalability and an
easy programming model. In this first version of the simulator, we implemented actors of
a Smart City environment such as Smart Buildings, Vehicles, and Sensors. The experi-
ments showed that the simulator is scalable, a fundamental requirement to simulate Smart
Cities. Compared to other simulators, SCSimulator is also easy to use and the results of
the simulations can be obtained both by lists of values, graphs or an animated simulation
with a GUI
In our ongoing work, we are experimenting with larger scenarios, going up to
hundreds of thousands of actors; for that, we need to execute the simulator in larger
machines, with more cores so as to better explore the parallelism supported by the Actor
model of the Erlang language. In the long run, we intend to perform simulations with
millions of actors but we anticipate that several challenges and bottlenecks will need to
be resolved before we can achieve that. As future work, we intend to implement other
Smart City scenarios such as disaster management and public transportation. Finally, we
intend to perform a functional evaluation with city officials and public policy makers to
validate the simulated scenarios and improve the simulator usability.
7. Acknowledgments
This work is funded by Hewlett-Packard Brazil.
References
[Caragliu et al. 2011] Caragliu, A., Del Bo, C., and Nijkamp, P. (2011). Smart cities in
europe. Journal of urban technology, 18(2):65–82.
[Darus and Bakar 2013] Darus, M. Y. and Bakar, K. A. (2013). Congestion control algo-
rithm in vanets. World Applied Sciences Journal, 21(7):1057–1061.
[Europe 2007] Europe, N. (2007). Siafu: An open source context simulator.
[Jose et al. 2013] Jose, A. G., Guti´errez, V., Santana, J. R., S´anchez, L., Sotres, P.,
Casanueva, J., and Mu˜noz, L. (2013). Smartsantander: A joint service provision facil-
ity and experimentation-oriented testbed, within a smart city environment.
[Picone et al. 2012] Picone, M., Amoretti, M., and Zanichelli, F. (2012). Simulating smart
cities with deus. In Proceedings of the 5th International ICST Conference on Simu-
lation Tools and Techniques, pages 172–177. ICST (Institute for Computer Sciences,
Social-Informatics and Telecommunications Engineering).
[Song et al. 2011] Song, T., Kaleshi, D., Zhou, R., Boudeville, O., Ma, J.-X., Pelletier, A.,
and Haddadi, I. (2011). Performance evaluation of integrated smart energy solutions
through large-scale simulations. In Smart Grid Communications (SmartGridComm),
2011 IEEE International Conference on, pages 37–42.
[United Nations 2009] United Nations (2009). Urban and rural areas 2009.
[Zanella et al. 2014] Zanella, A., Bui, N., Castellani, A., Vangelista, L., and Zorzi, M.
(2014). Internet of things for smart cities. Internet of Things Journal, IEEE, 1(1):22–
32.

More Related Content

Viewers also liked

'Corrosion Behavor of Ferritic Steel, Austenitic Steel and Low Carbon Steel G...
'Corrosion Behavor of Ferritic Steel, Austenitic Steel and Low Carbon Steel G...'Corrosion Behavor of Ferritic Steel, Austenitic Steel and Low Carbon Steel G...
'Corrosion Behavor of Ferritic Steel, Austenitic Steel and Low Carbon Steel G...Ritesh Heerah
 
Combining Paid Search And SEO In Your Agency Marketing Strategy
Combining Paid Search And SEO In Your Agency Marketing StrategyCombining Paid Search And SEO In Your Agency Marketing Strategy
Combining Paid Search And SEO In Your Agency Marketing StrategyDylan Brooks
 
A Bridge To Success: How To Craft Effective Content For Your Insurance Website
A Bridge To Success: How To Craft Effective Content For Your Insurance WebsiteA Bridge To Success: How To Craft Effective Content For Your Insurance Website
A Bridge To Success: How To Craft Effective Content For Your Insurance WebsiteDylan Brooks
 
Case Study for Legal Translation Services
Case Study for Legal Translation ServicesCase Study for Legal Translation Services
Case Study for Legal Translation ServicesGlobal Lingo
 
Ballon d'or résultat vote
Ballon d'or résultat voteBallon d'or résultat vote
Ballon d'or résultat voteAmara Soumah
 
Decision making dr elsayed nasser دورة إتخاذ القرار د السيد ناصر
Decision making dr elsayed nasser دورة إتخاذ القرار د السيد ناصرDecision making dr elsayed nasser دورة إتخاذ القرار د السيد ناصر
Decision making dr elsayed nasser دورة إتخاذ القرار د السيد ناصرMohammed Al-Sayyari
 
Simulador de Cidades Inteligentes (SBRC)
Simulador de Cidades Inteligentes (SBRC)Simulador de Cidades Inteligentes (SBRC)
Simulador de Cidades Inteligentes (SBRC)Eduardo Santana
 

Viewers also liked (17)

Jobs ppt
Jobs pptJobs ppt
Jobs ppt
 
'Corrosion Behavor of Ferritic Steel, Austenitic Steel and Low Carbon Steel G...
'Corrosion Behavor of Ferritic Steel, Austenitic Steel and Low Carbon Steel G...'Corrosion Behavor of Ferritic Steel, Austenitic Steel and Low Carbon Steel G...
'Corrosion Behavor of Ferritic Steel, Austenitic Steel and Low Carbon Steel G...
 
Computers ppt
Computers pptComputers ppt
Computers ppt
 
Sujit
SujitSujit
Sujit
 
Combining Paid Search And SEO In Your Agency Marketing Strategy
Combining Paid Search And SEO In Your Agency Marketing StrategyCombining Paid Search And SEO In Your Agency Marketing Strategy
Combining Paid Search And SEO In Your Agency Marketing Strategy
 
A Bridge To Success: How To Craft Effective Content For Your Insurance Website
A Bridge To Success: How To Craft Effective Content For Your Insurance WebsiteA Bridge To Success: How To Craft Effective Content For Your Insurance Website
A Bridge To Success: How To Craft Effective Content For Your Insurance Website
 
Case Study for Legal Translation Services
Case Study for Legal Translation ServicesCase Study for Legal Translation Services
Case Study for Legal Translation Services
 
Tum Karo Daya
Tum Karo DayaTum Karo Daya
Tum Karo Daya
 
1348
13481348
1348
 
Global Lingo
Global LingoGlobal Lingo
Global Lingo
 
Travel ppt
Travel pptTravel ppt
Travel ppt
 
Ballon d'or résultat vote
Ballon d'or résultat voteBallon d'or résultat vote
Ballon d'or résultat vote
 
Apparel
ApparelApparel
Apparel
 
Jobs ppt
Jobs pptJobs ppt
Jobs ppt
 
Decision making dr elsayed nasser دورة إتخاذ القرار د السيد ناصر
Decision making dr elsayed nasser دورة إتخاذ القرار د السيد ناصرDecision making dr elsayed nasser دورة إتخاذ القرار د السيد ناصر
Decision making dr elsayed nasser دورة إتخاذ القرار د السيد ناصر
 
Doctors ppt
Doctors pptDoctors ppt
Doctors ppt
 
Simulador de Cidades Inteligentes (SBRC)
Simulador de Cidades Inteligentes (SBRC)Simulador de Cidades Inteligentes (SBRC)
Simulador de Cidades Inteligentes (SBRC)
 

Similar to SCSimulator: An Open Source, Scalable Smart City Simulator

applsci-12-12131-v2.pdf
applsci-12-12131-v2.pdfapplsci-12-12131-v2.pdf
applsci-12-12131-v2.pdfHemin Refiq
 
IRJET- Technical Paper on Use of Smart Urban Simulation Software –‘Citysi...
IRJET-  	  Technical Paper on Use of Smart Urban Simulation Software –‘Citysi...IRJET-  	  Technical Paper on Use of Smart Urban Simulation Software –‘Citysi...
IRJET- Technical Paper on Use of Smart Urban Simulation Software –‘Citysi...IRJET Journal
 
Monaco_SUMO_Traffic_-MoST-_Scenario_A_3D_Mobility_Scenario_for_Cooperative_IT...
Monaco_SUMO_Traffic_-MoST-_Scenario_A_3D_Mobility_Scenario_for_Cooperative_IT...Monaco_SUMO_Traffic_-MoST-_Scenario_A_3D_Mobility_Scenario_for_Cooperative_IT...
Monaco_SUMO_Traffic_-MoST-_Scenario_A_3D_Mobility_Scenario_for_Cooperative_IT...Summrina Kanwal
 
Applicability of big data techniques to smart cities deployments
Applicability of big data techniques to smart cities deploymentsApplicability of big data techniques to smart cities deployments
Applicability of big data techniques to smart cities deploymentsNexgen Technology
 
Platform Adaptation and Challenges in Smart Cities
Platform Adaptation and Challenges in Smart CitiesPlatform Adaptation and Challenges in Smart Cities
Platform Adaptation and Challenges in Smart CitiesHiroshi Takahashi
 
Toward a real time framework in cloudlet-based architecture
Toward a real time framework in cloudlet-based architectureToward a real time framework in cloudlet-based architecture
Toward a real time framework in cloudlet-based architectureredpel dot com
 
APPLICABILITY OF BIG DATA TECHNIQUES TOSMART CITIES DEPLOYMENTS
APPLICABILITY OF BIG DATA TECHNIQUES TOSMART CITIES DEPLOYMENTSAPPLICABILITY OF BIG DATA TECHNIQUES TOSMART CITIES DEPLOYMENTS
APPLICABILITY OF BIG DATA TECHNIQUES TOSMART CITIES DEPLOYMENTSNexgen Technology
 
Review Paper on Intelligent Traffic Control system using Computer Vision for ...
Review Paper on Intelligent Traffic Control system using Computer Vision for ...Review Paper on Intelligent Traffic Control system using Computer Vision for ...
Review Paper on Intelligent Traffic Control system using Computer Vision for ...JANAK TRIVEDI
 
Smart Traffic System using Machine Learning
Smart Traffic System using Machine LearningSmart Traffic System using Machine Learning
Smart Traffic System using Machine LearningIRJET Journal
 
Implementation of Motion Model Using Vanet
Implementation of Motion Model Using VanetImplementation of Motion Model Using Vanet
Implementation of Motion Model Using VanetIJCERT
 
A CAR POOLING MODEL WITH CMGV AND CMGNV STOCHASTIC VEHICLE TRAVEL TIMES
A CAR POOLING MODEL WITH CMGV AND CMGNV STOCHASTIC VEHICLE TRAVEL TIMESA CAR POOLING MODEL WITH CMGV AND CMGNV STOCHASTIC VEHICLE TRAVEL TIMES
A CAR POOLING MODEL WITH CMGV AND CMGNV STOCHASTIC VEHICLE TRAVEL TIMESEditor IJMTER
 
Mobile CDS - mmW / LTE Simulator - Mobile CAD
Mobile CDS - mmW / LTE Simulator - Mobile CADMobile CDS - mmW / LTE Simulator - Mobile CAD
Mobile CDS - mmW / LTE Simulator - Mobile CADDr. Edwin Hernandez
 
HARDWARE ACCELERATION OF THE GIPPS MODEL FOR REAL-TIME TRAFFIC SIMULATION
HARDWARE ACCELERATION OF THE GIPPS MODEL FOR REAL-TIME TRAFFIC SIMULATIONHARDWARE ACCELERATION OF THE GIPPS MODEL FOR REAL-TIME TRAFFIC SIMULATION
HARDWARE ACCELERATION OF THE GIPPS MODEL FOR REAL-TIME TRAFFIC SIMULATIONijesajournal
 
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...csandit
 
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...cscpconf
 
Cellular digitized map on Google Earth
Cellular digitized map on Google EarthCellular digitized map on Google Earth
Cellular digitized map on Google EarthIOSR Journals
 
Analysis and assessment software for multi-user collaborative cognitive radi...
Analysis and assessment software for multi-user collaborative  cognitive radi...Analysis and assessment software for multi-user collaborative  cognitive radi...
Analysis and assessment software for multi-user collaborative cognitive radi...IJECEIAES
 

Similar to SCSimulator: An Open Source, Scalable Smart City Simulator (20)

applsci-12-12131-v2.pdf
applsci-12-12131-v2.pdfapplsci-12-12131-v2.pdf
applsci-12-12131-v2.pdf
 
IRJET- Technical Paper on Use of Smart Urban Simulation Software –‘Citysi...
IRJET-  	  Technical Paper on Use of Smart Urban Simulation Software –‘Citysi...IRJET-  	  Technical Paper on Use of Smart Urban Simulation Software –‘Citysi...
IRJET- Technical Paper on Use of Smart Urban Simulation Software –‘Citysi...
 
Monaco_SUMO_Traffic_-MoST-_Scenario_A_3D_Mobility_Scenario_for_Cooperative_IT...
Monaco_SUMO_Traffic_-MoST-_Scenario_A_3D_Mobility_Scenario_for_Cooperative_IT...Monaco_SUMO_Traffic_-MoST-_Scenario_A_3D_Mobility_Scenario_for_Cooperative_IT...
Monaco_SUMO_Traffic_-MoST-_Scenario_A_3D_Mobility_Scenario_for_Cooperative_IT...
 
Applicability of big data techniques to smart cities deployments
Applicability of big data techniques to smart cities deploymentsApplicability of big data techniques to smart cities deployments
Applicability of big data techniques to smart cities deployments
 
Platform Adaptation and Challenges in Smart Cities
Platform Adaptation and Challenges in Smart CitiesPlatform Adaptation and Challenges in Smart Cities
Platform Adaptation and Challenges in Smart Cities
 
Toward a real time framework in cloudlet-based architecture
Toward a real time framework in cloudlet-based architectureToward a real time framework in cloudlet-based architecture
Toward a real time framework in cloudlet-based architecture
 
APPLICABILITY OF BIG DATA TECHNIQUES TOSMART CITIES DEPLOYMENTS
APPLICABILITY OF BIG DATA TECHNIQUES TOSMART CITIES DEPLOYMENTSAPPLICABILITY OF BIG DATA TECHNIQUES TOSMART CITIES DEPLOYMENTS
APPLICABILITY OF BIG DATA TECHNIQUES TOSMART CITIES DEPLOYMENTS
 
Review Paper on Intelligent Traffic Control system using Computer Vision for ...
Review Paper on Intelligent Traffic Control system using Computer Vision for ...Review Paper on Intelligent Traffic Control system using Computer Vision for ...
Review Paper on Intelligent Traffic Control system using Computer Vision for ...
 
Clei Tutorial 2010 - Texto
Clei Tutorial 2010 - TextoClei Tutorial 2010 - Texto
Clei Tutorial 2010 - Texto
 
Smart Traffic System using Machine Learning
Smart Traffic System using Machine LearningSmart Traffic System using Machine Learning
Smart Traffic System using Machine Learning
 
Atva05
Atva05Atva05
Atva05
 
Implementation of Motion Model Using Vanet
Implementation of Motion Model Using VanetImplementation of Motion Model Using Vanet
Implementation of Motion Model Using Vanet
 
FIWARE - Smart Cities
FIWARE - Smart CitiesFIWARE - Smart Cities
FIWARE - Smart Cities
 
A CAR POOLING MODEL WITH CMGV AND CMGNV STOCHASTIC VEHICLE TRAVEL TIMES
A CAR POOLING MODEL WITH CMGV AND CMGNV STOCHASTIC VEHICLE TRAVEL TIMESA CAR POOLING MODEL WITH CMGV AND CMGNV STOCHASTIC VEHICLE TRAVEL TIMES
A CAR POOLING MODEL WITH CMGV AND CMGNV STOCHASTIC VEHICLE TRAVEL TIMES
 
Mobile CDS - mmW / LTE Simulator - Mobile CAD
Mobile CDS - mmW / LTE Simulator - Mobile CADMobile CDS - mmW / LTE Simulator - Mobile CAD
Mobile CDS - mmW / LTE Simulator - Mobile CAD
 
HARDWARE ACCELERATION OF THE GIPPS MODEL FOR REAL-TIME TRAFFIC SIMULATION
HARDWARE ACCELERATION OF THE GIPPS MODEL FOR REAL-TIME TRAFFIC SIMULATIONHARDWARE ACCELERATION OF THE GIPPS MODEL FOR REAL-TIME TRAFFIC SIMULATION
HARDWARE ACCELERATION OF THE GIPPS MODEL FOR REAL-TIME TRAFFIC SIMULATION
 
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
 
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
INFRASTRUCTURE CONSOLIDATION FOR INTERCONNECTED SERVICES IN A SMART CITY USIN...
 
Cellular digitized map on Google Earth
Cellular digitized map on Google EarthCellular digitized map on Google Earth
Cellular digitized map on Google Earth
 
Analysis and assessment software for multi-user collaborative cognitive radi...
Analysis and assessment software for multi-user collaborative  cognitive radi...Analysis and assessment software for multi-user collaborative  cognitive radi...
Analysis and assessment software for multi-user collaborative cognitive radi...
 

Recently uploaded

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

SCSimulator: An Open Source, Scalable Smart City Simulator

  • 1. SCSimulator: An Open Source, Scalable Smart City Simulator∗ Eduardo Felipe Zambom Santana1,2 , Daniel Macˆedo Bastista1 , Fabio Kon1 , Dejan S. Milojicic3 1 Department of Computer Science - University of S˜ao Paulo 2 School of Engineering and Technology - Anhembi Morumbi University 3 HP Laboratories - Palo Alto {efzambom,batista,kon}@ime.usp.br,dejan.milojicic@hpe.com Abstract. Smart Cities, i.e., cities enhanced with a technological infrastructure that enables a more intelligent use and management of its resources, are cur- rently seen as a powerful way of improving the quality of life of its citizens. Smart city platforms tailored at metropolises will be intrinsically very-large- scale systems; designing and developing such systems will be a daunting task. Also, deploying an infrastructure to test smart city systems is challenging due to costs, risks, and political difficulties. Therefore, being able to simulate the exe- cution of smart city scenarios would be extremely beneficial for the advancement of the field. This paper presents a new open-source, large-scale smart city sim- ulator capable of simulating different smart city scenarios and its performance and usability are also discussed. 1. Introduction Since 2009, most of the world population is living in cities [United Nations 2009] and cur- rent resources and infrastructure are hardly enough to cope with the increasing demand generated by population growth and geographic concentration [Caragliu et al. 2011]. Thus, making cities smarter can help optimize resource and infrastructure utilization in a more sustainable way. However, deploying the infrastructure to test Smart City systems will be a considerable problem due to costs, risks, and political difficulties. There are already a few Smart City experimental testbeds such as SmartSantander [Jose et al. 2013], with 20 thousand sensors, and Padova Smart City [Zanella et al. 2014], with 3 thousand sensors. However, a Smart City has more components that are compli- cated to deploy in a testbed such as Smart Buildings, Smart Grids, and Vehicular Ah-Doc Networks (VANET). Another problem is that the current testbeds are deployed in small to medium cities. Deploying a sensor network in a huge city such as S˜ao Paulo, with 11 million inhabitants, is a daunting task. An alternative to support large-scale tests and experiments is the use of simula- tors. The very large amount of actors in a Smart City environment (e.g., consider the 8 million cars and 11 million people in the city of S˜ao Paulo) requires a very-large-scale ∗ SCSimulator code, videos, and documentation are available in its page: https://github.com/ezambomsantana/smart-city-simulator
  • 2. simulator. To be able to simulate such huge scenarios, we are developing SCSimulator to support tests of many Smart City complex scenarios such as traffic, energy, and disaster management. SCSimulator will certainly be very useful for many stakeholders such as city administrators, smart city software developers, and operators of city systems. This paper is organized as follows. Section 2 presents related work. Section 3 describes the simulator functional and non-functional requirements. Section 4 presents the architecture and implementation of SCSimulator. Section 5 presents the SCSimulator performance and usability evaluation. Finally, Section 6 points out our conclusions and future work. 2. Related Work In our literature and Web searches for Smart City simulators, we did not find any simulator that is capable of simulating large-scale and complex scenarios with multiple actors such as cars, buildings, people, and sensors. We found some specific simulators tailored at specific domains such as Smart Grids, VANETs, and car traffic, which we describe below. DEUS (Discrete-Event Universal Simulator) is a discrete-event general pur- pose simulator, which was extended to simulate a Vehicular Ad-Hoc Network (VANET) [Picone et al. 2012]. In this Java-based, open-source simulator, it is possible to extend the base Node and Event model to implement specific actors to simulate entities such as cars, buildings, people, and sensors. Due to its architecture and non-parallel Java imple- mentation, its scalability is weak, which was confirmed by experiments with almost 10 thousand nodes that we carried out. Veins is a VANET simulator [Darus and Bakar 2013] integrated with OM- NET++1 , a well-known discrete-event network simulator, and SUMO (Simulation of Ur- ban Mobility)2 , a traffic simulator. In Veins, it is possible to simulate traffic scenarios such as accidents and traffic jams. In our experience with it, it was difficult for us to understand its code and architecture and running it in parallel mode was not trivial. Siafu is a Java agent-based, open-source simulator [Europe 2007] used to simu- late mobile events in a city. The simulator has a user interface to visualize simulation data and can export data sets. In Siafu, the agent creation is manual, so it is more appropriate for small, simple scenarios that can be visualized via a simple graphical interface. 3. Requirements In this section, we present the functional and non-functional requirements that a Smart City simulator must handle. 3.1. Functional Requirements To find the functional requirements for the initial version of our SCSimulator, we re- viewed the literature on smart cities domains [Jose et al. 2013, Zanella et al. 2014]. We then selected the three most commonly explored domains in the scientific literature, which include the scenarios and actors described in the following. 1 OMNET++ - https://omnetpp.org 2 SUMO - http://sumo.dlr.de
  • 3. • Traffic: It should be possible to simulate multiple traffic scenarios such as the impact of improving the quality of public transportation, the cause and effects of traffic jams, and the best routes for public transport systems. The main actors of these scenarios are vehicles, people, traffic lights, and flow sensors. • Resource Usage and Distribution: In a Smart City, it is possible to manage the use of city resources such as water and electricity. It is possible to measure the amount of these resources at many levels such as buildings, streets, and neighbor- hoods. It should be possible to simulate the amount of water and electricity used by buildings as well as how these resources are distributed across the city. The main actors of these scenarios are Smart Buildings, Sensors, and Energy Stations. • Waste Management: Many authors cite the management of waste services in the city as an important Smart City domain. It should be possible to simulate the use of a sensor network to notify when trash cans are full, visualization and control of trash vehicles, and prediction of when waste disposals will be full with the growth of population. The main actors of these scenarios are buildings (generate and receive trash), vehicles (trash truck), and sensors. 3.2. Non-Functional Requirements The most important non-functional requirements necessary to implement a Smart City simulator are (1) enabling ease of use of the simulator and (2) the execution of very large simulations. Thus, the main non-functional requirements are: • Scalability: To simulate Smart City scenarios, it will be necessary to manage millions of actors such as cars, people, buildings, and sensors. Therefore, the simulator scenarios have to scale from hundreds to millions of actors. To achieve this, distributed and/or parallel simulations will be mandatory. • Usability: The simulator has to allow easy description of the simulated scenarios, enabling people that do not know the internal implementation of the simulator to develop scenarios with little effort. Thus, the programming model has to be intuitive and independent of the internal implementation of the simulator. • Extensibility: It is unlikely that a simulator will provide all required features for Smart City simulations. The simulator has to be easily extensible, offering simple mechanisms for implementing new actors and changing their behavior, for implementing new metrics as well changing the behavior of the simulator itself. So, it is important not only that the simulator be open source but also that it is well documented and is implemented with good quality, extensible code. 4. SCSimulator The goal of SCSimulator is to meet all the requirements stated in the previous section. To achieve that, our approach has been to reuse as much good quality code as we can. Thus, we based the project on an open-source, large-scale, discrete-event simulator called Sim-Diasca (Simulation of Discrete Systems of All Scales) [Song et al. 2011] developed in France by the EDF energy company. Sim-Diasca is a general purpose simulator that has the goal of enabling very large- scale simulations. This simulator is implemented in Erlang, a functional language that fa- cilitates the implementation of massively parallel and distributed applications. Moreover,
  • 4. Sim-Diasca has a simple programming model enabling fast development of simulation scenarios. Our experiments with Sim-Diasca demonstrated that it scales much better and is much easier to use and extend that the other simulators mentioned in Section 2 Figure 1 presents the simulator architecture. The bottom layer is the Sim-Diasca simulator, responsible for the discrete-event activities such as Time Management, Ran- dom Number Generation, Deployment Management, and the Base Actor Models. The middle layer is the Smart-City Model we developed as part of our research, which imple- ments the required actors for Smart City simulations such as vehicles, people, and sensors. The top layer comprises the scenarios that are implemented using the Smart City model. Figure 1. SCSimulator Architecture With the SCSimulator, there are two ways to visualize the results of the simulation. First, it is possible to associate Probes with each actor and, anytime in the simulation, the actor sends data about its state to its probe. At the end of the simulation, a file with all the values passed to a probe is created. The simulator can also generate graphs with probe values over simulation virtual time. Figure 2 shows an example of a chart with the values of the probe of a sensor actor. The second way to visualize the results of the simulation is via an animated GUI based on the GoogleMaps API. In this case, it is possible to visualize data gathered from the simulation while the simulation is running. Figure 3 shows an example of the simula- tion map, showing a simple simulation with a few dozen cars, buses, sensors, and traffic lights. 5. Simulator Evaluation In this section, We compared SCSimulator with the three other simulators presented in Section 2. We compared three aspects of the simulators: Scalability, Programming Model, and Output.
  • 5. Figure 2. Probe generated data Figure 3. Animated Visualization with the SCSimulator 5.1. Scalability To evaluate the scalability, we developed a scenario with some actors in SCSimulator. The initial configuration of the scenario had four buildings, four sensors, and three bus terminals. Cars came out of the buildings at a certain rate and buses left the terminals at another rate. We executed the simulation twice, the first with 500,000 simulated clock ticks and the second with 10 million simulated clock ticks. The first simulation took approximately 2,500 seconds and the second 100,000 seconds. To run the simulations, we used a machine with AMD FX6300 processor with 6 cores and 10 GB of memory running the GNU/Linux (Fedora 21) operating system. Figure 4 shows the number of actors created during both simulations. The first simulation started with 6 actors and finished with 896. The second simulation also started with 6 actors and finished with 18128. The figure shows that the number of actors grew almost linearly with wall-clock time, indicating that the simulator could handle the load easily up to 18,000 actors and 10 million simulated clock ticks.
  • 6. Figure 4. Number of actors over time Figure 5. Computational resources used in the simulation over time Figure 5 shows the resource consumption of both simulations. In the first simu- lation, the results show that resource usage almost did not change across the simulation. With 6 actors, the Erlang VM used 0.8% of the machine memory; with almost 900 actors, the amount of memory used increased to 2%. CPU usage also did not change very much over the simulation time; the chart shows that the average of the usage was almost the same during all the simulation. In the second simulation, the amount of memory occu- pied by the Erlang process also started in 0.6% and finished in 15.6%. The amount of memory used by the other processes of the machine increased almost at the same rate of the Erlang VM in both simulations. This occurred because creating an Erlang thread needs an OS action, and some processes create a file to write the values of the simulation. These results show that the CPU is the bottleneck for the simulations up to the number of actors we experimented with, pointing to the necessity of parallelizing the execution of the simulation in more cores and/or machines. We developed a similar simulation in DEUS and Siafu and executed on the same machine. DEUS stopped working with 7320 actors because of an out of memory error. In
  • 7. Siafu we created a simulation with 384 actors but, as said in Section 2 it is hard to create a large scenario. These two simulators only execute sequentially. We did not present results obtained with Veins simulator because the simulator does not export the current number of actors in the simulation, but we could not create a very large simulation. 5.2. Programming Model The programming model is important to evaluate the extensibility and usability of the simulator. The SCSimulator and DEUS have a very similar programming model. Both provide a base class (Actor in Sim-Diasca and Node in DEUS) that developers can extend to implement the simulation actors. The Siafu programming model is a little different, and the programmer has to understand all the code of the simulator. To create a traffic simulation in Veins no code is required, but if it is necessary to add new components to the simulator, it is necessary to change OMNET++ and SUMO and its communication. Therefore, SCSimulator and DEUS seem to be more easily extensible than Siafu and Veins. To verify usability, it is important to analyze how to create the Smart City scenar- ios. In SCSimulator, an Erlang code describing the initial configuration of the simulation is required to define a scenario. Listing 1 presents an example of how to define the sce- nario actors. In the listing, a traffic light and a sensor actor are defined. c l a s s A c t o r : c r e a t e i n i t i a l a c t o r ( c l a s s T r a f f i c L i g h t , [ TFNAME=” t r a f f i c l i g h t 1 ” , TFLAT= −23.562831 , TFLONG= −46.656866 , TFTIME=10 ] ) , c l a s s A c t o r : c r e a t e i n i t i a l a c t o r ( c l a s s S e n s o r , [ SName1=” s e n s o r 1 ” , SLat1 = −23.570813 , SLong1 = −46.656108 , SType1 = ” t e m p e r a t u r e ” ] ) , Listing 1. SCSimulator Actors Definition Veins and DEUS have a similar way of defining the scenario using XML files that describe the initial actors and their corresponding behavior what leads to an additional overhead for parsing. Siafu has a visual interface to define the scenarios, which is good and easy to define small simulations, but which makes impractical the creation of large simulations with a large number of actors. 5.3. Simulation Output The SCSimulator has the two outputs already presented: the animated visualization based on Google Maps and the Probe datasets and graphs generated by the simulator. DEUS also uses Google Maps to present the results of the simulations but does not generate values to be analyzed after the simulation. Veins and Siafu have their own interfaces to show the simulation results; Siafu also generates datasets with values generated in the simulation for post-mortem analysis.
  • 8. 6. Conclusions and Future Work This paper described the development of SCSimulator, a simulator that aims to advance the state of the art in the integrated simulation of Smart Cities, offering scalability and an easy programming model. In this first version of the simulator, we implemented actors of a Smart City environment such as Smart Buildings, Vehicles, and Sensors. The experi- ments showed that the simulator is scalable, a fundamental requirement to simulate Smart Cities. Compared to other simulators, SCSimulator is also easy to use and the results of the simulations can be obtained both by lists of values, graphs or an animated simulation with a GUI In our ongoing work, we are experimenting with larger scenarios, going up to hundreds of thousands of actors; for that, we need to execute the simulator in larger machines, with more cores so as to better explore the parallelism supported by the Actor model of the Erlang language. In the long run, we intend to perform simulations with millions of actors but we anticipate that several challenges and bottlenecks will need to be resolved before we can achieve that. As future work, we intend to implement other Smart City scenarios such as disaster management and public transportation. Finally, we intend to perform a functional evaluation with city officials and public policy makers to validate the simulated scenarios and improve the simulator usability. 7. Acknowledgments This work is funded by Hewlett-Packard Brazil. References [Caragliu et al. 2011] Caragliu, A., Del Bo, C., and Nijkamp, P. (2011). Smart cities in europe. Journal of urban technology, 18(2):65–82. [Darus and Bakar 2013] Darus, M. Y. and Bakar, K. A. (2013). Congestion control algo- rithm in vanets. World Applied Sciences Journal, 21(7):1057–1061. [Europe 2007] Europe, N. (2007). Siafu: An open source context simulator. [Jose et al. 2013] Jose, A. G., Guti´errez, V., Santana, J. R., S´anchez, L., Sotres, P., Casanueva, J., and Mu˜noz, L. (2013). Smartsantander: A joint service provision facil- ity and experimentation-oriented testbed, within a smart city environment. [Picone et al. 2012] Picone, M., Amoretti, M., and Zanichelli, F. (2012). Simulating smart cities with deus. In Proceedings of the 5th International ICST Conference on Simu- lation Tools and Techniques, pages 172–177. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering). [Song et al. 2011] Song, T., Kaleshi, D., Zhou, R., Boudeville, O., Ma, J.-X., Pelletier, A., and Haddadi, I. (2011). Performance evaluation of integrated smart energy solutions through large-scale simulations. In Smart Grid Communications (SmartGridComm), 2011 IEEE International Conference on, pages 37–42. [United Nations 2009] United Nations (2009). Urban and rural areas 2009. [Zanella et al. 2014] Zanella, A., Bui, N., Castellani, A., Vangelista, L., and Zorzi, M. (2014). Internet of things for smart cities. Internet of Things Journal, IEEE, 1(1):22– 32.