| Literature DB >> 28025568 |
Alessandro Testa1, Marcello Cinque2, Antonio Coronato3, Juan Carlos Augusto4.
Abstract
Wireless Sensor Networks (WSNs) are being increasingly adopted in critical applications, where verifying the correct operation of sensor nodes is a major concern. Undesired events may undermine the mission of the WSNs. Hence, their effects need to be properly assessed before deployment, to obtain a good level of expected performance; and during the operation, in order to avoid dangerous unexpected results. In this paper, we propose a methodology that aims at assessing and improving the dependability level of WSNs by means of an event-based formal verification technique. The methodology includes a process to guide designers towards the realization of a dependable WSN and a tool ("ADVISES") to simplify its adoption. The tool is applicable to homogeneous WSNs with static routing topologies. It allows the automatic generation of formal specifications used to check correctness properties and evaluate dependability metrics at design time and at runtime for WSNs where an acceptable percentage of faults can be defined. During the runtime, we can check the behavior of the WSN accordingly to the results obtained at design time and we can detect sudden and unexpected failures, in order to trigger recovery procedures. The effectiveness of the methodology is shown in the context of two case studies, as proof-of-concept, aiming to illustrate how the tool is helpful to drive design choices and to check the correctness properties of the WSN at runtime. Although the method scales up to very large WSNs, the applicability of the methodology may be compromised by the state space explosion of the reasoning model, which must be faced by partitioning large topologies into sub-topologies.Entities:
Keywords: Wireless Sensor Networks; dependability; formal methods; metrics; modeling
Year: 2016 PMID: 28025568 PMCID: PMC5298592 DOI: 10.3390/s17010019
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1The process of the proposed methodology.
Figure 2Isolation of a Wireless Sensor Network subnet.
Basic elements of the specification for the isolation event.
| Elements | Name | Description |
|---|---|---|
| sensor | Reference sensor for events and fluents | |
| to_sensor | Sensor used in case of connection (i.e., a sensor connects to another sensor) | |
| from_sensor | Sensor used in case of disconnection (i.e., a sensor disconnects from another sensor) | |
| Start (sensor) | Occurring event when a sensor turns on | |
| Stop (sensor) | Occurring event when a sensor turns off | |
| Connect (sensor, to_sensor) | Occurring event when a sensor connects to another sensor | |
| Disconnect (sensor, from_sensor) | Occurring event when a sensor disconnects from another sensor | |
| Isolate (sensor) | Occurring event when a sensor is isolated from the network | |
| IsAlive (sensor) | True when a Start event occurs for a sensor | |
| IsLinked (sensor, to_sensor) | True when a Connect event occurs | |
| IsReachable (sensor) | True when a sensor is reachable from the sink node | |
| Neighbor (sensor1, sensor2) | True when sensor 1 is directly linked to sensor 2 |
Figure 3Example of topology of a WSN.
Figure 4Quwaider wireless body sensor network (WBSN) and related topology.
Figure 5Application scenario in runtime context.
Analysis of some WSN healthcare systems.
| Work | Nodes | Topology | Sensor Platform |
|---|---|---|---|
| iNODE-based system [ | 4 | tree | iNODE |
| BSN-based system [ | 8 | fully-connected | Jennic JN5139 |
| MEDiSN [ | 10 | tree | Sentilla Tmote Mini |
| HM4ALL [ | 12 | tree | JN5139-MOI ZigBee-based platform |
| Self-powered WSN [ | 13 | tree | Crossbow Micaz |
| Multi-patient system [ | 15 | grid | Tmote sky |
| CodeBlue [ | 16 | grid | N.A. |
| Clinical Monitoring System [ | 18 | tree | TelosB mote |
Figure 6Outcome of ADVISES in static mode running. Parameters for What-if analysis and Robustness Checking computing are available.
Figure 7Outcome of ADVISES in runtime mode running. Only timepoint parameter is editable: this is the observation time in an experiment at runtime.
Figure 8ADVISES in runtime mode.
Figure 9Runtime verification process illustrated by a flow diagram.
Figure 10Topologies of the self-powered WSN. (a) Original; (b) First attempt; (c) Second attempt.
Figure 11Topologies of MEDiSN. (a) Original; (b) First attempt; (c) Second attempt.
Percentages of connection (Conn. Resil.) resiliency for the self-powered WSN and MEDiSN. Topology 1 is the original network, Topology 2 and 3 are attempts of coverage (see “Outcome”) improvement. Three thresholds of coverage (Cov. = 65%, 75% and 85%) have been selected.
| Outcome | Self-Powered WSN | MEDiSN | |||||
|---|---|---|---|---|---|---|---|
| Topology 1 | Topology 2 | Topology 3 | Topology 1 | Topology 2 | Topology 3 | ||
| Cov. = 65% | Conn. Resil. = 1 | 83% | 83% | 83% | 77% | 66% | 77% |
| Conn. Resil. = 2 | 52% | 61% | 67% | 41% | 30% | 49% | |
| Conn. Resil. = 3 | 31% | 35% | 41% | 18% | 10% | 28% | |
| Cov. = 75% | Conn. Resil. = 1 | 66% | 83% | 83% | 55% | 44% | 66% |
| Conn. Resil. = 2 | 43% | 48% | 50% | 29% | 18% | 43% | |
| Conn. Resil. = 3 | 27% | 18% | 29% | 0% | 0% | 0% | |
| Cov. = 85% | Conn. Resil. = 1 | 66% | 66% | 66% | 55% | 44% | 66% |
| Conn. Resil. = 2 | 43% | 27% | 43% | 0% | 0% | 0% | |
| Conn. Resil. = 3 | 0% | 0% | 0% | 0% | 0% | 0% | |
| Examined failure sequences | 114,480 | 46,980 | |||||
Classification of failure events for a self-powered WSN (Topology 1, 2 and 3).
| Failure Event | Coverage | |||
|---|---|---|---|---|
| Topology 1 | Topology 2 | Topology 3 | ||
| Coverage < 75% (critical events) | no event failure | Stop(3) OR Disconnect(3,1) | no event failure | 47% |
| Stop(2) OR Stop(3) OR Disconnect(2,1) OR Disconnect(3,1) | no event failure | Stop(2) OR Stop(3) OR Disconnect(2,1) OR Disconnect(3,1) | 54% | |
| no event failure | Stop(2) OR Disconnect(2,1) | no event failure | 62% | |
| Stop(5) OR Stop(7) OR Disconnect(5,2) OR Disconnect(7,3) | no event failure | no event failure | 70% | |
| Coverage ≥ 75% | no failure event | Stop(6) OR Stop(7) OR Disconnect(6,3) OR Disconnect(7,3) | Stop(5) OR Stop(7) OR Disconnect(5,2) OR Disconnect(7,3) | 77% |
| no failure event | Stop(4) OR Stop(5) OR Disconnect(4,2) OR Disconnect(5,2) | no failure event | 85% | |
| Stop(4) OR Stop(6) OR Stop(8) OR Stop(9) OR Stop(10) OR Stop(11) OR Stop(12) OR Stop(13) OR Disconnect(4,2) OR Disconnect(6,3) OR Disconnect(8,5) OR Disconnect(9,5) OR Disconnect(10,5) OR Disconnect(11,7) OR Disconnect(12,7) OR Disconnect(13,7) | Stop(8) OR Stop(9) OR Stop(10) OR Stop(11) OR Stop(12) OR Stop(13) OR Disconnect(8,5) OR Disconnect(9,5) OR Disconnect(10,5) OR Disconnect(11,7) OR Disconnect(12,7) OR Disconnect(13,7) | Stop(4) OR Stop(6) OR Stop(8) OR Stop(9) OR Stop(10) OR Stop(11) OR Stop(12) OR Stop(13) OR Disconnect(4,2) OR Disconnect(6,3) OR Disconnect(8,5) OR Disconnect(9,5) OR Disconnect(10,5) OR Disconnect(11,7) OR Disconnect(12,7) OR Disconnect(13,7) | 93% | |
Classification of failure events for MEDiSN (Topology 1, 2 and 3).
| Failure Event | Coverage | |||
|---|---|---|---|---|
| Topology 1 | Topology 2 | Topology 3 | ||
| Coverage < 75% (critical events) | Stop(2) OR Disconnect(2,1) | no event failure | no event failure | 10% |
| Stop(3) OR Disconnect(3,2) | no event failure | no event failure | 20% | |
| no event failure | no event failure | Stop(2) OR Disconnect(2,1) | 40% | |
| no event failure | Stop(2) OR Disconnect(2,1) | no event failure | 50% | |
| no event failure | Stop(3) OR Stop(4) OR Disconnect(3,1) OR Disconnect(4,2) | Stop(6) OR Disconnect(6,2) | 60% | |
| Stop(5) OR Stop(6) OR Disconnect(5,3) OR Disconnect(6,3) | Stop(5) OR Stop(6) OR Disconnect(5,4) OR Disconnect(6,3) | Stop(3) OR Disconnect(3,1) | 70% | |
| Coverage ≥ 75% | Stop(4) OR Stop(7) OR Stop(8) OR Stop(9) OR Stop(10) OR Disconnect(4,3) OR Disconnect(7,5) OR Disconnect(8,5) OR Disconnect(9,6) OR Disconnect(10,6) | Stop(7) OR Stop(8) OR Stop(9) OR Stop(10) OR Disconnect(7,5) OR Disconnect(8,5) OR Disconnect(9,6) OR Disconnect(10,6) | Stop(4) OR Stop(5) OR Stop(7) OR Stop(8) OR Stop(9) OR Stop(10) OR Disconnect(4,2) OR Disconnect(5,3) OR Disconnect(7,3) OR Disconnect(8,6) OR Disconnect(9,6) OR Disconnect(10,6) | 90% |
Reasoning time of the ADVISES Tool for a self-powered WSN and MEDiSN considering a threshold value equal to 75%.
| Connection Resiliency | Self-Powered WSN | MEDiSN | ||
|---|---|---|---|---|
| Failure Sequences | Elapsed Time (s) | Failure Sequences | Elapsed Time (s) | |
| 1 | 24 | 1500 | 18 | 600 |
| 2 | 552 | 9720 | 306 | 2160 |
| 3 | 12,144 | 32,580 | 4896 | 2820 |
Figure 12Outcomes of an example of the ADVISES Tool when it is set in Runtime Verification mode. (a) Current coverage value is 77% (against the coverage threshold value 65%) in the case of node 5 failure and warnings for next Stop events; (b) Current coverage value is 54% (against the coverage threshold value 65%) in the case of both node 5 and 7 failures; in this case coverage is under the threshold value set.