## LADC'2011

- LADC 2011
- Open Access
- Published:

# Energy-aware test connection assignment for the self-diagnosis of a wireless sensor network

*Journal of the Brazilian Computer Society*
**volume 18**, pages 19–27 (2012)

## Abstract

Sensor nodes in *Wireless Sensor Networks* (WSNs) are prone to failures due to the fragile hardware, malicious attacks, or hostile or harsh environment. In order to assure reliable, long-term monitoring of the phenomenon under investigation, a major challenge is to detect node malfunctions as soon as possible and with an energy efficient approach. We address this problem by using a system-level diagnosis strategy in which the sink issues to the WSN a self-diagnosis task that involves a number of mutual tests among sensors. Based on the test outcomes, the sink executes the diagnosis procedure. This work presents an algorithm for the assignment of tests among the sensors of a WSN that assures the desired system diagnosability and that is aware of energy consumption. We show by simulation experiments that the present approach, as compared to a previous one, enables consistent energy savings on the sensors.

## Introduction

A plethora of applications of Wireless Sensor Networks (WSN) [1], including medical diagnosis, infrastructure monitoring, environmental sensing, between others [5, 9, 16] incur on reliability issues. Corke et al. [9] emphasises the need for software utilities and hardware tools to remotely control and monitor deployed nodes and networks in such a way that slow degradations in transducer performance or battery capacity, for example, are detected and rectified. In this paper, we are concerned with an energy-aware testing approach for identifying node malfunctions in a WSN. As in [28], we adopt a *system-level diagnosis* strategy in which we assume that extreme readings produced by presumable faulty sensors are detected by the sink, which establishes a connection assignment, i.e., that requests the execution of a set of mutual tests in the neighborhood of the nodes under monitoring. The results of such tests are collected by the sink which, in turn, executes a diagnosis algorithm in order to detect the faulty sensors (if any).

The field of *system-level diagnosis* has evolved from the work of Preparata, Metze, and Chien, which proposed the first diagnosis model, known as PMC [19]. In the PMC model, a system is considered as a set of units that are able to execute mutual tests among themselves. The system is represented as a directed graph where vertices represent the system units, and a testing link exists between units *u*_{
i
} and *u*_{
j
} if there is a communication link between them and unit *u*_{
i
} tests unit *u*_{
j
}. The set of test outcomes, known as the *syndrome*, is decoded by a centralized system supervisor. Preparata et al. [19] and later Hakimi and Amin [14] characterized the PMC model stating the topological properties of the diagnostic graph under which a system is diagnosable. An efficient syndrome decoding algorithm for the PMC model able to identify all faulty units was proposed by Dahbura–Masson [12]; another algorithm able to identify almost all faulty units was later proposed in [4].

Although many system-level diagnosis approaches have been proposed so far [2, 3, 13, 20, 23], the fact that the PMC model relies on a central supervisor finds applicability in WSN due to the presence of the sink that can collect and process the diagnostic information.

The present work considers the problem of building a connection assignment of the sensors in a WSN in order to ensure an energy-aware diagnosable system. The PMC model defines a system of *n* units as *t*-diagnosable if all faulty units can be diagnosed provided the number of faulty units does not exceed *t* [19] (*t* is also called the *diagnosability* of the system). In order to diagnose *t* units, the following conditions must hold: (*c*1) the number *n* of units in the system must be greater than or equal to 2*t*+1, and (*c*2) a unit must be tested by at least *t* other units [19].

The conditions (*c*1) and (*c*2) above are necessary and sufficient for *t*-diagnosability provided there are not reciprocal tests, i.e., no two units test each other. On the other hand, if there are units that test each other, a third diagnosability condition is formulated in replacement of (*c*2) [14], for which a corollary is given: (*c*3) let *G* be a digraph of a system of *n* units; if *κ*(*G*) ≥*t* then the system is *t*-diagnosable, where *κ*(*G*) stands for the connectivity of *G*, i.e., the minimum number of vertices whose removal disconnects *G* [10].

Specifically, we present an heuristic that chooses the set of sensors to be involved in the tests in order to meet the conditions above. This heuristic, called *Energy Efficient Test Assignment without reciprocal tests* (EETA) builds over our preliminary work [28].

The rest of this work is organized as follows: the next section presents related work. Sections 3 and 4 present the diagnostic model and the energy model, respectively. In Sect. 5, the energy efficient test strategy is described. In Sect. 6, simulation results are evaluated in comparison with a previous approach. Section 7 presents concluding remarks.

## Related work

The work of Corke et al. [9] is concerned with outdoor applications of wireless sensor networks involving natural environment or agriculture like microclimate monitoring for farms and rain forests, water-quality monitoring and cattle monitoring and control. Nevertheless, the work also addresses the challenges faced by the authors to ensure the reliability of the deployed sensors and networks. For soil moisture monitoring application, the sensor board includes power supply, solar charging circuit, and sensing for on-board temperature, battery voltage and charging current. In rainforest monitoring, in the default mode of operation, all energy for the devices come from rechargeable batteries working in combination with solar panels. In the event no further energy is harvested for long periods, the system switches to nonrechargeable energy supply when the rechargeable battery voltage falls below a threshold, and switches back whenever this voltage rises again. In a lake water quality monitoring application, a robot is used to crosscheck the calibration of deployed nodes using its own higher quality temperature transducer in such a way that anomalous events detected by the network are automatically investigated.

In [6], Chessa and Santi present a comparison based testing strategy in which the diagnosis model exploits the one-to-many communication paradigm typical of ad-hoc networks. Both hard and soft faults are considered and the diagnosis is based upon comparison of the results generated by testing tasks assigned to pairs of units with a common neighbor.

In [27], the problem of determining a connection assignment of the sensors in a WSN is considered. Two strategies are shown, one for the scenario in which reciprocal tests among sensors are possible and other for the scenario in which there are no reciprocal tests. In both cases, a square region *R* which encloses all sensors that raised an alarm is considered. The testing strategies establish the way the sensors in the region *R* coordinate actions to perform the testing tasks. The strategy with reciprocal tests defines that a sensor must test all its neighbors, and considers that the number of sensors in region *R* is big enough to reach the desired diagnosability. In the strategy without reciprocal tests, the region *R* is partitioned into four quadrants of equal size. Sensors present in the same quadrant do not execute reciprocal tests. The sensors in one quadrant ask for tests to the sensors in the successor quadrant and they are asked for tests by the sensors in the predecessor quadrant. Simulations show for which topological properties of the diagnostic graph a desired level of system diagnosability is ensured for both strategies. More details of the approach presented in [27] are shown in Sect. 6.

Some works fit the research trend of diagnosis in WSN. In [30], the authors propose a comparison-based fault locating arithmetic for multisource network cluster nodes. The approach is based on layer-built topology structure and one-to-many communication mode. In [8], the authors present a distributed adaptive scheme for detecting faults in WSN where each node makes a local decision based on comparisons between neighbors, along with the dissemination of the decision to them. Time redundancy is used to enhance the accuracy of detection and tolerate transient faults in sensing and communication.

Energy-aware testing strategies are presented in [7, 24], and [25]. In [7], Chessa and Santi proposed an energy-efficient fault diagnosis protocol for wireless sensor networks. This protocol, called *WSNDiag*, is capable of diagnosing *crash* faults. *Crash* faults are permanent and the faulty sensors can not do any kind of communication. The diagnosis process begins after a fault-free sensor, or an external unit, asks for the diagnosis. Thus, the diagnosis works on demand, resulting in an economy of energy for the whole system. The protocol is capable of correct diagnosis in a system with up to *t* faulty units, where *t*<*k*(*G*) and *k*(*G*) stands for the connectivity of the system. In [24], an energy-efficient distributed approach improves network lifetime by detecting data faults locally in cluster heads. The type of data faults is identified by using trust and reputation concepts. The sensors that belong to the same cluster share and compare their readings. From these comparisons, each sensor generates a set of possible faulty neighbor sensors. The cluster head verifies which sensors present more fault indications to find the set of possible faulty sensors in the cluster. In [25], another energy-efficient cluster-based approach avoids performance degradation aiming at detecting in advance the failures that may cause connectivity loss.

Some other works relevant to ours study topological properties of networks. In [18], a formal proof is presented for the minimum degree a network must have in order to be *k*-connected with high probability provided the number *n* of the nodes in the network is big enough. In [29], the authors show how many neighbors the nodes of a network with *n* randomly placed nodes should be connected to in order to the overall network to be connected. The problem of determining the critical transmitting range (CTR) for connectivity in mobile ad hoc networks is studied in [22]. In this work, Santi investigates the relations between the CTR in case of stationary networks with uniformly distributed nodes and two other cases. The first is the CTR in the presence of M-like node mobility (where M is an arbitrary bounded and obstacle free mobility model) and the second is the case of RWP mobility [15] (which is the most common mobility model used in the simulation of ad hoc networks).

## Diagnostic model

In our model, we consider a WSN composed of sensors deployed in a sensing area with uniform distribution. We assume that the topology of the WSN is known to the sink. We also assume that each sensor knows its geographical coordinates within the sensing area and that this information is known to the sink. The WSN is modeled as the system graph *G*=(*V*,*E*) where each vertex *v* in *V* represents a sensor and an edge (*v*_{
i
},*v*_{
j
})∈*E* if and only if *v*_{
i
} and *v*_{
j
} ∈*V* are within the transmission range of each other.

The sensors perform a monitoring task aimed at raising an alarm when they detect anomalous events (for example, in agriculture, the sensors may check for the level of some chemical reactants in a large cultivated area and raise alarms when such level exceeds a given threshold). The alarms are sent to the sink, which before forwarding the alarm to the user, start a diagnosis procedure to check for their correctness. The diagnosis procedure may also be started by the sink on demand or when anomalous readings are reported by a set of sensors. We assume that a set *T* (of cardinality *t*) of sensors have had their readings reported. In response, the sink asks a number of mutual tests among a set of nearby sensors *Q*, where *T*⊂*Q*.

The nature of the test is application dependent; in WSNs, some of the most common causes of failures include sensor calibration faults, hardware faults due to harsh environments, connection failures, low battery, between others [26]. In general, a test (*v*_{
i
},*v*_{
j
}) consists of a set of input stimuli that are produced by the testing sensor *v*_{
i
} and sent to the tested sensor *v*_{
j
}. In turn, *v*_{
j
} produces a test result that is sent back to *v*_{
i
}. Finally, *v*_{
i
} compares the output produced by *v*_{
j
} with the expected output and it produces the test result that is a binary outcome: it is 0 if the two results match (and then the test succeeds), and it is 1 otherwise (i.e., the test fails). As in the PMC model it is assumed that the outcome of a test performed by a fault-free sensor is always reliable (i.e., it is 0 if the tested sensor is fault-free and it is 1 if the tested sensor is faulty), while it is completely unreliable if the testing sensor is faulty. All the test outcomes are finally collected by the sink and decoded by using a suitable diagnosis algorithm.

In the PMC model, the execution of the test requires a bidirectional link between *v*_{
i
} and *v*_{
j
}. However, as observed in [6], in WSN the tests may also be executed in presence of unidirectional links. In particular, a sensor may start a self-test on a predefined set of stimuli and it may send the output to another sensor that compares it with the expected results. Clearly, this second test model does not require a bidirectional communication link between the tested and the testing sensors, but it is sufficient only that the tested sensor be able to send its output to the tester. In this paper, we consider tests executed in presence of unidirectional links, and the case in which there are no reciprocal tests. Thus, the diagnosability can be derived by conditions (*c*1) and (*c*2) described in Sect. 1.

Our goal is for the sink to define a test connection assignment to be used by the sensors to perform the tests. The connection assignment is a testing graph *D*=(*V*_{
D
},*E*_{
D
}), where *V*_{
D
}⊂*V*, *E*_{
D
}⊂*E* and an edge (*v*_{
i
},*v*_{
j
})∈*E*_{
D
} if and only if *v*_{
i
} tests *v*_{
j
}. We define *n* as the cardinality of *V*_{
D
}.

The heuristic for the definition of the graph *D* also seeks for the reduction of the energy consumption needed for the execution of the tests. This is obtained by limiting the number of sensors that take part in the testing procedure. The selection of the sensors of *V*_{
D
} also takes into account their geographical position in order to minimize the distance between the tested and testing sensors. This ensures tests with smaller energy cost.

For the definition of the testing graph *D*, the sink at first identifies the geographic region *R* where the readings were generated. This region is defined as the smallest rectangular area that comprises all of the sensors in *T*. Figure 1 shows an example of the definition of the region *R* with *t*=3. In the figure, circles represent sensors. Sensors shown with an “X” belong to *T*.

The sensors in *V* are divided into 4 groups, or quadrants, using the point *R*_{
c
}, the center of region *R*, as the basis for the division. Figure 2 shows an example of the division of the network into quadrants. We define *V*_{
i
} as the set of sensors present in quadrant *i* (*i*=0,…,3). Thus, we have *V*=*V*_{0}∪*V*_{1}∪*V*_{2}∪*V*_{3}.

Similarly to [27], tests are executed in a predefined order between the quadrants, which ensures that reciprocal tests do not occur. Each quadrant has two neighbors. In a counterclockwise order, they are called the predecessor quadrant and the successor quadrant. As opposed to that strategy, in which the sensors seek for *t* testers between the sensors in the successor quadrant and build the testing graph in a distributed way, in the present strategy the sensors of *V*_{
D
}, defined by the sink, execute a predefined diagnosis task, whose output is sent to their testing sensors located in the predecessor quadrant. These sensors, in turn, send the binary outcome to the sink.

It should be observed that, in order for the diagnostic graph *D* to be *t*-diagnosable, the conditions (*c*1) (i.e., that *n*≥2*t*+1) and (*c*2) (i.e., the indegree of each vertex in *D* is at least *t*, or, in other words, each sensor is tested by at least *t* other sensors) should be met [19].

## The energy model

In order to estimate the energy consumption of a given testing assignment, we consider the one-slope model [17], a widely used propagation model in wireless communications. This model assumes a linear dependence between the path loss (dB) and the logarithm of the distance d between the transmitter and the receiver, as expressed in 1:

where *l*_{0} is the path loss at a reference distance of 1 meter (though the paper we express distances in meters), and *α* is the power decay index (also called path loss exponent). In general, to ensure a communication between a transmitter *t* and a receiver *r* placed at distance *d* from each other it is necessary that the packet sent by *t* reaches *r* with a power level higher than the sensitivity of the receiver. In other words, letting *E*_{
t
} be the transmission power of the transmitter, *E*_{
r
} the power of the signal at the receiver (where *E*_{
r
} depends on *E*_{
t
} and the distance *d*), and Em be the sensitivity of the receiver, must be *E*_{
r
}>*E*_{
m
}.

By (1) must be

Introducing *E*_{
r
}>*E*_{
m
} in 2, we obtain that the minimum transmission power *E*_{
t
} at the transmitter that ensures that the packet reaches the receiver with the required power is

Now (3) depends on the distance *d*, the sensitivity of the receiver and the parameters *l*_{0} and *α*. For the latter parameters, we take in the simulations typical values [21] (in particular, we set *l*_{0}=10 and *α*=3), while *E*_{
m
} depends on the actual hardware of the WSN.

From (3), it follows that the energy spent grows polynomially with the distance *d*, with an exponent equal to *α*.

## The energy efficient testing strategy

The Energy Efficient Test Assignment without reciprocal tests (EETA) algorithm builds the testing graph *D* by taking into account the total energy cost needed for the sensors to execute all the tests of the connection assignment. To this purpose, EETA defines *C*_{i,j} as the energy cost spent by the sensors *v*_{
i
} and *v*_{
j
} when the sensor *v*_{
i
} executes a test over the sensor *v*_{
j
}.

Initially, EETA initializes set *V*_{
D
} as the set of sensors in region *R*. Considering the division in four quadrant of the WSN, also *R* results divided in four quadrants accordingly. As a result also the sensors in set *V*_{
D
} can be considered split into four subsets, each corresponding to a quadrant. Specifically, we define *Q*_{
i
} (with 0≥*i*≤3) as the set of sensors positioned in quadrant *i* and selected for the connection assignment. Thus, we have *V*_{
D
}=*Q*_{0}∪*Q*_{1}∪*Q*_{2}∪*Q*_{3}, with *Q*_{
i
}⊂*V*_{
i
}.

In order to satisfy the conditions stated in Sect. 3, each of the *Q*_{
i
} must be composed of at least *t* sensors (with the sensors of *T* included). With *t* sensors in each quadrant, each sensor can be tested by *t* others (*c*2) and the number of sensors that participate to the diagnosis is sufficient to satisfy (*c*1), once we have 4*t*≥2*t*+1. As long as the testing strategy tries to diminish the number of sensors in *V*_{
D
}, we have *n*=4*t*, the minimum *n* required in our heuristic. Furthermore, the distance to *R*_{
c
}, the center of region *R*, is also taken into account to choose the sensors in *V*_{
D
}.

Note that the initial selection of *V*_{
D
} may not be sufficient to ensure that *t* sensors per quadrant are chosen, hence, in this case, other sensors outside *R* should be added to *V*_{
D
}. However, in cases where the region *R* is near the border of the network, it may not be possible to have at least *t* sensors in each quadrant. In order to guarantee the number of testers per quadrant, the center *R*_{
c
} of the region *R* is then shifted toward the center of the network and *R* is enlarged accordingly.

The total energy cost spent by the tests made by the sensors present in quadrant *i* is defined as , i.e., ∀(*v*_{
i
},*v*_{
j
})∈*E*_{
D
}∣*v*_{
i
}∈*Q*_{
i
} and . We also define the total energy cost spent by all tests made by *D* as *C*_{
T
}(*D*). Thus, we have . The selection of sensors of *V*_{
D
} is made to minimize the total energy consumption by tests between sensors.

For the diagnosis to be possible, condition (*c*2) must be fulfilled. As |*Q*_{
i
}|=*t*, we can conclude that a sensor *v*_{
k
}∈*Q*_{
i
} will test all sensors present in , i.e., *E*_{
D
}={(*v*_{
k
},*v*_{
l
}) ∀ *v*_{
k
}∈*Q*_{
i
} and for *i*=0,…,3}.

It should be observed that edge (*v*_{
i
},*v*_{
j
})∈*E*_{
D
} may not exist initially in *E*, i.e., the sensor *v*_{
i
} may not be on the transmission range of the sensor *v*_{
j
}. In order to make possible that the sensor *v*_{
i
} tests *v*_{
j
} it is necessary that the transmission range of *v*_{
j
} be tuned. So the sink asks the sensors that are not neighbors of their testing sensors, i.e., that make and edge in *E*_{
D
}, to augment their transmission ranges (i.e., the transmission power) in order to enable the test. The underlying assumption is that the network is dense and large and *t* is relatively small with respect to the network density so that the cases in which a sensor must augment its transmission power is unlikely to happen.

In order to permit that the selection of sensors in each quadrant makes the reduction of *C*_{
T
}(*D*) possible, an initial heuristic is used. At first, the sensors in *T* are selected for each of the quadrants in which they are positioned, since those sensors must participate to the testing procedure. Thus, we define *T*_{
i
} as the set of sensors of *T* geographically positioned in quadrant *i*. The cardinality of *T*_{
i
} is equal to *t*_{
i
}. Thus, we have *T*_{
i
}⊂*Q*_{
i
} and . Considering the energy model presented in this work, the energy cost needed for the execution of a test grows polynomially with the geographic distance between the sensors. Thus, if sensors that are geographically near are selected for *V*_{
D
}, we have a higher probability of generating a testing graph *D* with a value of *C*_{
T
}(*D*) that is reduced.

The initial selection of sensors in *V*_{
D
} is thus based on the distance of the sensors to a common point, *R*_{
c
} in this case. Based on this principle, *Q*_{
i
} is initially formed by the *t*_{
i
} sensors of *T*_{
i
} and the *t*−*t*_{
i
} sensors of the quadrant *i* geographically nearer from *R*_{
c
}. Thus, *V*_{
D
} is formed mainly by sensors near to *R*_{
c
}. Figure 3 shows an example of the definition of the set *V*_{
D
}. Black bullets represent sensors that belong to *V*_{
D
}. It should be observed that the simple strategy of picking up any initial set of *t* sensors does not lead to an optimal solution.

Even though the initial heuristic has the goal of selecting the nearest sensors to the point *R*_{
c
}, it should be observed that a sensor *v*_{
k
}∈*T*_{
i
} may be farther from *R*_{
c
} than a sensor *v*_{
l
}∈(*V*_{
i
}−*Q*_{
i
}). Nevertheless, every sensor *v*∈*T* must participate to the diagnosis procedure, regardless of its distance to the point *R*_{
c
}.

Although the sensors selected by the initial heuristic are the nearest from the center of *R*, farther sensors may be less distant from the majority of sensors present in their predecessor and successor quadrants, and may produce smaller test costs. This case can be seen in Figs. 4 and 5. In the example of the figures, the exchange of a sensor farther from *R*_{
c
} than another, but nearer from the majority of the chosen sensors in the neighbor quadrants may diminish *C*_{
T
}(*D*). In order to evaluate the possible sets of sensors that guarantee a minor value for *C*_{
T
}(*D*) than that obtained by the initial heuristic, an algorithm is executed.

Consider the sensors *v*_{
k
}∈*V*_{
i
} and *v*_{
l
}∈*V*_{
i
}. The sensor *v*_{
k
} is defined as the sensor farthest from *R*_{
c
} that belongs to *Q*_{
i
}, and *v*_{
l
} is defined as the sensor geographically nearest to the sensor *v*_{
k
}, and farther from *R*_{
c
} than *v*_{
k
}, so that *v*_{
l
}∉*Q*_{
i
}. In other words, *v*_{
l
} is the sensor nearest from *R*_{
c
} that was not selected for *Q*_{
i
}. The algorithm consists in verifying if the exchange of any sensor *v*_{
n
}∈*Q*_{
i
} by the sensor *v*_{
l
} produces a reduction in *C*_{
T
}(*D*). The exchange that produces the higher reduction in *C*_{
T
}(*D*) is performed. The process is repeated searching for other possible exchanges and is finished once the exchange of a sensor *v*_{
n
}∈*Q*_{
i
} by any sensor *v*_{
l
}∉*Q*_{
i
} does not generate a reduction in *C*_{
T
}(*D*).

This process is performed in all of the quadrants, one quadrant at a time, i.e., at first the possible exchanges are verified in quadrant 0, until no exchange is performed, then the process is initiated in quadrant 1, and so on. The strategy is finished when there is no exchange in any of the four quadrants.

Although the quadrants may be visited more than once in the searching for possible exchanges, the strategy is finite once at some point every farther sensor will produce a higher cost. It is also clear that this heuristic iterates at most a number of times equal to the number of the sensors in the network.

## Evaluation

In this section, simulation results whose goal is to evaluate the energy consumption of the testing strategy are presented.

The simulation results presented in this section show a comparison analysis of the energy consumption between the strategy with no reciprocal tests presented in [27], TAWR (Test Assignment Without Reciprocal tests), and the EETA heuristic.

TAWR [27] divides the region *R* into four quadrants. Sensors of a quadrant ask for tests for sensors on the successor quadrant and test sensors on the predecessor quadrant. Thus, the sensors themselves define the testing graph. Furthermore, the test procedure is not based on a self-test as in EETA, which produces greater information exchange between the sensors and thus greater overhead. More specifically, in TAWR each node asks for tests broadcasting a message seeking for testers. Sensors in the neighbor quadrant that receive the messages answer sending testing stimuli. Then the tested sensors send test replies to the testers. Thus, the overhead is greater than that of EETA, in which the sink defines the testers of each node and the tested sensors send replies to a predefined set of testing stimuli.

In all of the simulations, networks of size 100×100 m^{2} composed of 512 and 1024 sensors are considered. For each simulation experiment, a region with 10% of the total size of the network is randomly defined. *t* sensors of this region are randomly selected as the sensors of *T*. Experiments were run for the following values of *t*: 5, 8, 10, 12, and 15.

For each set of input values, a set of 100 different random network graphs were generated. For each graph, the simulator creates the diagnostic graph *D* and calculates the energy cost *C*_{
T
}(*D*), based on the models presented in Sects. 4 and 5.

In EETA, the cost of a test executed by sensor *v*_{
i
} on sensor *v*_{
j
} at a distance *d* from each other is computed as the sum of the energy spent by *v*_{
j
} to send the output sequence of a self-test to *v*_{
i
}, and by *v*_{
i
} to receive such outcome. In particular, for each packet sent we consider (3) instantiated with typical values of class mote sensors, taken from their datasheets [11], and we make the assumption that each test involves 100 packet’s transmissions.

In TAWR, the testing links are bidirectional, as in the traditional PMC model. Thus, the cost of a test executed by sensor *v*_{
i
} on sensor *v*_{
j
} is equal to the sum of the energy spent sending a test task from sensor *v*_{
i
} to sensor *v*_{
j
} plus the test reply by the tested sensor *v*_{
j
} back to sensor *v*_{
i
}. As opposed to the results presented in [28], in which only the cost of sending an output test sequence was computed for comparison with EETA, in the present work the overall cost of TAWR is taken into account for comparison purposes.

Four sets of experiments were run. Figure 6 shows the ratio between the total energy cost *C*_{
T
}(*D*) consumed by the tests of graph *D* of both strategies, and for different values of *t*. Not surprisingly, the strategy EETA presents smaller *C*_{
T
}(*D*) in all simulation experiments, either on networks with 512 sensors or on networks with 1,024 sensors.

Furthermore, the algorithm of strategy EETA employs a smaller number of sensors in the diagnosis process. Thus, less tests are performed, generating smaller total energy costs *C*_{
T
}(*D*). TAWR uses more than *t* sensors in each quadrant; as *t* sensors are needed for each sensor that participates in the diagnosis that makes *n*>4*t* in that heuristic. Figure 7 shows a comparison between the number of sensors used in the diagnosis process in both strategies. For strategy EETA, a number of 4*t* sensors is always used. For strategy TAWR, on the other hand, the number of sensors used in the diagnosis process increases with the network density. Even though the increase in the network density ensures tests with a smaller cost in both strategies, the use of a greater number of sensors increments the total energy cost in strategy TAWR. It should be observed that in Fig. 7 the results of strategy EETA for 512 sensors and for 1,024 sensors are overwritten, once they are the same (4*t*), i.e., strategy EETA always uses the minimum number of sensors in the diagnosis process. Figures 8 and 9 show the testing graphs generated in each strategy for the same set of initial nodes under monitoring. It should be observed that the number of sensors used by EETA is reduced if compared to the number of sensors used by strategy TAWR.

Figure 10 shows the ratio between the average energy costs used by both strategies. The average cost is calculated by the division of the total energy cost *C*_{
T
}(*D*) by the number of sensors used in the diagnosis process. Similarly to the total energy cost *C*_{
T
}(*D*), the average cost is also smaller for strategy EETA.

The strategies have their maximum costs compared in Fig. 11. The maximum energy cost used by one strategy, *C*_{
M
}(*D*) is equal to the energy consumption presented by the sensor with maximum cost, i.e., between all of the sensors that participate to the process, the sensor with highest energy consumption is chosen. The cost of this sensor is then named the maximum cost of *D*. Thus, we have *C*_{
M
}(*D*)=max(*C*_{
i
}∀*v*_{
i
}∈*V*_{
D
}), where *C*_{
i
} is the total cost presented by the sensor *v*_{
i
}. Again, EETA performs better than TAWR.

## Conclusion

In this paper, we have addressed the problem of building a connection assignment of the sensors in a WSN in order to ensure an energy-efficient test procedure. The EETA heuristic (Energy Efficient Test Assignment without reciprocal tests) is compared with a previous approach named TAWR (Test Assignment Without Reciprocal tests). Both strategies divide the network in four quadrants to construct a testing graph in which reciprocal tests do not occur. However, EETA seeks to minimize the energy consumption of the testing procedure by reducing the number of sensors that take part to the diagnosis procedure and by reducing the distance between them. An energy model is adopted, in which the energy cost of a test between sensors grows polynomially with the distance between them.

Experimental results show that EETA presents total, average and maximum energy costs smaller than TAWR. Furthermore, EETA applies a smaller number of sensors than TAWR. Future work includes simulation experiments to evaluate the scalability of the solution presented, and the comparison with other energy-efficient approaches. We also plan to investigate the fairness in the energy consumption of the sensors, and strategies that assign testing tasks to sensors with more residual energy.

## References

Baronti P, Pillai P, Chook VWC, Chessa S, Gotta A, Hu YF (2007) Wireless sensor networks: a survey on the state of the art and the 802.15.4 and ZigBee standards. Comput Commun 7:1655–1695

Barsi F, Grandoni F, Maestrini P (1976) A theory of diagnosability without repair. IEEE Trans Comput C-25:585–593

Bianchini RP, Buskens RW (1992) Implementation of on-line distributed system-level diagnosis theory. IEEE Trans Comput 41:616–626

Caruso A, Chessa S, Maestrini P (2007) Worst-case diagnosis completeness in regular graphs under the PMC model. IEEE Trans Comput 56(7):917–924

Chen G, Hanson S, Blaauw D, Sylvester D (2010) Circuit design advances for wireless sensing applications. Proc IEEE 98(11):1808–1827

Chessa S, Santi P (2001) Comparison-based system-level fault diagnosis in ad-hoc networks. In: Proc IEEE SRDS 2001, Symposium on Reliable and Distributed Systems, Oct, pp 257–266

Chessa S, Santi P (2002) Crash faults identification in wireless sensor networks. Comput Commun 25(14):1273–1282

Choi J, Yim S, Huh YJ, Choi Y (2009) A distributed adaptive scheme for detecting faults in wireless sensor networks. WSEAS Trans Commun 8(2):269–278

Corke P, Wark T, Jurdak R, Hu W, Valencia P, Moore D (2010) Environmental wireless sensor networks. Proc IEEE 98(11):1903–1917

Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to algorithms. MIT Press, Cambridge

Crossbow Technology Inc. http://www.xbow.com

Dahbura AT, Masson GM (1984) An

*O*(*n*^{2.5}) fault identification algorithm for diagnosable systems. IEEE Trans Comput C-33:486–492Duarte EP Jr., Nanya T (1998) A hierarchical adaptive distributed system-level diagnosis algorithm. IEEE Trans Comput 47(1):34–45

Hakimi SL, Amin AT (1974) Characterization of connection assignment of diagnosable systems. IEEE Trans Comput C-23:86–88

Johnson DB, Maltz DA (1996) Dynamic source routing in ad hoc wireless networks. In: Mobile Computing, pp 153–181

Ko P, Lu C, Srivastava MB, Stankovic JA, Terzis A, Welsh M (2010) Wireless sensor networks for healthcare. Proc IEEE 98(11):1947–1960

Patwari N, Hero AO, Perkins M, Correal NS, O’Dea RJ (2003) Relative location estimation in wireless sensor networks. IEEE Trans Signal Process 51(8):2137–2148

Penrose MD (1999) On k-connectivity for a geometric random graph. Random Struct Algorithms 15:145–164

Preparata F, Metze G, Chien RT (1968) On the connection assignment problem of diagnosable systems. IEEE Trans Electron Comput 16:848–854

Rangarajan S, Dahbura AT, Ziegler EA (1995) A distributed system-level diagnosis algorithm for arbitrary network topologies. IEEE Trans Comput 44:312–333

Rappaport TS (2001) Wireless communications: principles and practice, 2nd edn. Prentice Hall, New York

Santi P (2005) The critical transmitting range for connectivity in mobile ad hoc networks. IEEE Trans Mob Comput 4(3):310–317

Subbiah A, Blough DM (2004) Distributed diagnosis in dynamic fault environments. IEEE Trans Parallel Distrib Syst 15(5):453–467

Taghikhaki Z, Sharifi M (2008) A trust-based distributed data fault detection algorithm for wireless sensor networks. In: 11th international conference on computer and information technology, Dec., pp 1–6

Venkataraman G, Emmanuel S, Thambipillai S (2008) Energy-efficient cluster-based scheme for failure management in sensor networks. Commun, IET 2(4):528–537

Wang X, Ding L, Wang S (2011) Trust evaluation sensing for wireless sensor networks. IEEE Trans Instrum Meas 60(6):2088–2095

Weber A, Kutzke AR, Chessa S (2010) Diagnosability evaluation for a system-level diagnosis algorithm for wireless sensor networks. In: IEEE symposium on computers and communications, Riccione, Italy, pp 241–244

Weber A, Kutzke AR, Chessa S (2011) Energy-aware test connection assignment for the diagnosis of a wireless sensor network. In: Fifth Latin-American symposium on dependable computing, São José dos, Campos, Brazil, pp 65–73

Xue F, Kumar PR (2004) The number of neighbors needed for connectivity of wireless networks. Wirel Netw 10(2):169–181

Zhang J, Jing B, Sun Y (2008) Fault locating arithmetic for multi-source network cluster nodes based on comparison. In: Proc world congress on intelligent control and automation, pp 7567–7571

## Author information

### Authors and Affiliations

### Corresponding author

## Rights and permissions

**Open Access**
This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (
https://creativecommons.org/licenses/by/2.0
), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

## About this article

### Cite this article

Weber, A., Kutzke, A.R. & Chessa, S. Energy-aware test connection assignment for the self-diagnosis of a wireless sensor network.
*J Braz Comput Soc* **18**, 19–27 (2012). https://doi.org/10.1007/s13173-012-0057-7

Received:

Accepted:

Published:

Issue Date:

DOI: https://doi.org/10.1007/s13173-012-0057-7

### Keywords

- Wireless sensor networks
- System-level diagnosis
- Energy-aware
- Reliability