Abstract
The driving force behind the smart city initiative is to offer better, more specialized services which can improve the quality of life of the citizens while promoting sustainability. To achieve both of these apparently competing goals, services must be increasingly autonomous and continuously adaptive to changes in their environment and the information coming from other services. In this paper we focus on smart lighting, a relevant application domain for which we propose an intelligent street light control system based on adaptive behavior rules. We evaluate our approach by using a simulator which combines wireless sensor networks and belief-desire-intention (BDI) agents to enable a precise simulation of both the city infrastructure and the adaptive behavior that it implements. The results reveal energy savings of close to 35% when the lighting system implements an adaptive behavior as opposed to a rigid, predefined behavior.
1. Introduction
Providing an appropriate level of city lighting in public spaces is an important issue both for citizens and city councils. Most cities have strategic plans that specify how lighting is to be provided, as well as the intensity levels required for each area. The goals addressed by these plans must be agreed upon among politicians, citizen associations, businesses, and other city stakeholders and usually reflect trade-offs among the goals of the different actors. On one hand, city councils (and possibly environmental agencies) want to provide a sufficient service without wasting energy and money; on the other hand, the rest of the stakeholders ask for comprehensive lighting that can assure safety and create a psychologically positive social environment.
City lighting [1] has always been a major concern, as it represents 10% to 20% of the electricity use in most countries—sometimes more in developing countries. One of the measures that are most favoured by city councils involves the replacement of the emission devices with new ones based on LED technology [1–4]. But even without investing into replacing less efficient devices, a significant amount of energy can be saved by a more intelligent control of the lighting system [5–9]. This is a trend towards highly sustainable systems that are quickly gaining ground. References [10, 11] describe smart street light controllers with dual function of timing control and automatic photoelectric control to save energy in lampposts.
The drawback when evaluating the impact of such approaches is that the estimation of the energy savings entailed by this kind of lighting systems is not as straightforward as calculating the benefit of lamppost replacement. This is due to the potential complexity of the control system and the circumstances that may affect its behavior. Having tools that can precisely simulate the smart cities scenarios and estimate the potential savings in the lampposts with reasonable accuracy before committing to real deployment is fundamental to effectively support such complex processes.
In this paper we introduce a simulator for intelligent street light control systems. This simulator allows users to evaluate the energy efficiency of different public lighting configurations before deciding on a solution and implementing it on site. Our solution assumes a wireless sensor network (WSN) platform and multiphase lamppost functionality based on LEDs, and it is based on an agent-based approach. The smart city scenario we are simulating involves a set of intelligent devices—in the Internet of Things (IoT) terminology things—which communicate and coordinate their actions to achieve intelligent street lighting. The devices are installed on the lampposts within the neighborhood that is being monitored and, additionally, in other strategic positions within this area. They have the ability to sense the environment and share their views with each other. This enables them to construct a global picture of the site and make informed decisions about lighting depending on the real-time necessities at their location. The purpose of the system we are simulating is to use the street lighting in an energy efficient manner while guaranteeing service as needed to avoid a negative social impact.
The lamppost control devices in our scenario execute applications that are aware of their context and have the ability to continuously and dynamically adapt their behavior in response to changes in the environment (e.g., ambient light, movement in the environment, and behavior of other communicating devices). In principle the application running on a lamppost may be different from the application running on any other; in practice nevertheless we expect that these applications fit the roles found in WSNs: data collector, cluster head, or sink. An application consists of a set of rules which describe all the possible lamppost behaviors under every relevant set of conditions. Some of these conditions may refer to local phenomena (e.g., values sensed by the device); others may implicitly specify more global properties (e.g., via values passed in messages from other devices). When a change which is specified as a rule condition occurs, the device may choose to execute a possibly new behavior that is more suitable and efficient in managing its new state. For instance, the application could define a rule to reduce the intensity of a street light if additional nearby lighting is detected. This continuous adaptation to the actual conditions provides flexibility to the applications running on the devices and ultimately results in a sustainable usage of the smart city infrastructure. Decisions are made at two levels: (1) local, where the devices react only based on the information that they possess from their environment and (2) globally distributed, where the devices interact and cooperate with other devices to react to changes in the environment and make global decisions that control the part of the system that they are responsible for.
The remainder of this paper is organized as follows. Section 2 reviews the related work in smart cities and intelligent street light control systems. Section 3 presents the background in autonomic computing systems and the novel approaches that combine WSNs and agents-based systems. In Section 4 we present the system model for self-adaptive applications. Section 5 describes a smart city scenario where lampposts are equipped with devices able to react to the changes in their environment with the purpose of saving energy in the lampposts. Section 6 presents the simulation results and Section 7 discusses the conclusions and future work.
2. Related Work
The European Research Cluster (IERC) on the Internet of Things (IoT) [12] has recently identified the most relevant application areas and has grouped them in twelve different vertical themes; one of them is related to smart cities. The concept of smart city is still to be precisely defined; however, the ultimate goal of a smart city is to improve the quality of life of the population while guaranteeing a sustainable development.
About 50% of the world population lives in cities and it is estimated that this number will continue to grow to reach 70% by 2050 [12]. The resources demanded by citizens—energy, water, land, and so forth—will also grow at least linearly with the population size; however, it is difficult to see how the supply could follow the same growth curve. This fact imposes severe requirements to managing the basic resources efficiently and sustainably. New technologies have a tremendous potential to monitor and analyze resource-consuming processes and to bring added value to the services that a city provides. The infrastructure of the smart city—composed of millions of object instances and heterogeneous devices—must act as the pervasive technology [13] which, managed appropriately, can increase the knowledge that citizens, public organizations, and businesses have of their environment and can help making smart decisions with the involvement of the community.
One of the scopes that IERC identifies for smart cities is smart lighting [12], which is also the problem addressed in this paper. The design of control strategies meant to match the emitted light level to the actual needs can lead to a significant reduction in energy costs and, in turn, to an efficiency improvement. One of the popular strategies that city councils carry out is replacing old, expensive lights by low-cost and low-CO2 emissions devices such as the LED-based devices [2]. According to [1], using LED technology can improve energy efficiency by up to a factor of five without altering light intensity levels and with a relatively low effort. The work described in [3] analyzes the effect of using LED street lights from technical and economic perspectives to indicate savings of $100,000 per year. Similarly, a study for the city of Dublin [4] shows that currently the township spends almost $250,000 a year for a street lighting system with 2,019 lights, 30% of them (the more expensive) mercury vapor lights. They predict that replacing these with more efficient LED-based lights would save about $15,000 per year.
In addition to replacing less efficient devices, many cities are taking measures that balance citizen satisfaction, expenses, and energy efficiency to achieve a more sustainable lighting system. In [14] the authors present a goal programming (GP) model designed to capture multiple objectives involved in sustainable energy-environment management in urban areas. In [15] the authors show a model for rational sustainable development in Vilnius. Jabareen [16] identified sustainable urban forms and their design concepts and equipments. In addition, he addresses the question of whether certain urban forms contribute more than others to sustainability.
The issue of urban energy consumption is not only relevant for street lighting but also for public buildings. In Europe it is estimated that the amount of electric energy consumed in illuminating the interiors of medium and large public buildings is about 40% [5] of the total electrical energy used. This study identifies different kinds of buildings (e.g., offices, hospitals, hotels, and restaurants) and defines a light control system that regulates the emission based mainly on two parameters: daylight and occupancy. The evaluation reveals that the system results in energy savings of 25% in industrial and commercial sectors and up to 45% in tertiary and educational sectors. This approach uses WSNs to monitor the environmental conditions. The intelligent street light control system proposed in [6] relies on LED-based lampposts and wireless sensors. Based on a predefined schedule and the sensor information about weather conditions and detection of pedestrians, the system adapts the level of lighting of the lampposts to achieve energy savings between 30% and 40%. In [7] the authors define a control system for an indoor scenario by using a WSN and address the problem of the energy consumption in the sensor nodes by proposing an energy-aware communication protocol which increases the lifetimes of the sensor nodes by 20%. Reference [8] analyzes distributed and centralized models for building environmental control systems. The authors use simulation to evaluate and compare the two models in terms of latency, performance, packet loss, and computational complexity. They demonstrate that, in general, a distributed model behaves better than a centralized model.
The works cited above define static behaviors that allow the sensors nodes to regulate the light level of each lamppost. These approaches lack the degree of autonomy and (self-)adaptation that results from continuously reasoning about the changes that occur in the environment of the sensor node (be it purely local or the result of communicating with other nodes). In fact, [12] recognizes that there exists “a lack of research on how to adapt and tailor existing research on autonomic computing to the specific characteristics of IoT, such as high dynamicity and distribution, real-time nature resource constraints, and lossy environments.” Agents-based systems have been identified as one of the most suitable technologies that could potentially improve the flexibility, robustness, and autonomy [17] of WSN-controlled systems. Reference [9] presents the design of an multiagent systems (MAS) that uses a WSN to control the lighting of commercial spaces; it additionally discusses the issues that are important in this type of systems. The authors organize the global sensor network in different subnets according to the preferences of the users. Each subnet consists of a set of sensor nodes, each of them executing a single agent. This is still preliminary work and the authors do not present an evaluation of their approach.
The work we present in this paper introduces an intelligent street light control system that combines three elements: (1) LED-based lampposts, (2) wireless sensor networks, and (3) agents. Our objective is estimating the energy savings in the lampposts as a result of replacing the fixed behavior of the sensor nodes with an adaptive behavior. This paper contributes to the state-of-the-art in two ways: (1) it describes a way of modeling and simulating the features of smart cities scenarios such that we can estimate the potential energy savings before deployment, and (2) it proposes an adaptive control system that can be implemented by the devices that compose the smart city infrastructure and which ensures sustainability without sacrificing the level of services offered to the citizens.
3. Background
Autonomic computing [18] refers to the self-managing characteristics of distributed computing resources, which have the ability to adapt to changes while hiding the intrinsic complexity from the users. Several research groups have focused on autonomy and self-adaptivity for embedded systems [19–22]. The components of an autonomic computing system should be able to independently react to their environment and interact between them to achieve their goals. One of the paradigms which most naturally fits this model is the agent-based approach. Agents have the ability to manage their local knowledge, sense their environment, and share knowledge with other agents [23]. They are continuously reacting to changes in their environment and making decisions that can lead to changes in their behavior. There exist different classes of agents depending on their reasoning capability. We are focusing on a particular class of agents called BDI (belief-desire-intention) agents, which have a very powerful reasoning engine but generally consume a lot of computing resources. BDI [24] agents are defined by an internal state that consists of a set of beliefs (information that the agent has about the world), desires (a set of goals), and actions (a set of plans to achieve the goals). The intentions represent the current state of progress of the actions started by the agent, following some plan that has not yet been completed. Programming languages such as AgentSpeak(L) [25] provide a way of programing BDI agents where beliefs, desires, and intentions are not explicit formulas in the language; instead it uses events, contexts, goals, and actions. In AgentSpeak(L) a plan is generally defined by a rule of the form
Let T be the number of times an object must be sensed to consider it present Let Let Let Let Let % (1) (2) (3) % Rules 4–7 detect continuous absence or presence of obstacles for the past T time intervals (4) (5) (6) (7) (8) (9) (10) % (11) (12) (13)
Jason [26] provides a simulation framework based on BDI agents and AgentSpeak(L); it implements a metalanguage on top of AgentSpeak(L) and builds an interpreter for this metalanguage. Each agent in Jason behaves as a finite state machine but may also implement additional functions (called internal actions). Jason also supports features such as multithreading and a Java-based graphical monitoring tool.
Several more recent works have combined sensor networks and agents. These model each sensor node as an agent programmed using an agent-based language. This abstraction enables the sensors to act autonomously and react to the environment. A survey of these simulation tools is presented in [27]. SAMSON [27] is one such tool which provides a framework for WSNs on top of Jason and models every sensor node as an AgentSpeak(L) agent. SAMSON supplies every agent with the radio and energy models of the TMote Sky [28] platform and enables the simulation of sensor nodes that behave as BDI agents. The framework can measure the energy consumption and the number of packets received and transmitted by each sensor node.
4. System Model
We consider a WSN consisting of N sensor nodes. Every node
A behavior
Even if the sensor lifetime is an important issue—one which we have already addressed in [29, 30]—our purpose in this paper is to minimize the energy waste of the lighting system as provided by the lampposts. Since data collector nodes are attached to the lampposts, they can be directly powered from the power grid. Additionally, the energy required to power on the sensors is typically much lower than the energy required to power up the lampposts; we have therefore disregarded this aspect in the paper and we focus exclusively on the management of the lampposts.
4.1. The Execution Semantics
The execution of any task in
Both internal and external events that occur in a node k may have the role of a triggering event for some behavior. External events are enqueued in the event queue
Our simulations execute on top of a language based on AgentSpeak(L) and therefore adopts its execution semantics. When an event is observed, every behavior
The lifetime of a sensor node is discretized in reasoning cycles of a given duration. This duration is chosen to be the maximum of the worst-case estimated times that it takes for the node to process the external events (which it recognizes) to quiescence. Given that this time depends on the set of behaviors implemented by each sensor node, the reasoning cycle may have a different value for each node. Algorithm 1 describes the infinite reaction loop which is executed locally and independently on each sensor node. Every (local) reasoning cycle the sensor node removes an external event from its event queue
Let
holds = true holds = false Insert i in Execute
The reason we can only compute an approximation of the event processing time is that we cannot know for sure which other behaviors will be executed as a result of tasks generating internal events. For instance, events are allowed to have parameters and the triggering condition may depend on the values taken by these parameters. If a value passed as a parameter to an internal event can be written by the behavior which generated the internal event, we cannot know in advance which behavior this will trigger if any. Conditional generation of internal events is another case in which the set of behaviors executed as part of processing an external event is not known at static time.
4.2. Energy Estimation
Every behavior
5. Application for Smart Lighting
We consider a WSN composed of N sensor nodes that execute an adaptive application which models a smart lighting system using the approach described in Section 4. The WSN is deployed on a street with lampposts emitting variable light intensity. The sensor nodes may take one of three roles: (1) data collectors which are attached to lampposts and have a fixed position, (2) cluster heads which are deployed in strategic positions within the WSN to facilitate the grouping of several sensors for fault-tolerance, forwarding, or aggregation purposes, and (3) the sink which is the target sensor node which collects all the data from the WSN. Data collectors are equipped with five transducers:
A lamppost can be in one of four states:
5.1. Specifying Behavior by means of Rules
In our system, the sensor nodes (data collectors, cluster heads, and the sink) execute what we call a reaction plan. The name is meant to capture the idea that our approach is best suited for specifying reactive systems. If the behavior of two sensor nodes is different (be they of different types—such as data collectors, cluster heads, and sink—or of the same type) then their reaction plans are also different. In general all nodes of the same type will have the same behavior; the developer will only have to specify three reaction plans, one per type.
Different from the traditional syntax used to implement algorithms for sensor nodes, we adopt a rule-based language. Each behavior included in the reaction plan is represented as a rule with a triggering event (possibly parameterized), a context, and a body. The body is the only component of the rule which is not optional. We use a similar notation to that of AgentSpeak(L), which was already introduced in Section 3:
where event can be both an internal or an external event, context is the set of conditions that must hold for the rule to be executable, and body specifies the actions to be executed. The execution semantics that we use was described in Section 4.1.
The choice of a specification approach based on rules is an important decision. While a specification using imperative
It is important to note that our syntax does not distinguish computation from communication. Communication between sensor nodes is done by generating and consuming external events. From the point of view of the specification, it is irrelevant whether event triggering is due to sensing a change in the local environment or a message received from another node. This feature simplifies the language and makes applications conceptually more uniform and easy to modify and reuse. It is the decision of the developer whether the reaction plans implement global behaviors that are distributed or centralized; coordination and synchronization between nodes are achieved by generating external events and appropriately setting the values of their parameters.
We use different fonts to represent different elements during the explanation of the three reaction plans. We use typewriter font to indicate the names of transducers and italic font to represent both variables and events.
5.2. Reaction Plans
Reaction Plans 1, 2, and 3 describe the set of behaviors implemented by the data collector, cluster head, and sink type nodes in our WSN.
Let Let Let Let Let Let Let % (1) (2) % (3) % Rule 4 forwards each received message from the data collectors to the sink and queries the data collectors for information about the continuous presence/absence of objects (4) % Rule 5 accumulates the values of the readings from DC data collectors in local variables (5) % Rule 6 computes the averages over all received values and sends the results as a unique message to the sink (6) % Rule 7 receives the information about the continuous presence/absence of objects from those collectors which have not already sent this information (7) inc_nopresence_counter(), PresenceVector[j] = Msg[Presence], computeProducts(Msg) % Rule 8 is executed when turns LOW the rest (8) (9)
Let (1) (2) (3) (4)
Data Collector Nodes. The reaction plan for this type of nodes is specified in Reaction Plan 1. As components of a data collector node, the
The rules that control the intensity of the light emitted by a lamppost are described next. During daytime conditions the lamppost is turned off; at nighttime, the lamppost is turned on either
We configure a data collector k to wake up every sampling time period and sample each one of its five transducers; rule 1 implements this behavior. To be precise, the data collector does not necessarily sample its environment at equal time intervals. SAMPLING_TIMER events are periodically generated and queued. As we described in the previous section, there may be multiple events in the queue, and the processing of an event may be delayed until after the processing of other previously queued events.
At nighttime, periodic SENDING_DATA events trigger the sending of a message containing the sampled data values to the corresponding cluster head; rule 11 describes this behavior. Sending the information occurs via the only available mechanism: generating the corresponding event. In this case the event SENSOR_MSG contains several parameters; the id of the data collector node is specified as the sender and the corresponding cluster head as the receiver. Values measured by the transducers and local variable values follow in a predefined order; for the sake of readability we use a made-up variable name (sensorMeasurements) to stand for
Lines 4–10 describe behavior rules which modify the intensity level of a lamppost at nighttime depending on the actual conditions at the site, specifically the detection of objects (or their absence) over a certain extent of time.

Transition diagram for the light intensity states.
Lastly, a data collector may receive messages from its cluster head. In rule 12 the external event CLUSTER_SMSG (Msg) triggers an action which sets the activity level of the lamppost to the value indicated by the cluster head. Specifically, the rule reads as follows: when a CLUSTER_SMSG event with parameter Msg is processed, if the value of the field named SolLight of Msg is below the fixed threshold then the actuator
Cluster Head Nodes. Reaction Plan 2 describes the set of behaviors implemented by a cluster head. A sensor node j acting as a cluster head
When a message from one of its data collector is received (via the parameter of the SENSOR_MSG event) the cluster head checks the collector's voltage level. If this is greater than a certain threshold (TH_VOLT) then rule 4 is selected to execute; otherwise, rules 5 or 6 are selected. By generating the external CLUSTER_MSG event, rule 4 forwards the values it receives in the event parameter to the sink—if the battery level is above a given threshold. Notice that the sender field is set to the original data collector which is stored in
If the cluster head receives values from the data collectors but its battery level is below the predefined threshold TH_VOLT then the node switches from forwarding every message received to an aggregator behavior. Rules 5-6 describe the process by which the cluster head aggregates the data proceeding from the last DC samples sent by data collectors in a unique message and forwards it to the sink.
In rule 7, the presence information sent by the data collectors (as result of the request by the cluster head in rule 4) is received as the parameter of event SENSOR_QMSG. The rule collects the inverse of the values measured by the
In rule 8, if DC different collectors detect stable absence of objects then the cluster head generates an event for every other data collector that it is responsible for, such that these turn their light
Rules 4 and 8 use functions with the notation
Sink Node. The reaction plan for this type of nodes is specified in Reaction Plan 3. The sink receives messages from the cluster heads and saves the message data. If the battery level is below TH_VOLT then the sink additionally prints an alert message. These messages may be of one of two types: CLUSTER_MSG—initiated at a data collector node and containing all the measurements—or SINK_MSG—initiated at a cluster head and containing only the energy measurement (since this is the only transducer available in a cluster head).
5.3. Complexity
The reaction plans that we are proposing use a set of rules to detect changes in the environment (including the events produced by other sensor nodes). While no change has been detected, none of the rules in the reacting plan can trigger. Detecting a change is represented by the processing of an event. When an event is processed it triggers the execution of a rule, which may in turn trigger other rules, either by generating internal events or by enabling rules with no triggering event. The processing of the event is considered finished when there are no more rules that can trigger in the current timestep. The key is that all of the rules that execute during a timestep are evaluated for execution in the state at the beginning of the timestep and they may not see the data changes produced by the others. This ensures convergence. Additionally, in every timestep the maximum number of rules which may execute is given by adding 1 to the sum of the number of rules triggered by internal events and the number of rules with no triggering event. This gives the worst-case complexity of the algorithm in terms of the number of executing rules per timestep. In practice we expect this number to be very small.
5.4. Distributed Decision Model
To support the autonomous decision making process of each sensor node our approach follows a fully distributed communication model at two levels: local and collective. Local decisions are made based only on the information available in the sensor node while collective decisions require information interchange among the nodes that are involved in the decision. For instance, a data collector decides by itself (i.e., locally) what is the most appropriate light state for the associated lamppost based on its surroundings (see rules 2-3 and 9-10 in Reaction Plan 1). Similarly, a cluster head decides if it should reduce the light level of the lampposts within the cluster based on the information sent from the data collectors (see rule 8 in Reaction Plan 2). Each node fulfills its role by reacting to events in its locally defined manner. While cluster nodes may have the power of authority to modify the light levels of the data collector nodes under its management, the data collectors have the power of autonomously modifying it based on sensing the local environment. Figure 2 depicts the distributed model used in our approach where decisions are made both locally by the data collectors (on the left hand side) and collectively by the cluster head (on the right hand side) taking into account the messages received from its data collectors. Note that we do not follow a centralized model since we do not have a unique, central, coordinator node which is responsible for the rest of the nodes. The scheme fully distributed is more reasonable to address this type or scenarios, because it allows us to reduce the number of messages required to coordinate the sensor network. In the figure, the sensor nodes that make decisions are represented in green color; gray color indicates that the node is out of the cluster scope.

Distributed model at two levels: local (a) and collective (b).
6. Simulations
We have evaluated the scenario described in Section 5 and pictured in Figure 3 by using SAMSON [27], a framework for WSNs based on strong multiagents in which each sensor node is modeled as a BDI agent. This scenario represents a street with 16 lampposts located on both sides of the street and installed at equal distances from each other. We deploy 21 sensor nodes which play one of the roles described in Section 5: 16 data collectors L1 (to L16), 4 cluster heads (CH1 to CH4), and one sink. Each data collector is attached to one lamppost and each cluster head groups 4 data collectors and routes the messages generated within its cluster towards the sink, which is the device destination of the data. We are interested in validating the use of an agent-based approach as a means of implementing adaptation mechanisms for WSNs and evaluating the energy savings when the adaptation techniques are used. The following subsections present the results.

A smart lighting scenario.
6.1. Programming Sensor Nodes in AgentSpeak(L)
We have programmed the sets of behaviors described in the Reaction Plans 1, 2, and 3 using AgentSpeak(L). As an example, Program 1 shows the encoding of two rules in the Reaction Plan 1, numbers 1 and 11. The first rule
/* ( /* ( ( - - - - ! ( ( <- ! ( <- ! ( <-. ! ( <- ! ( <- . ! ( <-.
Program 1 behaves as follows: it starts by adding the initial achievement goal
A few comments are in order. First, the radio is turned off after sending the message to the cluster head by means of
6.2. Simulation of the Adaptive Application
To validate the adaptive application we first modified SAMSON to adapt it to our requirements. The main additional functionality includes (1) adding sensors used by the application but inexistent on the TMote Sky platform and (2) establishing a network deployment that fits the scenario that we are simulating. Functionality (1) implied modifying the SAMSON source code to include support for

A window of SAMSON showing a topology of agents located at fixed positions within the square.
We implemented the behaviors described in Reaction Plan 1 using AgentSpeak(L); we call this the adaptive application (A) (see Figure 1 to remember the transitions among the light levels in the (A) application). The purpose of the adaptive application is to reduce the energy consumption per lamppost. By reducing the time spent in states with higher light intensity levels we can reduce the energy consumption. Our simulations are mainly directed towards evaluating the fraction of the simulation time that each lamppost spends in each state (
We simulate the residential street use case for approximately 19.3 minutes (1158 s) and we measure the time spent by each lamppost in each of the four states. Figure 5 shows the times (in seconds) per state for each lamppost. 60 seconds after starting the simulation (when nighttime is detected), all the lampposts transit from

Results for (A) application for the residential street use case.

Residual voltage after simulation (a) and number of packets transmitted and received (b) per lamppost in a residential street.
Now, we simulate the commercial street use case for approximately 82 minutes (4920 s). We consider that a group of lampposts obtain values for the environment light that are above the given threshold. This may be the case if lampposts L1–L8 are located on the side of the commercial street which has shops while lampposts L9–L16 are on the dark side. This implies that lampposts L1–L8 transit from state

Results for (A) application for the commercial street use case.

Residual voltage after simulation (a) and number of packets transmitted and received (b) per lamppost in a commercial street.
6.3. Energy Saving Estimation for Street Lighting
Assuming that the lampposts use LED technology and knowing (from the simulations) the percentage of time that each of them spends in each state, we can estimate the energy consumption (in joules) due to the emission of light as
Let

Comparison between the energy consumed by the lampposts executing the (non-A) versus (A) applications.
Energy savings result in cost savings. To analyze this effect we consider a real LED-based lamp, the LS8 [31] lamp manufactured by Build Better Earth. According to its datasheet, the LS8 provides a maximum rated power of 240 W. We assign the power values for the rest of the intensity states—
Estimation of the energy costs per lamppost, overnight and per year, for the (non-A) and (A) applications.
6.4. Simulation of a Real Smart-City Scenario
We conclude our experiments by simulating the adaptive application on a real city data—Leganés, located at the south of Madrid (Spain)—where approximately 50,000 lampposts exist. During winter nights the lampposts are turned on in state

Behavior of the lampposts in Leganés during winter nights: on the left, the nonadaptive behavior for all lampposts; on the right, the adaptive behavior for a specific lamppost, L15.
Following estimations by the city council of Leganés, the average probability for the presence of people in residential areas during winter nights is 50% from 8:00 pm to 12:00 am, 10% from 12:00 am to 4:00 am, and 40% from 4:00 am to 5:00 am. We evaluate the effect of these probabilities on energy savings in Leganés when assuming that the lampposts implement our adaptive mechanism. To do this, we fix a simulation time of 2000 s and force transitions among each two intensity states after a period of time proportional to the real-time transitions prescribed by the city. The resulting time spent in each state is shown in Figure 11. We observe the lampposts changing their intensity level according to the detection of the presence of people and the existence of environment light, as opposed to the nonadaptive behavior. This adaptive behavior is shown on the right hand side of Figure 10 for a specific lamppost, L15. During the time frame with the lowest probability of detecting people in the street (12:00 am–4:00 am) it is most probable that lampposts may transit to state

Results for (A) application in the city of Leganés.

Residual voltage after simulation (a) and number of packets transmitted and received (b) per lamppost in the city of Leganés.
Finally, Table 2 shows the cost savings when implementing adaptive behavior in this real city scenario. The energy savings reach 55% relative to the nonadaptive application.
Estimation of the energy costs per lamppost, overnight and per year, for the city of Leganés.
7. Conclusions
This paper presents an intelligent street light control system that enables multiphase light sources to adapt their intensity to the environment conditions. We have designed an adaptive behavior for the control devices attached to the lampposts in smart cities scenarios; as a result the lampposts dynamically adapt to the presence (or absence) of obstacles and environment light in their vicinity. These are only two examples of the data that could be monitored and used for the fine tuning of the services provided by a smart city in a way that promotes sustainability.
We have evaluated our approach by using a simulator that combines WSNs and BDI agents and provides information about the time that each lamppost spends in each intensity state. Starting from these times we estimate the energy savings when compared to nonadaptive approaches. The results show important savings above 35% in all the experiments; these have a significant economic impact and affect the sustainability of the environment.
As future work we plan to exploit our approach on more dynamic scenarios, where real-time data—for instance, proceeding from Google Traffic—can be used to evaluate the adaptive behavior of the devices. We also plan to include more sophisticated algorithms which conserve sensor energy along with street light energy.
Footnotes
Conflict of Interests
The authors declare that he has no conflict of interests regarding the publication of this paper.
Acknowledgment
This work has been funded by the Spanish Ministry of Science and Technology under the Grant TIN2010-16497 “Técnicas Escalables de E/S en Entornos Distribuidos y de Computación de Altas Prestaciones.”
