## 1 Introduction
### Our Contributions  
This paper focuses on surveying resilient design in WSNs from the topology control and routing protocol perspective. Figure 1 shows the main flow of designing resilient WSNs. As a matter of fact, there are many other ways to achieve resilience. In the layered network model, the physical, link, network, transport and application layer can have their own resilient strategies. For instance, redundant coding allows detecting and correcting coding error; multi-processor systems have better fault tolerance performance; the security mechanisms protect data confidentiality, integrity and availability, _etc._, but those methods are out of the scope of this paper. More specifically, this paper surveys techniques on how to build a \(k-connected\) network, where \(k\) is the most important indicator for resilience, and how to find out the alternative paths by multi-path routing protocols. In general, the resilience capability of WSNs relies on the redundant deployment and adaptive design. Thanks to the low cost of WSNs nodes, unlike traditional networks, it is possible to deploy far more nodes than what is actually needed to make the network fault tolerant. Researchers, implicitly or explicitly, leverage a network model; hence, this paper first discusses the network model in WSNs. It is shown that most works employ inappropriate network models, and it is complicated to comprehensively model real WSNs. Afterwards, this paper reviews the theoretical results and representative topology control approaches to guarantee WSNs to be \(k-connected\) in three different network deployment stages.  
(1) pre-deployment stage: the literature focuses on either how many nodes are needed if the nodes are randomly deployed or how to construct a particular network topology if nodes are able to control their positions;  
(2) post-deployment stage: the main focus is to maintain or to improve the node connectivity or link quality by adjusting the transmission range or transmission power;  
(3) re-deployment stage: this aims at how to populate new nodes to recover from the network disconnection.  
Usually, network resilience is not the only concern; other problems, such as network coverage, node energy or the number of nodes deployed, are also considered in the literature, which will be involved in the discussion.  
Figure 1: Resilient WSN design flow.  
Considering that a multi-path routing protocol is important for resilient WSNs and also one of the most active research areas in WSNs, this work also involves this part. Note that the network topology is the foundation of routing protocols. Routing algorithms can find alternative paths only because multiple paths already exist from the network topology perspective. Unfortunately, most problems related to topology control in WSNs have been proven to be either NP-complete or NP-hard, which is very difficult to solve. Therefore, those problems are identified in this work, as well. This paper would be useful for those researchers who want to design resilient WSNs from both a theoretical study and a practical application point of view.  
This paper is organized as follows: Section 2 introduces the main terminologies and definitions that will be used in this paper, and Section 3 presents various network models and failure models. In Section 4, an extensive survey on topology control approaches is given in which they are categorized according to three deployment stages: pre-deployment stage, post-deployment stage and re-deployment stage. Multi-path routing is introduced in Section 5. Those NP-complete or NP-hard problems in WSNs are summarized in Section 6. The open issues are discussed in Section 7, and Section 8 concludes our work.