{'fraction_non_alphanumeric': 0.02603679867546132, 'fraction_numerical': 0.005808208935295218, 'mean_word_length': 4.935097868293843, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Coverage Protocols for Wireless Sensor Networks: Review and Future Directions

The coverage problem in wireless sensor networks (WSNs) can be generally defined as a measure of how effectively a network field is monitored by its sensor nodes. This problem has attracted a lot of interest over the years and as a result, many coverage protocols were proposed. In this survey, we first propose a taxonomy for classifying coverage protocols in WSNs. Then, we classify the coverage protocols into three categories (i.e. coverage aware deployment protocols, sleep scheduling protocols for flat networks, and cluster-based sleep scheduling protocols) based on the network stage where the coverage is optimized. For each category, relevant protocols are thoroughly reviewed and classified based on the adopted coverage techniques. Finally, we discuss open issues (and recommend future directions to resolve them) associated with the design of realistic coverage protocols. Issues such as realistic sensing models, realistic energy consumption models, realistic connectivity models and sensor localization are covered.


I. INTRODUCTION
W IRELESS sensor networks (WSNs) have attracted significant attention from the research community and industry in the last few years. The main reason for the recent research efforts and rapid development of WSNs is their potential application in a wide range of contexts including military operations, environment monitoring, surveillance systems, health care, and public safety [1], [2]. These applications require the deployment of a number of sensors to cover a given region of interest (ROI) in the network field. Although sensor nodes can work autonomously, they can also work collaboratively to monitor the physical parameters of an environment. Sensor nodes can sense the environment, communicate with neighboring nodes, and in many cases, perform basic computations on the data being collected [3], [4]. These features make WSNs an excellent choice for many applications [2] running in environments that are hazardous for human presence.
The coverage problem is one of the fundamental problems in WSNs as it has a direct impact on the sensors energy consumption and the network lifetime [5]. The coverage problem can generally refer to how to monitor the network field effectively.
There are several ways to classify the coverage problems in WSNs. Coverage problems can be classified, according to the frequency of network field monitor, into either continuous coverage problems or sweep coverage problems. Continuous coverage problems can be further classified, according to the region of interest for monitoring, into three types: Area coverage, point coverage, and barrier coverage. Furthermore, coverage problems can be classified, according to the required coverage degree, into either 1-coverage problems or k-coverage problems.
On the other hand, coverage protocols can be classified based on the connectivity requirement, to either connectivity aware coverage protocols or non-connectivity aware coverage protocols. Furthermore, coverage protocols can be classified, according to the adopted algorithm characteristics, into either distributed protocols or centralized protocols. Centralized coverage protocols can be further classified into either evolutionary algorithm (EA) based protocols or non-EA based protocols. Moreover, coverage protocols can be classified according to the system model of the network. There are four features under the system model: Sensor location awareness (aware or unaware), sensor mobility models (static, mobile or hybrid of both), sensor deployment models (deterministic or random), and sensor sensing model. Sensing models are broadly classified, based on the sensing ability, into two types: Deterministic sensing models and probabilistic sensing models. Sensing models can also be classified, based on the direction of the sensing range, into either directional sensing models or omnidirectional sensing models. Coverage protocols can also be classified based on when the coverage optimization happens, i.e., into either coverage-aware deployment protocols, when coverage optimization happens before the deployment stage, or sleep scheduling protocols, when coverage optimization happens after the deployment stage. Sleep scheduling protocols can be further classified, based on the network topology, into either clusterbased sleep scheduling protocols or sleep scheduling protocols for flat networks. A detailed description of the various dimensions of the classification discussed above is given in Section II. Fig. 1 shows the taxonomy for classifying coverage protocols in WSNs.

A. Related Reviews
Several survey papers related to the coverage issue in WSNs exist in the literature. However, to the best of our knowledge, none of the existing studies analyze, review and provide a clear description of all features that cover all factors as well as classify the coverage problems in its entirety. Most of these surveys focus on a subset of features for classifications and overlook the others. In the next paragraphs, we briefly discuss the content of each survey paper and we highlight how this survey is different 1976 and more comprehensive than the previous ones.
A specific review of energy-efficient coverage protocols in WSNs is done in [6]. In this review, the authors present the basic knowledge of the coverage problem in WSNs. The reviewed coverage protocols are broadly classified based on the protocol characteristics (distributed vs. clustered) and the sensor nodes location information (location-aware vs. location-unaware). The review considers area coverage protocols only, for both deterministic sensor nodes deployment and random sensor nodes deployment. Finally, the review focuses on coverage protocols that use static nodes only and that are based on the boolean sensing model (a detailed sensing model classification is presented in Section II.C).
The relationship between coverage and connectivity in WSNs is analyzed in [7]. In this review, the coverage protocols are classified into three categories: Coverage deployment strategies, sleep scheduling mechanisms, and adjustable coverage radius protocols. This survey however, mainly focuses on coverage protocols that adopt the boolean sensing model.
A comprehensive survey on barrier coverage in WSNs is given in [8]. The reviewed barrier coverage protocols are mainly classified into two categories: Barrier coverage for static sensor nodes and barrier coverage for mobile sensor nodes. The protocols are further classified based on the following criteria: the sensing range direction (omnidirectional vs. directional), the sensing model (boolean, probabilistic and full-view), and the coverage requirement (weak k-barrier coverage vs. strong k-barrier coverage). Moreover, several optimization problems in barrier coverage are studied.
Another review of barrier coverage is given in [9]. However, the focus of this review is barrier coverage for directional sensor nodes only. The examined protocols are classified, based on the coverage requirement, into four categories: Strong barrier and weak barrier, 1-barrier and k-barrier, worst and best-case coverage and exposure path coverage, and any-view coverage and full-view coverage.
In [10], the coverage issue is discussed as a topology control technique in WSNs. The studied coverage protocols are classified into three categories respectively: Area coverage protocols, barrier coverage protocols and sweep coverage protocols. Area coverage protocols are further classified based on the types (i.e., static, mobile or hybrid) of sensors available in the WSNs and the coverage requirement (1-coverage or k-coverage). Moreover, barrier coverage protocols are studied for both deterministic and probabilistic sensing models.
The author of [11] presents a brief survey on k-coverage problems and protocols. The protocols were mainly classified, into two categories: k-coverage verification protocols and sleep scheduling protocols for k-coverage problems.
A review of EA-based sleep scheduling protocols is given in [12]. The authors highlight the main reasons behind adopting EA in sleep scheduling protocols. Moreover, the reviewed sleep scheduling protocols are classified, based on the EA they adopted, into four categories: Swarm intelligence (ant colony  [6] 2016 L L L L L L L optimization (ACO), particle swarm optimization (PSO), and pulse-coupled biological oscillators (PBO)) protocols, genetic algorithms (GA), differential evolution (DE), cellular automata, and protocols which uses other types of EAs.
In this paper, we first present a list of features and their values, with which we develop a taxonomy for classifying coverage protocols in WSNs comprehensively. We then review a broad range of coverage protocols conceived in WSNs, mainly categorized into the following three groups: Coverage aware deployment protocols, sleep scheduling protocols for flat networks, and cluster-based sleep scheduling protocols. For each group, we compare different coverage protocols on their features identified in Fig. 1. Table 1 highlights the main differences between the aforementioned review papers and ours in terms of features discussed.

B. Our Contributions
In this paper, we discuss a wide range of coverage problems and coverage protocols. The objective of this review is to provide a better understanding of different classifications of coverage protocols in WSNs and to stimulate new research directions in this area. More specifically, we discuss and compare coverage protocols in various sensing models, which includes a realistic sensing model that reflects the radio irregularity in WSNs. Our contributions are four-folds: • We present a broad discussion and a clear classification of various coverage protocols conceived in WSNs. • We provide an in-depth review of the up to date protocols designed to solve different coverage problems. • We give a thorough discussion on the open issues associated with the design of realistic energy-efficient coverage protocols for WSNs. • We recommend potential future directions to solve some unrealistic assumptions that were assumed by many of the previously proposed protocols.

C. Paper Organization
The remainder of this paper is organized as follows. Section II gives the necessary background knowledge about the coverage problems in WSNs. From Section III to Section V, we

II. PRELIMINARIES
In this Section, we give the necessary background knowledge about the coverage issue in WSNs. First, we discuss the different design factors in developing coverage protocols. Then, we present three different types of coverage problems in WSNs. Finally, we outline different sensing models that are used to model the sensor coverage in WSNs.
A list of acronyms used in this paper is displayed in Table 2.

A. Design Factors
There are several design factors that have a direct impact on developing coverage protocols for WSNs.

A.1 Coverage Degree
In its simplest form, coverage means that every point in a ROI is monitored by (i.e., within the sensing range of) at least one sensor. This is referred to as 1-coverage problem. A more general form is the k-coverage problem, where each point in a ROI should be monitored by k or more sensors. We also say that the coverage degree of a k-covered WSNs is k. A k-coverage WSNs is desired in certain applications, such as intrusion detection applications and military applications, because it provides redundancy and therefore enables fault tolerance and stronger monitoring. The coverage degree is considered as one of the main application coverage requirements [5].

A.2 Sensors Deployment Models
The sensors deployment model is an important design criterion for designing energy-efficient coverage protocols in WSNs. Depending on the application requirements, sensor node deployment can be either random or deterministic [13].
Random deployment is normally adopted in large-scale applications, where the sensor nodes are scattered randomly into the network field. For instance, sensors can be dropped from an airplane to a remote and hard-to-access area [14]. Random deployment is more applicable in dangerous and inaccessible environments.
Deterministic deployment is commonly adopted in small to medium-scale applications, where the number and position of the sensor nodes can be predetermined in advance. The sensors can be deployed either manually or by robots. A regular and symmetric deployment/placement pattern is usually adopted in such deployment methods. Deterministic deployment is suitable only in controlled and human-friendly environments.

A.3 Algorithm Characteristics
The algorithm adopted by the coverage protocols can be classified into distributed algorithms or centralized algorithms. In distributed algorithms, each sensor node in the network makes a decision about its working mode based on its neighbors' information. Centralized algorithms, on the other hand, require each sensor node to forward its data to a central unit, like a base station (BS). Furthermore, most of the coverage problems were defined as NP-hard optimization problems [5], [15]. EAs have been used to solve such problems [12], [13], [16], [17].

B. Coverage Problems in WSNs
Coverage problems can be classified, based on the frequency of monitoring the network field, into continuous coverage problems or periodical coverage problems. Moreover, there are other WSNs problems which can affect or get affected by the coverage problem.

B.1 Continuous Coverage Problems
Continuous coverage problems arise in many WSNs applications that require continuous monitoring of the network field. These problems can be further classified, based on the monitoring requirements, into three types: Area coverage, point coverage, and barrier coverage.
Area/blanket coverage problems arise when the whole sensor field needs to be monitored. In other words, every single point of the network field should be within the sensing range of at least one sensor node. On the other hand, point/target coverage problems are related to monitoring a set of targets or points of interests (POI). Different from area coverage and point coverage, barrier coverage is not concerned with monitoring either the entire ROI or any POI. Instead, barrier coverage is to monitor only the borders of a ROI to detect intruders [5], [8].

B.2 Periodical/Sweep Coverage Problems
There are typical applications where only periodic monitoring is sufficient for a certain set of POIs. Sweep Coverage is introduced for such applications. In sweep coverage, the entire field may not be covered all the time. A number of mobile sensor nodes moving within the network field are used to collect data about the POIs and deliver it to a central processing unit, like a BS. Using a combination of static and mobile sensors in sweep coverage is more effective. When static sensor nodes detect these POIs, they record the data locally so that it can be later retrieved by mobile sensor nodes within a delay bound [18]. The main goal of the sweep coverage problem is to minimize the number of mobile sensor nodes used and guarantee sweep coverage for a given set of POIs [19], [20].

B.3 Coverage-related Problems
The connectivity problem is concerned with finding direct or indirect high-quality and energy-efficient communication links between the sensors to a BS. Such list of links would provide efficient and reliable transmission of data. However, coverage solutions can not guarantee network connectivity. Therefore, both the coverage and the connectivity issues should be jointly investigated to ensure proper deployment. [21]- [22]. The deployment is another important problem in WSNs that deals with finding the optimal sensors placement pattern that fulfills both coverage and connectivity requirements.
Cluster-based routing provides an efficient approach to reduce the energy consumption of sensor nodes and maximize the lifetime and scalability of WSNs. Finding the optimal clusters while considering the coverage optimization of the network may lead to more energy-efficient solutions for WSNs. [23], [24].

C. Sensing Models
In WSNs, each sensor node has a limited sensing range, and hence can only cover a limited physical area of the network field. Sensing models are abstraction models that are used to reflect the sensors' sensing ability and quality [25]. The sensing models can be classified, based on the direction of the sensing range, into either directional sensing models or omnidirectional sensing models. Moreover, sensing models are broadly classified, based on the sensing ability, into two types: Deterministic sensing models and probabilistic sensing models.

C.1 Directional Sensing Model
In directional sensing model [26], [27], each sensor has a finite angle of view and cannot sense the whole circular area around it. Directional sensor nodes may have several working directions and may adjust their sensing directions during their operation. In this model, the sensing area, also known as the field of view, is a sector described by four parameters L, R, V, α, where L is the sensor node position, R is the sensing radius, V is the working direction and α is the angle of view. A point Q is said to be covered by a directional sensor S if and only if the following conditions are met [26]

C.2 Omnidirectional Sensing Model
Omnidirectional sensing model is a special case of directional sensing model [27] where α = 360 • . Omnidirectional sensors cover a unit of a circle and they have only one working direction. Many legacy sensor nodes equipped with temperature, humidity, and magnetic sensors are omnidirectional sensors.

C.3 Boolean Sensing Model
Boolean (deterministic/disk) sensing model is the simplest and most commonly used sensing model [28]. In this model, if a point (or event) P in the network field is located within the sensing range R of sensor node S, then it is assumed that P is covered/detected by S. The sensing area of S is defined as a disk centered at S with a radius of the sensing range R.
In this model, the coverage function, C(S, P ), of sensor node S and point P is given by the following equation: where d(S, P ) is the Euclidean distance between sensor node S and point P .

C.4 Probabilistic Sensing Models
The probabilistic sensing model was firstly proposed by [29] as a more realistic extension of the boolean sensing model. This model was motivated by the fact that sensor detections are usually imprecise and the quality of sensing gradually decreases with increasing distance away from the sensor [30]. Therefore, the coverage function, C(S, P ), needs to be expressed in probabilistic terms. The probabilistic sensing model is further classified into two models: The Elfes sensing model and the shadow fading sensing model. C.4.a The Elfes Sensing Model. Two sensing radii are defined in the Elfes sensing model [31], R min and R max where R min defines the starting of the uncertainty in the sensor detection. If a point (or event) P in the network field is located within the sensing range R min of sensor node S, then it is assumed that P is definitely covered/detected by S. If point P is located beyond the sensing range R max , then it is definitely not covered/detected by S. Otherwise, point P is covered/detected by S with probability p. The coverage function, C(S, P ), is given in the following equation: where the λ and γ parameters are adjusted according to the physical properties of the sensor. It should be noted that the Elfes sensing model is considered a more general model, where it becomes a boolean sensing model when R min = R max .
C.4.b The Shadow Fading Sensing Model. In the aforementioned sensing models, the sensing radius of a sensor node has a constant value in all directions around it. Therefore, its sensing ability depends only on the distance between the sensor node and the point of interest. However, obstructions in the network field, such as buildings, railway track, power stations and mines, result in extra loss and more variation in the received signal power of both the sensing signal and the signal emitted from targets or events. Moreover, the sensing ability of a sensor is non-uniform and asymmetric in all directions around the sensor due to their hardware configuration and software implementation. Therefore, the sensing radius of a sensor node should not be modelled uniformly in all directions since signals from different directions, corresponding to different propagation paths, suffer from different amounts of shadowing loss. The variations in the received signal strength due to obstructions in propagation path is known as shadowing.
The shadow fading sensing model given in [32] is the first model to consider the impact of the shadowing effects on the coverage problem in WSNs. In this model, the coverage function, C(S, P ), represents the probability that sensor S covers/detects P in a shadowed environment. This coverage probability depends on the shadowing fading parameter σ, the Euclidean distance d(S, P ) between sensor node S and point P as well as an average sensing radiusR. The coverage function, C(S, P ), is given by the following equation [32], [33]: where β denotes the signal power decay factor and R max denotes the maximum practicable sensing range. dr is a small increment in distance d(S, P ) which represents a small differenece in the distance due to the sensor size. More details about these variables or how to calculateR can be found in [32] and [33]. Fig. 2 illustrates the shape of the sensing area for the aforementioned sensing models.
In this survey, we classify coverage protocols, based on the network stage where the coverage is optimized, into either coverage aware deployment protocols or sleep-scheduling protocols. Sleep-scheduling protocols are further classified, based on the network topology, into either cluster-based sleep scheduling protocols or sleep scheduling protocols for flat networks, as shown in Fig. 1. The following three sections give a detailed review of such protocols.

III. COVERAGE-AWARE DEPLOYMENT PROTOCOLS
Coverage-aware optimal sensors deployment can be defined as the process of determining the optimal locations of sensors in a network field such that the coverage requirement of an application is met. The coverage hole problem, which refers to finding regions that are not covered by any sensor, is a sub-problem of deployment protocols [34]. Mobile sensors are used to solve such problem by adapting their position in order to fill up sensing holes and eventually increase the area coverage [35]. The maximum coverage sensor deployment problem (MCSDP) is an example of deployment problems that aims at finding the minimum number of sensors to achieve maximum coverage of the surveillance area. Most deployment problems are NP-hard problems with many conflicting objectives. Therefore, centralized evolutionary approaches are often used to solve various deployment problems [13], [16], [17].
A PSO-based deployment algorithm, PSODA, is proposed in [36] to solve the deterministic deployment problem for point coverage in WSNs. In PSODA, the MCSDP is modelled as a constrained optimization problem and the main objective of the algorithm is to minimize the number of sensors while satisfying the coverage constraints for all the target points. The ROI is divided into small cells and the center of each cell is a potential position for a sensor. PSODA contains one binary 0/1 decision variable for each position in the network area where the value of 1 indicates that a sensor should be deployed at this position and 0 indicates the opposite. The fitness function uses a weightedsum approach that combines two sub-objectives: The first one is used to minimize the number of sensors to be deployed and the second one is used to minimize the dissatisfaction of the coverage constraints.PSODA assumes that the sensors follow the Elfes sensing model and all the sensors are static and homogeneous. A modified PSO which uses a new position updating procedure for a faster convergence was adopted to solve the premature convergence problem of traditional PSO. Although PSODA was primarily developed to solve the point coverage problem, it can be adopted for applications that require full area coverage. It should be noted that the PSODA protocol does not consider the connectivity between the sensors and the BS.
A constrained Pareto-based Multi-objective Evolutionary Approach, CPMEA, is proposed in [16] to solve the deterministic deployment problem in WSNs. Unlike PSODA, CPMEA treats the coverage requirement as an objective rather than a constraint. Moreover, CPMEA aims at maintaining the full connectivity between each sensor node and the BS by modelling the connectivity requirement as a constraint. CPMEA uses the Paretodominance concept to formulate the objective functions. The main objective is to find more than one Pareto-optimal sensorlayouts that can maximize the coverage and lifetime simultaneously while maintaining full connectivity between the sensors. The decision variables in CPMEA represent the desired positions of the sensor nodes. However, instead of generating a collection of random layouts without considering the connectivity, the initial population is generated in two steps. The first step consists of generating a number of random tree topologies that connect the BS to the sensor nodes. Then in the second step, the positions of sensor nodes are randomly generated based on the BS position and the tree structure. CPMEA assumes that the sensors follow the boolean sensing model and all sensors are static and homogeneous.
A GA-based deployment protocol was proposed in [17] to ensure both coverage and connectivity of a given set of targets. The goal of the protocol is to select the minimum number of the potential positions for the sensors such that two requirements are met: k-coverage and m-connectivity. The objective function was defined as a weighted-sum of three scaled sub-objectives: Minimizing the number of deployed sensor nodes, maximizing the total achieved coverage and maximizing the connectivity. Each individual in the GA population has a length equals to the number of the potential positions of the sensors. Each gene can have a value of either 1 or 0 to indicate whether a sensor should be installed at that location or not. [17] assumes that the sensing range is equal to the communication range and all sensors follow the boolean sensing model. It is also assumed that all the sensors are static and homogeneous. Another approach for solving the sensors deployment problem in WSNs is to find an optimal deployment pattern. In this approach, it is assumed that the ROI is divided into virtual grids and every sensor is deployed at the intersection points of the grid. The grid shape can either be square, triangle, hexagon, etc. The goal of the deployment protocol is to estimate the pattern (grid shape) and the optimal distance between the sensors. For example, the authors in [37] developed a protocol to address the problem of finding a regular node deployment pattern that uses the minimum number of sensors to provide k-coverage and mconnectivity. The main idea of the proposed protocol is to find a deployment pattern that satisfies three conditions: The network area is k-covered, the sensor nodes are m-connected, and the number of deployed sensors is minimized. The main goal of this protocol is to estimate the locations and the optimal distance between sensors for three different deployment patterns: Triangle, square, and hexagon. The protocol then chooses the deployment pattern to be used to deploy minimum number of sensors while meeting the coverage and connectivity requirements. The protocol assumes a boolean sensing model and all sensors are static and homogeneous.
Another approach for coverage-aware deployment is to deploy and reposition mobile sensors to meet the coverage requirement of a certain application. MobiBar [38] is a protocol of such design that is proposed for barrier coverage applications. Mo-biBar is a distributed deployment protocol that utilizes mobile sensors to construct k distinct complete barriers and hence provides k-barrier coverage. The goal of MobiBar protocol is to achieve a final deployment that provides the maximum achievable barrier coverage by repositioning the mobile sensors. The authors of MobiBar defined a baseline as the line that is parallel to the border of the network area to which other barriers should be constructed parallel to it. MobiBar assumes that sensors located on adjacent barriers are able to communicate. These connected barriers are referred to as the connected barrier component. Each barrier in MobiBar has a priority which decreases as the distance between the baseline and the barrier increases. Initially, all sensors move towards the baseline to increase the connectivity of the network. The first sensor to reach the baseline elects itself as a leader of the connected barrier component. Then this leader chooses at most four neighbor sensors, each of which move to an adjacent barrier position. Precedence is given to barriers with higher priorities. In turn, each of these newly relocated sensors repeat this process to at most four of its neigh-bor sensors. If a relocated node couldn't find enough neighbor sensors to ask to relocate, it keeps performing a limited multihop search till it finds one or more. A relocated sensor may reposition itself only to a barrier with a higher priority if it detects one. Newer barriers are then merged into older barriers by repositioning the sensors in the new barrier to the vacant positions of the older barrier. At the end, a single connected barrier is constructed. All sensor nodes in MobiBar are mobile and it also assumes a boolean sensing model for sensing as well as a perfect disk model for communication.
A mobile sink (MS) based coverage optimization and linkstability estimation routing (MSCOLER) protocol was proposed in [39] to i) restore the coverage and ii) prevent transmission faults in the network. MSCOLER operates in two phases. In the first phase, MSCOLER uses a grid-based firefly simulated annealing (GFSA) to move the mobile sensors near the coverage holes. In order to do so, the network area is divided into grids and each cell in this grid needs to be monitored by at least 1 sensor. The coverage problem is modeled as a nonconstrained optimization problem with the goal of maximizing the coverage ratio. Firefly simulated annealing (FSA) is then used to solve this problem by finding the optimal locations of the mobile sensors to restore the coverage holes. In the second phase of MSCOLER, a link stability estimation routing (LSER) algorithm is used to find the optimal relay sensors to forward the data to the BS. The optimal links are found by minimizing three link quality indicators: The expected transmission time (ETX), the received signal strength indicator (RSSI ), and the link quality indicator (LQI). The authors assume a binary sensing model and the first order energy consumption model. All sensors are homogenous, mobile and location-aware. Table 3 shows a comparison between the coverage aware deployment protocols discussed above.

IV. SLEEP SCHEDULING PROTOCOLS FOR FLAT NETWORKS
In WSNs, sensors can be deployed randomly and in high density to ensures higher coverage. The random deployment of sensors may result in several close-located (redundant) sensors covering the same area and therefore causing unnecessary energy consumption. Activating only the necessary sensors at any particular moment can save energy. The optimal coverage problem (OCP) in WSNs is defined as finding the fewest number of sensors to monitor a given area while maintaining the coverage ratio requirement of the application. The main approach to solving such problem is to employ sleep scheduling protocols, in which redundant sensors are scheduled to be asleep/deactivated alternately to minimize energy consumption, and hence increase the overall network lifetime while meeting the coverage requirement.
A distributed and localized sleep scheduling protocol called coverage maximization with sleep scheduling (CMSS) protocol is proposed in [40]. CMSS assumes a grid-based deployment with sensor nodes deployed at random in grid cells. Moreover, the sensors are location-aware and homogeneous in terms of their sensing range and communication range. The main goal of CMSS is to minimize the number of active sensors while ensuring the ROI is fully covered. This is achieved by minimizing the number of redundant sensors that monitor the same cell. CMSS assumes a boolean sensing model, where each cell is considered covered by a sensor if all points in that cell are within a sensor's sensing radius. Each sensor has two tables: a) A neighbor table, which records the IDs of its neighbors and b) a coveredcells table, which records the covered cells and associated sensors covering each cell. CMSS operates in rounds. When first round starts, each sensor broadcast its location information and sensors that receive this information adjust their neighbor table accordingly. In subsequent rounds, the covered-cells table is updated at the beginning of each round. Each sensor in the network makes its decision on whether it should stay active or go to sleep mode by applying a back-off timer technique and checking its covered-cells table.
Coverage-aware scheduling for optimal placement of sensor [41], (CAOP), is another distributed sleep scheduling protocol. Similar to CMSS, all sensors in CAOP are location-aware and homogeneous in terms of their sensing range. These sensor nodes are randomly deployed. Moreover, sensors are aware of the number of nodes deployed in the network field as well as the network dimensions. However, CAOP applies the Elfes sensing model. The main idea of CAOP is that, in the case of deterministic sensor deployment, Polygon is one of the basic placement patterns, in which, sensor nodes are placed at the vertices of polygons. If all vertices embedded within the sensor field are covered, then the whole sensor field is said to be fully covered. However, since sensor nodes are randomly deployed in CAOP, each sensor node makes its own scheduling decision based on the distance between itself and the vertices of the closest polygons. The CAOP protocol operates in rounds. At the beginning of the first round (the decision round), each sensor starts running CAOP independent of other sensors to determine its activity round, i.e., the round at which it will be active. In order to do that, every sensor node in CAOP starts by computing the minimum number of nodes required for covering the whole ROI based on its sensing range and the dimension of the ROI. The assumed places for these nodes are considered as optimal places. Then, each sensor node decides its state (active or sleep) based on the sensor nodes density and its distance from the nearest optimal place. In the subsequent rounds, each sensor check if its activity round matches the current round. At any given round in CAOP, only a subset of the sensors stays in active mode while the other sensors stay in sleep mode waiting for their own round to be active. Each sensor determines its own round number based on its location and the sensing range. Since this process is distributed and a node does not know the location of other nodes except its direct neighbours, it is possible that two nodes that are supposed to cover the same POI decide to go to sleep mode simultaneously. This may consequently create a coverage hole.
Another common approach that sleep-scheduling protocols adopt is to divide the sensors into disjoint sets of covers (DSCs) such that every set completely covers the entire ROI or a set of targets (e.g., POI) with known locations. Once an active set run out of energy, another set is activated to continue providing the required level of coverage. Network lifetime prolongs when the number of such sets increases. Hence, the goal of this approach  [38] 2017 Provide K-barrier coverage Boolean Yes PSODA [36] 2016 Solve the MCSDP/Point coverage Elfes N/A CPMEA [16] 2016 Provide full area coverage/connectivity Boolean N/A MSCOLER [39] 2018 Provide targeta k-coverage/connectivity Boolean Yes is to determine the maximum number of DSCs. Since both the OCP and the DSC problems are well-known NP-hard optimization problems, EAs can be used to solve them [42], [43]. A variant of PSO, Binary PSO (BPSO), is adopted in a centralized Binary PSO-based sleep scheduling protocol [44] to solve the OCP. BPSO assumes that the sensors are homogeneous, randomly deployed in the network field and adopt the boolean sensing model. The coverage problem was modelled as a constrained 0/1 programming problem to determine whether a sensor should be in active mode (with value 1) or in sleep mode (with value 0). The goal of the protocol is to minimize the number of active sensor nodes while maintaining full area coverage constraint. Moreover, the protocol was extended to find the maximum number of DSCs. This is done by initially minimizing the number of active sensor nodes. These active nodes form the first set and are marked as unavailable. Then, the unassigned sensor nodes form another network topology. This process continues till the last network topology cannot provide full coverage for the area.
A multi-layer GA, (mlGA), is adopted in [43] to find the maximum number of DSCs. The goal of the mlGA protocol is to find the maximum number of DSCs and to ensure that each DSC is assigned the minimum number of sensors which provides full coverage. The mlGA protocol employs a post-heuristic operator, in which the unassigned sensors may be used to enhance the coverage of each set of covering sensors or set cover for brevity. Similar to the BPSO protocol, the mlGA protocol identifies the maximum number of DSCs gradually. However, the mlGA protocol assumes that the sensors adopt the Elfes sensing model to reflect the uncertainty in sensor's sensing ability. It should be noted that the random initialization and update of the population individuals in both BPSO and mlGA may result in infeasible set cover solutions that do not meet the required coverage constraint. In this case, a repair function is adopted to repair these individuals (i.e., set covers) and hence further move toward the optimal solutions space. The repair function usually works by drawing a random sensor from the set of the unassigned sensors and adding this sensor into an infeasible individual solution. This process continues till the coverage constraint of each infeasible individual is met.
An energy efficient connected coverage (EECC) algorithm was proposed in [45] to find the maximal number of non DSCs that ensure target coverage and connectivity while minimizing sensors redundancy around the targets. Authors of EECC argued that non-disjoint cover sets provide a longer network lifetime compared to the disjoint cover set as they may generate more cover sets, which in turn will prolong the network life time. The sensors are classified into sensing and relay nodes according to its coverage. If the sensor does not cover any of the targets, its coverage is null and it is termed as relay node. A sensor which covers a target is termed as a sensing sensor. Sensing sensors are further classified, based on the number of targets it covers, into three types: Single coverage sensor, multi coverage sensor, and critical coverage sensor. Each sensor has a heuristic value derived from its sensing coverage and connectivity to the BS. The value of the coverage heuristic prioritize the sensing node according to its contribution towards coverage while the value of connectivity heuristic prioritize the relay sensor according to its connectivity to sensing nodes and sink. Although the authors have proved that their problem formulation is NP-complete, they have used greedy approach to select the sensors to include in the cover, based on their heauristic values.
A GA-based protocol to find the maximum number of non DSCs to provide k-coverage for a predetermined number of targets was proposed in [46]. Each sensor cover is enough to cover all the targets in the field. The network lifetime of the sensor covers is calculated as the minimum lifetime of a sensor that belongs to that cover, i.e., the sensor that has the minimum remaining energy. The energy-efficient target coverage problem is then formulated as a maximization problem that aims to maximize the aggregated network lifetime among all the sensor covers. Firstly, the adopted GA algorithm determines the optimal cover heads that are responsible for transferring the data to the BS. Then, the algorithm forms the covers based on the coverage range of each sensor, the expected consumed energy, the distance to the BS, and targets positions. Authors assumed that the sensors are mobile and can move freely in the network field , to collect environmental data, without adhering to any specific sensor mobility model. Moreover, a cover management method that switches between different sensor covers was proposed. It was also assumed that all the sensors can transmit directly to the BS. Table 4 shows a comparison between the coverage aware deployment protocols discussed above.

V. CLUSTER-BASED SLEEP SCHEDULING PROTOCOLS
Though both the cluster heads (CHs) selection problem and the coverage problem have been extensively studied separately, only a few protocols considered them together. Most of existing clustering protocols focus only on selecting CHs to reduce or balance the network's energy consumption, while how to cover the network area effectively is out of the scope of these existing solutions. The following paragraphs describe papers that consider clustering and coverage simultaneously.
A distributed, cluster-based coverage-aware protocol, ECDC, that can be adapted for different applications is proposed in [24]. The network area in ECDC consists of randomly deployed static Find maximum # of non DSCs/Target coverage Boolean Yes [46] 2018 Find maximum # of non DSCs/Target coverage Boolean Yes sensor nodes. The main idea behind the protocol is that sensors having higher remaining energy and/or deployed in a densely populated area, and/or cover more POIs are more likely to be selected as CH candidates. Two coverage importance metrics are introduced to measure the coverage importance for each sensor node: One for the point coverage problem and the other for the area coverage problem. In the point coverage problem, the point coverage importance of a sensor node is determined by the number of POIs covered by that sensor node only. The higher the number of POIs covered by a sensor node, the larger the point coverage importance of that sensor node. In the area coverage problem, the area coverage importance of a node is determined by the number of neighbors. The fewer nodes around a sensor node, the greater the area coverage importance of that sensor node. The clustering process of ECDC is divided into rounds, each of which consists of a cluster set-up phase and a data transmission phase. In the cluster set-up phase, the sensor nodes compete for the CH role based on their relative residual energy and their coverage importance. At the end of this phase, sensor nodes with relatively higher residual energy and smaller coverage importance will be chosen as CHs. In the data transmission phase, a routing tree is constructed to connect the elected CHs to the BS. The CHs aggregate data from their cluster members and then send data to the next hop nodes on the constructed routing tree. It is assumed that the selected CHs are within the communication range of each other and each CH can either send its data directly to the BS or can send its data to a neighboring CH. The ECDC protocol uses a time division multiple access (TDMA) mechanism to avoid inter-cluster and intra-cluster collisions. Balanced clustering algorithm (BCA) is another distributed clustering protocol that was proposed in [47]. Similar to the ECDC protocol, the BCA protocol operates in rounds and favors sensors that are deployed in a densely populated area to act as CHs candidates. Moreover, the BCA protocol creates a set of equally balanced, in terms of their coverages, clusters (i.e., to make the coverage area of each cluster approximately the same). The coverage area of a cluster is defined as the union of the coverage areas of all cluster members. In BCA, each sensor calculates its probability of becoming a CH based on its sensing population, which is defined as the number of sensor nodes that are located within its sensing range. Once a sensor node becomes a CH, it uses its sensing population information to put some nodes into sleep mode in order to save their energy. To do so, a CH selects a random number of sensors to put to sleep. This number should not exceed a specific threshold which is determined by the CH. However, the absence of redundancy check in this process leads to potential coverage holes.
Another distributed coverage-preserving clustering protocol (CPCP) is proposed in [48]. The CPCP defines several cost metrics that combine the remaining energy of a node with its contribution to network coverage. For example, the minimum-weight coverage cost metric is defined such that nodes deployed in densely populated network areas and that has higher remaining energy are better candidates to act as CHs and/or to stay active. The operation of CPCP consists of five phases. In the first phase, the sensors exchange information about their remaining energy and each node calculates its coverage cost based on that information. In the second phase, each sensor decides whether or not to become a CH for the current round based on its activation time. Every sensor determines its activation time based on its current coverage cost. A sensor that does not hear an announcement message, from any other sensor node, during its activation time will declare itself to be a new CH upon the expiration of its activation time. In order to avoid creating non-balanced clusters, a sensor node announce its role as a CH within a prespecified cluster range. In the third phase, a multi-hop route between the CHs and the BS is constructed. In the fourth phase, the clusters are formed such that each non-CH node joins the closest CH. In the final phase, each sensor decides whether it will stay active or not for the current round. This decision is based on its coverage cost. In order to take this decision, every node defines an activation time based on its current coverage cost. Doing that will allow sensors that have lower coverage cost to announce themself earlier as active nodes. Every node will determine its status upon the end of its activation time. If a sensor node determines that its sensing area is completely covered by its neighboring nodes, it turns itself off for the current round. However, this activation method is not efficient, as it cannot gurantee to find all redundant nodes in each round. Moreover, the main operation of CPCP depends mainly on the values of the activation timers. So the decision of whether a sensor will stay active or not is not taken at the begining of the round. This decision could be taken by the node anytime during the round, depending on its activation time. This will lead to unnecessary consumed energy by the redundant nodes who are waiting their timer to expire to take the decision to be inactive. Moreover, although the authors of CPCP recommended the activation time to be proportional to the coverage cost, no specific recommendation was given on how to set this value. The authors in [49] developed a centralized, cluster-based coverage-aware protocol for target tracking applications. The network area consists of both randomly deployed static sensor nodes and mobile sensor nodes. The main idea of the protocol is to optimize the positions of the mobile sensor nodes to increase the coverage rate of the ROI. Static nodes are partitioned into clusters using maximum entropy clustering. CHs are assigned by placing mobile sensor nodes in the positions of the clusters' center. For each cluster, two metrics are calculated: The coverage metric and the energy metric in order to assess the coverage rate and the energy efficiency, respectively. The coverage metric is defined as the proportion of the detected area to the whole sensing area. In order to calculate the coverage metric, the whole sensing area is divided into grids and then the grids are simpilified to points. For each point, the number of nodes by which this point is covered is calculated. While the energy metric is defined as the lowest cost among all possible communication paths that are from each node to its cluster head. It is calculated using Dijkstra's algorithm. Then, each assigned cluster head performs particle swarm optimization to maximize the coverage metric and minimize the energy metric. A weight coefficient between the two metrics is employed to model the trade-off between coverage rate and energy efficiency. It was assumed that all sensor nodes are location-aware and the energy consumption on relocating the mobile sensor nodes is ignored. The boolean sensing model is used to measure the coverage rate. Unlike the aforementioned coverage-aware clustering protocols, this protocol divides the sensor network into fixed number of clusters. The main reason behind this division is to perform parallel coverage optimization for all clusters. Moreover, no TDMA scheduling mechanism is employed for the inter-cluster communication. Instead, the intra-cluster communication is achieved by constructing a routing tree that connects all the sensors inside a cluster.
In [?], a pareto-based multi-objective EA-based on decomposition (MOEA/D) algorithm is adopted as an optimization tool to design a coverage-aware clustering protocol, which we will refer here as (MOEAD-CCP). Each candidate solution of MOEAD-CCP has a dimension equal to the network size. Each gene of the candidate solution maps the status of the corresponding sensor. A sensor node has four different states: −1 to indicate it is a dead sensor, 0 to indicate it is in inactive mode, 1 to indicate it is an active node or 2 to indicate it is a CH. This encoding results in a variable number of CHs and provides a joint solution for both the clustering and coverage problems. Two main objective functions are defined to evaluate each candidate solution. The first one minimizes the total distance between the sensor nodes to their respective CHs and from the CHs to the BS while the second objective minimizes the total number of uncovered nodes. Although MOEAD-CCP provides a joint solution for both the clustering and coverage problems in WSNs, the objective functions are not well-defined. Similar to FCM-3, the first objective function assumes the that energy consumption can be minimized by minimizing the total distance between the sensor nodes and their respective CHs and from the CHs to the BS. The second objective function of MOEAD-CCP minimizes the number of uncovered points without applying any redundancy check and without taking into consideration minimizing the number of active nodes. Moreover, MOEAD-CCP ignores optimizing the clustering problem and focus more on the coverage problem. Although this protocol is built under the assumption of 2D WSNs, it can be easily adopted for 3D WSNs by calculating the distance using the 3D coordinates of each sensor instead of the 2D coordinates.
A centralized pareto-based multi-objective approach for designing and developing an energy-efficient, scalable, reliable and cluster-based coverage aware network configuration protocol for 3D WSNs was proposed in [50]. The main objective of the proposed protocol is to find a joint and simultaneous solution to maintain full connectivity and coverage in 3D WSNs by finding the optimal status (cluster head, active, or inactive/sleep) for each sensor in the network. The network field is divided into a set of equal cubes. A new linear programming formulation that handles the connectivity and coverage optimization in 3D WSNs is proposed. These two concerns are formulated as a single multi-objective minimization problem. To do so, a new chromosome encoding scheme is proposed. Moreover, the solution aims at minimizing the number of active sensors to be clustered while providing full area coverage at the same time. The proposed formulation considers the following combined properties: Energy efficiency, data delivery reliability, scalability, and area coverage. Two different types of Pareto-based algorithms are considered as optimization tools to solve the joint problem of clustering and coverage in 3D WSNs: The Nondominated sorting genetic algorithm II (NSGA-II) [51] and the multi-objective EA-based on decomposition (MOEA/D) [52]. However, performance results have shown that NSGA-II outperforms MOEA/D in terms of many optimization criteria. Hence, NSGA-II was adopted as the optimization tool and the protocol was named NSGA-II based coverage-aware clustering protocol for 3D WSNs (NSGA-CCP-3D). NSGA-CCP-3D ensures full area coverage by ensuring that each cube is covered by at least one sensor. NSGA-CCP-3D also ensure that all the CHs are connected to the BS and hence ensures connectivity. NSGA-CCP-3D assumed a binary sensing model and a 3D network field. All sensors are assumed to be static, homogenous, and locationaware. A realistic energy consumption model that is based on the characteristics of the Chipcon CC2420 radio transceiver data sheet is assumed. Table 5 shows a comparison between the coverage aware deployment protocols discussed above.

VI. OPEN ISSUES
Most of the proposed coverage protocols assume nonrealistic assumptions about the underlying system model. In the following paragraphs, we discuss those issues in details. Furthermore, we discuss other relevant issues that affect the performance of the coverage protocols.

A. Realistic Sensing Model
Majority of the existing coverage protocols use the simple and ideal boolean sensing model. However, it is unlikely that sensing signals drop suddenly from full-strength to zero, as assumed by the boolean sensing model. In reality, the sensing range around a sensor is not uniformly distributed.As a result, one the following problems will likely arise: • The boolean sensing model may not fully represent the sensing capacity of the sensors as there might be case that points located beyond the defined uniform sensing range are already covered. Consequently, network lifetime is decreased because more (redundant) sensors than required are kept active. • On the other hand, boolean sensing model may also overestimate the sensor's sensing capacity by assuming that all the  [47] 2015 Create equally balanced clusters/Area coverage Boolean Yes CPCP [48] 2009 Clustering/Area coverage Boolean Yes ECDC [24] 2014 Increase coverage rate/Point/Area coverage Boolean Yes MOEAD-CCP [?] 2014 Clustering/Full area Coverage Boolean Yes NSGA-CCP-3D [50] 2018 Clustering/Full area Coverage/3D WSN Boolean Yes points located within its uniform sensing range are covered. This in turn may result in coverage holes in the network and the coverage requirement of the application is not met. The Elfes sensing model II.C.4.a was proposed to solve those problems by defining two sensing ranges for a sensor. However, the coverage area for each sensing range is still uniformly distributed and hence it shares the same problems as the boolean sensing model.
Several empirical studies have shown that the shape of the sensing area of a sensor may not be a regular disk [53]- [54] The impact of location errors, sensing signal irregularity and packet loss on the Coverage Configuration Protocol [55], CCP, were studied and investigated in [53]. Experimental results shown that CCP performance degrades with the location errors increase, sensing signal irregularity and packet losses. Moreover, the impact of radio irregularity on the sensor communication was confirmed and quantified in [56]. According to [54], the radio irregularity in WSNs is caused by three main factors: • Anisotropy: A signal transmitted by a sensor node experiences various path losses at different directions. • Continuous variation: The signal path loss varies continuously with incremental changes of the propagation direction from a transmitter. • Heterogeneous sending powers: Sensor nodes may transmit radio signals at different sending powers, even though they are from the same manufacturer. This is caused due to the hardware differences between sensors and different battery level of the sensors.
The shadow fading sensing model was proposed as a first attempt to construct a more realistic sensing model by simulating the path loss around the sensors. However, a careful look at the coverage protocols in the literature will reveal that this model has rarely been used to model the coverage of the sensor in WSNs. Moreover, the shadow fading sensing model is isotropic in the sense that the path losses in different directions are the same [54]. To illustrate this, the path loss at distance d, P L(d) is calculated using the following equation [57]: where d is the distance from the sender, d 0 is the reference distance, P L(d 0 ) is the path loss at a reference distance d 0 , β is the path-loss exponent, N (0, σ) is a zero-mean Gaussian random variable with standard deviation σ. The Radio Irregularity Model (RIM) was proposed in [54] to simulate the three factors that cause radio irregularity in WSNs. In RIM, the irregularity of a radio pattern is denoted by parameter Degree of Irregularity, DOI. DOI is defined as the maximum path loss percentage variation per unit degree change in the di-rection of radio propagation. Accordingly, the path loss model is modified based on the DOI to generate 360 different path loss values for different directions. In RIM, the DOI-adjusted path loss at direction θ and distance d, P L(d, θ) is calculated using the following equation [57]: where K θ is the path-loss coefficient at direction θ and is computed as follows: where |K 0 − K 395 | < DOI, B(n, p) is a Binomial random variable with n trials and success probability p, and W (b 1 , b 2 ) is a Weibull random variable with scale parameter b 1 and shape parameter b 2 .
RIM is a thoughtfully designed model that reflects the signal irregularity phenomena in WSNs [57], [58]. It has been used and studied recently in many WSNs protocols such as [57], [59]- [60]. However, most of these protocols focus on localization methods or link quality estimation. To the best of our knowledge, RIM has not yet been studied or used to model the coverage problem in WSNs.

B. Realistic Coverage-aware Clustering Protocols
Clustering sensor nodes is an efficient topology control method to maximize the network's energy efficiency. Many clustering protocols have been used in various WSNs applications. However, most of these protocols focus only on selecting the optimal set of CHs to reduce or balance the energy consumption of a given network, while how to cover the network area effectively is overlooked. Moreover, the performance of these protocols is limited by the challenges on determining an accurate radio model for the sensor nodes in the network. A commonly employed energy consumption model is presented in [61] and [62]. The energy consumption in this model is calculated as follows: where E elec stands for the energy consumption required to run the transmitter or the receiver circuitry. d 0 is the distance threshold. ε fs and ε mp are the required energies for amplification of transmitted signals in the open space and the multi-path models, respectively. However, this energy model presented in [61] and [62] is idealized and fundamentally flawed for modelling radio power consumption in sensor networks. It ignores the listening energy consumption, which is known to be the largest factor to expend energy in WSNs [61]- [63]. Moreover, it assumes that the communication range between any pair of sensor nodes is infinite. A discrete radio model should be used for more accurate and realistic calculation of the power consumption and to determine which links between sensor nodes are available for transmission [61]- [63]. A realistic energy consumption model based on the characteristics of the Chipcon CC2420 radio transceiver data sheet [64] can be used to model the energy consumption in coverage protocols. The total energy consumed by node i, E i , is calculated as follows [65]: The index statej refers to the energy states of the sensor: Sleep, reception, or transmission. P statej is the power consumed in each statej, and t statej is the time spent in the corresponding state. Moreover, the energy spent in transitions between states, E transitions , is also added to the node's total energy consumption. The different values of P statej and E transitions can be found in [64].
Although recent efforts have been made to develop clustering protocols under realistic energy consumption models such as [66]- [67], further enhancement on energy-efficiency may be obtained if these solutions have adopted a sleep-scheduling mechanism before or after the clustering process. Furthermore, to enhance the network's energy efficiency, integrated solutions that are based on realistic energy as well as sensing models to address coverage problems using clustering approaches should be investigated.

C. Realistic Connectivity Model
As discussed earlier in Section II.B.3, both coverage and connectivity problems should be jointly investigated [21]- [22]. Indeed, there are many previously proposed protocols that consider both of these problems simultaneously [16], [17], [37], [55]. However, these protocols use the distance between two sensors as the metric to evaluate a link quality. Moreover, most of these protocols assumed that the network connectivity will be guaranteed if full area coverage is achieved and the communication range is at least twice the sensing range [22], [68]. However, these assumptions suffer from the following two problems: • In order to calculate the distance between two nodes, each node should be equipped with either a locating aware device such as a global positioning system (GPS) or a distance measuring device, which in turn, renders a more expensive solu-tion [69]. • Link asymmetry is an important characteristic of WSNs. Using the distance between two nodes as a link quality metric fails to consider this fact. Several studies have shown that link quality in WSNs is not necessarily correlated with distance [70]- [71].
Two other prominent link-quality metrics are the RSSI and LQI. These metrics are provided by most of the wireless sensor chips [72]. The RSSI is a parameter that represents the signal strength observed at the receiver at the moment of reception of the packet. The LQI is described as the characterization of the strength and quality of the received packets.
Several studies prove that RSSI can provide a quick and accurate estimate of whether a link is of very good quality [70]- [71]. In [71], the authors conducted empirical measurements of the packet delivery performance of various sensor platforms. They found that there was a strong correlation between RSSI and packet delivery rate (PDR). Furthermore, they proved that if the RSSI of a link is −87 dBm or stronger, it is almost but not completely set to achieve a ≥ 99% PDR. Below this value, a shift in the RSSI as small as 2 dBm can change a good link to a bad one and vice versa, which means that a link is temporality located in a transitional or disconnected region [70].
The symmetry of RSSI and LQI in two directions was studied, and the relation between RSSI and LQI as link quality metrics is analyzed in [72]. Experimental results show a significant correlation between the two directions of the link in RSSI but a weak correlation between the two in LQI. Moreover, statistical tests on the collected data show a significant correlation between RSSI and distance in short distance scenarios, which makes RSSI a routing protocol link-quality metric. Therefore, the RSSI value should be used to assess the quality of a link between any pair of sensors.

D. Sensors Localization
Sensors locations is another fundamental problem in WSNs. Location information of sensors is usually a key input to solve the coverage problem. Many of the previously proposed coverage protocols simplified their solution by assuming that each sensor is location aware given it is equipped with a self-locating hardware such as a GPS. Though this assumption allows the design of simple and efficient solutions, the resulting costs render such solutions ineffective and unrealistic [69]. In order to design more cost effective coverage protocols, no assumption should be made on the location awareness of sensor nodes in the WSNs. That is, alternative solutions using sensors without GPS is consequently highly required.
Many localization protocols have been proposed to enable stationary [73] or mobile sensors [74], [75] to autonomously determine their positions without relying on GPS. Localization protocols can be classified into either range-based protocols or range-free protocols. Range-based protocols assume that the sensors are equipped with a specific measurement device to measure the distance or the angle between themselves and other regular sensors with unknown locations [76]. Unlike range-based protocols, range-free localization protocols rely on the network connectivity to estimate the sensors positions. Due to this reason, range-free localization protocols have recently received the attention of the research community. Many rangefree localization protocols have been proposed in the literature. However, most of them do not consider the anisotropic nature of WSNs [77], [78].
Despite the close relationship between the coverage problem and the localization problem, they have been discussed and evaluated separately. It is beneficial to design protocols that solve the localization problem and the coverage problem under the same settings consistently. For example, range-free localization protocols adopted for anisotropic WSNs should be followed by a realistic coverage control protocol.

E. Transmission Power Control
A method to significantly reduce the energy consumption in WSNs is to apply transmission power control (TCP) techniques to adjust the transmission power [79], [80] of sensors dynamically. Traditionally, sensor nodes transmit packets at the same power level that is normally the maximum possible power level. However, a node transmitting packets at the highest power level generates too much interference in the network and consume more energy than necessary [81], [82]. In the case of communication between two nodes that are close to each other, a low transmission power is sufficient. This power level should be high enough just to guarantee the connectivity and low enough to save energy and minimize network interference. Although both coverage problem and TCP techniques have been studied extensively separately, only a few protocols considered them in a joint way such as [83]- [84]. However, most of these protocols assumed that all sensors are equally equipped with the same transmission range and sensing range. Our intuition is that relaxing such assumptions will affect the protocols' performance. Therefore, embedding TPC techniques into existing coverage protocols in order to develop more energy-efficient coverage protocols should be investigated.

F. Coverage Protocols using Evolutionary Computation
As analyzed in detail in Sections III and IV of this paper, there are many EC-based protocols that have been proposed to solve the coverage problem in WSNs. However, developing solutions with high-performance EA for the coverage problem in WSNs remains an open issue.

F.1 Individual/Solution Representation
One of the basic features of EA is that it maintains a population of individuals that represent possible solutions to a problem [85]. One of the critical issues in designing efficient EAbased protocols is how to represent and encode, more efficiently, each potential individual/solution in the population. Most of the proposed EA-based coverage protocols start with random initialization which may result in many infeasible solutions that may not satisfy some of the problem constraints, such as the connectivity to the BS [86]. This, in turn, will affect the search performance and may lead to solutions that achieve less than optimal results. Therefore, there is a need to find new individual/solution representation schemes.

F.2 Parameter Settings
How to determine the parameter settings for the adopted EA is another important issue. Most EA-based protocols assumed default values for setting the parameters of their adopted EA. That is, the impact of parameter setting may have on the results is often ignored. Results show that even running the same protocol may produce results that are quite different under different parameter settings [86]. For example, in order to solve the coverage problem in an increased dimension (i.e., increased network size) it is necessary to increase the population size as well as the number of iterations executed by the EA.

F.3 Improved Metaheuristic Approaches
Many EAs face challenges such as poor exploitation, and slow convergence rate. This explains the increasing need for adopting hybrid and improved EA [87]. Improved solution search equation should be adopted to improve the exploitation capabilities of different EAs.

F.4 Multi-objective Approach
It should also be noted that most of the EA-based protocols use the weighted-sum approach when formulating the multiple objectives of the coverage problem in WSNs. Using the conventional weighted-sum approach in multi-objective optimization is computationally efficient and straightforward to implement [88]- [89]. It has been widely used because of its simplicity. However, it is known that this approach has the following problems [90]- [91]: • This approach results in only one optimal solution. • This approach can not find the optimal solution when the feasible solution set in the objectives domain is not convex. • The choice of the weight vector can highly affect the obtained solutions and make them more biased towards one subobjective than another. These problems are particularly critical if the objectives are conflicting or must be handled simultaneously. In those cases, the concept of the optimal solution changes because the end goal becomes to select one from a set of good trade-off solutions. Such selection is usually difficult and done manually by the decision makers.
Moreover, many other WSNs problems such as deployment, localization, clustering, and connectivity are also formulated as optimization problems. A solution that simultaneously solves all or more than one of such problems is a multi-objective task. Hence, we define the WSNs lifetime maximization problem as a comprehensive problem of minimizing the energy consumption in all sensor network stages, i.e., deployment, localization, clustering, coverage, and connectivity. A multi-objective optimization framework should be developed to solve this problem. However, finding an individual encoding which reflect a joint solution for all these problems is a challenging task [15]. In order to apply the multi-objective approach in the WSNs lifetime maximization problem, a new individual encoding scheme which represents a joint solution for all the above-mentioned problems should be studied.

VII. CONCLUSIONS
Recently, many new solutions have been proposed to solve the coverage problems in WSNs. In this survey, we presented a thorough and up to date review of these coverage protocols. We found that the performance of these protocols is mainly limited by challenges related to determining a more realistic coverage model for the sensor nodes in the networks. More specifically, most of the proposed coverage protocols rest on less realistic assumptions such as location awareness and uniformity of the signal strengths within a sensing and/or a communication range. Furthermore, most of these protocols use an idealized energy consumption model. We believe that a discrete radio model should be used to achieve a more accurate and realistic calculation of the power consumption to enable a better link selection for transmission.
Motivated by the aforementioned concerns, we carefully study, compare and analyze in detail all known coverage protocols on different design factors/features. Finally, we point out open problems and future research directions such as addressing coverage problem in a more realistic sensing model that reflects the anisotropic properties of WSNs. Most importantly, we conclude that network connectivity is a crucial factor that must be taken into consideration in designing future solutions.
Wei Shi is an Associate Professor in the School of Information Technology, cross appointed by System and Computer Engineering in the Faculty of Engineering and Design at Carleton University. She is specialized in algorithm design and analysis in distributed environments such as data centers, clouds, mobile agents and actuator systems and wireless sensor networks. She has also been conducting research in data privacy and big data analytics. She holds a Bachelor of Computer Engineering from Harbin Institute of Technology in China and received her Master's and Ph.D. of Computer Science degrees from Carleton University in Ottawa, Canada. She has published over 60 articles in reputable conferences and journals. She is also a Professor Engineer licensed in Ontario, Canada.
Marc St-Hilaire joined Carleton University in 2006 upon completion of his Ph.D. in Computer Engineering, from Polytechnique Montreal. He is currently an Associate Professor with the School of Information Technology with a cross appointment with the Department of Systems and Computer Engineering at Carleton University. He is conducting research on various aspects of wired and wireless communication systems. More precisely, he is interested in network planning and infrastructure, network protocols, network interconnection, and performance analysis. With more than 130 publications, his work has been published in several journals and international conferences. Finally, he is actively involved in the research community. In addition to serving as a Member of Technical Program Committees of various conferences, he is equally involved in the organization of several national and international conferences and workshops. He is also a Senior Member of the IEEE.