\begin{figure}[h!]
\centering
-\includegraphics[scale=0.9]{Figures/ch1/wsn.jpg}
+\includegraphics[scale=1.2]{Figures/ch1/wsn.jpg}
\caption{ Wireless sensor network architecture.}
\label{wsn}
\end{figure}
\item \textbf{Topology Control:} The maintenance and repair of the network topology is a challenging task due to the large number of inaccessible sensor nodes that are prone to failure. Therefore, some schemes need to be used to deal with the dynamic changing of topology and the failure of some sensor nodes due to energy depletion or malfunction.
-\item \textbf{Heterogeneity:} One essential challenge is to provide a WSN protocol that deals with different sensor node capabilities such as communication, processing, sensing, and energy. The future of WSNs will be heterogeneous with a large number of sensor nodes. These WSNs may reflect different tasks and can be integrated into one big network. Therefore, it is necessary to take the heterogeneity into consideration during the design stage of WSNs protocols.
+\item \textbf{Heterogeneity:} One essential challenge is to provide a WSN protocol that deals with different sensor node capabilities such as communication, processing, sensing, and energy. The future networks will be heterogeneous with a large number of sensor nodes. These WSNs may reflect different tasks and can be integrated into one big network. Therefore, it is necessary to take the heterogeneity into consideration during the design stage of WSNs protocols.
\item \textbf{Wireless Networking:} The networking and wireless communication represent another important challenge in WSNs. The communication range of the signals can be attenuated or faded during the signal propagation across the communication media or during passing through obstacles. The increasing distance between the sensor nodes and the sink requires increased transmission power. However, the long distance can be divided into several small distances using multi-hop communication. The multi-hop communication generates another challenge that is how to find the more energy efficient route to transmit the information from the source to the destination. The sensor nodes should cooperate to find this route and to serve as relays.
\subsection{Data-Driven Schemes}
-\indent Data-driven approaches aim to decrease the amount of data sent to the sink whilst maintaining the accuracy of sensing within an acceptable level. Therefore, removing unwanted data during the transmission and restriction the sensing tasks during data acquisition can be participating in reducing the energy consumption in WSNs.
+\indent Data-driven approaches aim to decrease the amount of data sent to the sink whilst maintaining the accuracy of sensing within an acceptable level. Therefore, removing unwanted data during the transmission and restricting the sensing tasks during data acquisition can be participating in reducing the energy consumption in WSNs.
%Several data-driven schemes have been proposed in~\cite{ref86,ref87,ref88,ref89,ref90}.
Data driven schemes are classified into two main approaches~\cite{ref59,ref22}:
\item The time during which the application requirement is satisfied~\cite{ref172}.
\end{enumerate}
-\indent According to the above definitions for network lifetime, there is no universal definition to reflect the requirements of each application and the effects of the environment. In real WSN, the network lifetime reflects a set of a particular circumstances of the environment. Accordingly, the current definitions are applicable for the WSNs that meet a particular conditions. However, many more parameters, which are affecting on the network lifetime of WSN such as~\cite{ref92}: heterogeneity, node mobility, topology changes, application characteristics, quality of service, and completeness.
+\indent According to the above definitions for network lifetime, there is no universal definition to reflect the requirements of each application and the effects of the environment. In real WSN, the network lifetime reflects a set of a particular circumstances of the environment.
+%Accordingly, the current definitions are applicable for the WSNs that meet a particular conditions.
+Many parameters are affecting the network lifetime should be taken into account~\cite{ref92}: heterogeneity, node mobility, topology changes, application characteristics, quality of service, and completeness.
The network lifetime has been defined in this dissertation as the time spent by WSN until the coverage ratio becomes less than a predetermined threshold $\alpha$.
The GloMoSim(Global Mobile System Simulator)~\cite{ref202,ref204,ref205} is an open source, well-documented source code and scalable simulation environment developed in 1998 for mobile wireless networks. It uses a Parsec, which is an extension of C for parallel programming. The main feature of GloMoSim simulator is using parallel environment. The parallel network simulation is hard due to the communication among the simulated nodes on different machines. Several types of protocols and models are found in GloMoSim including TCP,
IEEE 802.11 CSMA/CA, MAC, UDP, HTTP, FTP, CBR, ODMRP, WRP, DSR, MACA, Telnet, AODV, etc. It uses a VT visualization tool to observe and debug these protocols. The GloMoSim is designed to be extensible with all protocols implemented as modules in its library. It also uses an object-oriented approach. It is dividing the nodes, and each object is responsible for executing one layer in the protocol stack of every node for its given division. This mechanism minimizes the overhead of a large-scale sensor network.
-The GloMoSim supports a wide range of protocols and its configuration is easy. Due to the parallel processing nature, it supplies a fast simulation. The GloMoSim provides efficient simulation for IP networks whilst it does not support accurate simulation for many sensor network applications. Since 2000, the GloMoSim has been stopping releasing updates. It is currently updated as a commercial product called QualNet.
+The GloMoSim supports a wide range of protocols and its configuration is easy. Due to the parallel processing nature, it supplies a fast simulation. The GloMoSim provides efficient simulation for IP networks whilst it does not support accurate simulation for many sensor network applications. No releasing updates are available since 2000. It is currently updated as a commercial product called QualNet.
\item \textbf{SENSE:}
The SENSE (Sensor Network Simulator and Emulator)~\cite{ref206} is an open source, general purpose, discrete event, efficient, easy to use, and powerful network simulator. The main objective of designing this simulator is to support various requirements of the users by taking into consideration the extensibility, reusability, and scalability. The SENSE uses an object-oriented approach and J-Sim's simulator component based architecture. It supports the parallelization with a poor support for users.
-The simulation models are released from interdependency that usually found in an object-oriented architecture by a component-port model, which is provided by SENSE. This permits independence among components and enables the extensibility and reusability. An another level of reusability by the extensive use of C++ template, where a component is usually declared as a template class so that it handles different types of data. The designers are improved the scalability by using the same packet in the memories of all sensors, assuming that the packet should not be changed. The core of the simulator still lacks a general set of models, routing protocols, and a wide variety of configuration templates for WSNs. In addition, visualization tool is desirable, which can quickly discover the bugs during the simulation.
+The simulation models are released from interdependency that usually found in an object-oriented architecture by a component-port model, which is provided by SENSE. This allows independence among components and enables the extensibility and reusability. A level of reusability is obtained by the extensive use of C++ template, where a component is usually declared as a template class so that it handles different types of data. The designers improved the scalability by using the same packet in the memories of all sensors, assuming that the packet should not be changed. The core of the simulator still lacks a general set of models, routing protocols, and a wide variety of configuration templates for WSNs. In addition, visualization tool is desirable, which can quickly discover the bugs during the simulation.
\item \textbf{TOSSIM:}
-The TOSSIM~\cite{ref205,ref207,ref208} is a discrete event simulator for TinyOS sensor networks, where the TinyOS application can be compiled on the TOSSIM framework, which executes on a computer rather than on the mote. This permits the users to test, debug, and analyze theirs algorithms in a controlled and repeatable environment. The users can check up their codes using debuggers and other development tools for executing them on the computer. The TOSSIM is regarded as an emulator rather than a simulator because its ability to simulate both software and hardware of the mote. The TOSSIM is specially-designed for TinyOS applications to be run on Berkeley MICA Motes. The TOSSIM has to develop four requirements: scalability, completeness, fidelity, and bridging. It should manage a large number of sensor nodes with different configurations to be scalable. For completeness, it has to capture behavior and interactions of a system at a different of levels. The simulator should capture behavior of a network with accurate timing of interactions on a mote and among motes for fidelity. The bridging requirement is satisfied due to executing the simulated code directly in a real mote. Two programming interfaces are supported by TOSSIM: Python and C++. The C++ interface transforms the code easily from one form to another. The Python permits interacting with an executing simulation dynamically, like a powerful debugger. The TOSSIM provides a high fidelity and scalable simulation of a complete TinyOS sensor network. It visualizes and interacts with executing simulations using GUI tool and TinyViz. The users can develop new visualizations and interfaces for TinyViz using simple plug-in model. The simulator's effectiveness for analyzing low-level protocols is decreased due to inaccuracies of probabilistic bit error model. Moreover, the TOSSIM is only supported by MICA motes platform.
+TOSSIM~\cite{ref205,ref207,ref208} is a discrete event simulator for TinyOS sensor networks, where the TinyOS application can be compiled on the TOSSIM framework, which executes on a computer rather than on the mote. This allow the users to test, debug, and analyze theirs algorithms in a controlled and repeatable environment. The users can check up their codes using debuggers and other development tools for executing them on the computer. TOSSIM is regarded as an emulator rather than a simulator because of its ability to simulate both software and hardware of the mote. TOSSIM is specially-designed for TinyOS applications run on Berkeley MICA Motes. TOSSIM has to develop four requirements: scalability, completeness, fidelity, and bridging. It should manage a large number of sensor nodes with different configurations to be scalable. For completeness, it has to capture behavior and interactions of a system at a different of levels. The simulator should capture behavior of a network with accurate timing of interactions on a mote and among motes for fidelity. The bridging requirement is satisfied due to executing the simulated code directly in a real mote. Two programming interfaces are supported by TOSSIM: Python and C++. The C++ interface transforms the code easily from one form to another. Python allows interaction with an executing simulation dynamically, like a powerful debugger. TOSSIM provides a high fidelity and scalable simulation of a complete TinyOS sensor network. It visualizes and interacts with executing simulations using GUI tool and TinyViz. The users can develop new visualizations and interfaces for TinyViz using simple plug-in model. The simulator's effectiveness for analyzing low-level protocols is decreased due to inaccuracies of probabilistic bit error model. Moreover, TOSSIM is only supported by MICA motes platform.
\item \textbf{GTSNetS:}
-The GTSNetS (Georgia Tech Sensor Network Simulator)~\cite{ref209,ref210} is an open-source, C++, large scale, event-driven simulation tool to evaluate the applications, algorithms, and protocols. It is capable of evaluating the impact of various architectural choices and designs on the lifetime and performance of a particular sensor network. The GTSNetS is constructed on the top of the Georgia Tech Network Simulator (GTNetS), where it uses and expands all the design choices of the existing GTNetS simulator. The main feature of GTSNetS simulator is to support several thousand nodes.
-It is organized efficiently in a modular to support large-scale WSNs. It is designed to be easy to use by the users in order to simulate a certain sensor network. Several choices are provided by GTSNetS to users to select from different alternatives such as network protocols, energy models, applications, and tracing options. Furthermore, the existing models of the simulator can simply extended or replaced according to user need. The network lifetime can be tracked by GTSNetS and the energy consumption of each unit can be evaluated. Therefore, the users can study the impact of different architectural choices on lifetime and energy consumption. The mobility is inherited from GTNetS simulator. Therefore, it provides a specification of mobile sensor nodes, moving sensed objects, as well as a mobile base station.
-The GTSNetS provides graphical user interface and extensive packet tracing. The stopped updating and maintaining the project since Oct, 2008 represents the main disadvantage of this simulator.
+GTSNetS (Georgia Tech Sensor Network Simulator)~\cite{ref209,ref210} is an open-source, C++, large scale, event-driven simulation tool to evaluate the applications, algorithms, and protocols. It is capable of evaluating the impact of various architectural choices and designs on the lifetime and performance of a particular sensor network. GTSNetS is constructed on the top of the Georgia Tech Network Simulator (GTNetS), where it uses and expands all the design choices of the existing GTNetS simulator. The main feature of GTSNetS simulator is to support several thousand nodes.
+It is organized efficiently in modular way, to support large-scale WSNs. It is designed to be easy to use by the users in order to simulate a certain sensor network. Several choices are provided by GTSNetS to users to select from different alternatives such as network protocols, energy models, applications, and tracing options. Furthermore, the existing models of the simulator can simply extended or replaced according to user need. The network lifetime can be tracked by GTSNetS and the energy consumption of each unit can be evaluated. Therefore, the users can study the impact of different architectural choices on lifetime and energy consumption. The mobility is inherited from GTNetS simulator. Therefore, it provides a specification of mobile sensor nodes, moving sensed objects, as well as a mobile base station.
+GTSNetS provides graphical user interface and extensive packet tracing.
+%The stopped updating and maintaining the project since Oct, 2008 represents the main disadvantage of this simulator.
+The project, the tool is no longer maintained since october 2008.
\end{enumerate}
-In this section, we investigated some simulation tools for WSNs. Since a large number of simulation tools available for WSNs, which have different characteristics and capabilities. Hence, it seems to be hard to decide which simulation tool to choose and which one is more appropriate for large-scale WSNs. Table~\ref{table:1} illustrates a comparison among some simulation tools~\cite{ref179}. According to the table~\ref{table:1}, the OMNeT++ seems to be a good candidate to be used as an evaluation tool for our proposed protocols in this dissertation. The OMNeT++ is a free, extensible, and scalable simulator. It provides an easy-to-use interface using C++ language. Furthermore, several frameworks can be used with OMNeT++ such as INET, INETMANET, Veins, MiXiM, and Castalia to support various needs of users, such as mobility, Internet, vehicular, and sensor networks.
+In this section, we investigated some simulation tools for WSNs. A large number of simulation tools are available for WSNs, with different characteristics and capabilities. Hence, it seems to be hard to decide which simulation tool to choose and which one is more appropriate for large-scale WSNs. Table~\ref{table:1} illustrates a comparison among some simulation tools~\cite{ref179}. According to the table~\ref{table:1}, the OMNeT++ seems to be a good candidate to be used as an evaluation tool for our proposed protocols in this dissertation. The OMNeT++ is a free, extensible, and scalable simulator. It provides an easy-to-use interface using C++ language. Furthermore, several frameworks can be used with OMNeT++ such as INET, INETMANET, Veins, MiXiM, and Castalia to support various needs of users, such as mobility, Internet, vehicular, and sensor networks.
\section{Optimization Solvers}
-Several optimization solvers exist, which are able to solve the linear optimization problems. The Linear Optimization ( or Linear programming)~\cite{ref211} is a technique for determining the maximum or minimum of a linear function of non-negative variables subject to constraints expressed as linear equalities or inequalities. The Linear Programming is a special case of mathematical programming (mathematical optimization).
+Several optimization solvers exist, which are able to solve the linear optimization problems. Linear programming~\cite{ref211} is a technique for determining the maximum or minimum of a linear function of non-negative variables subject to constraints expressed as linear equalities or inequalities. Linear Programming is a special case of mathematical programming (mathematical optimization).
Linear programs are problems that can be expressed in canonical form as follow
\begin{align} & \text{Maximize}~ (or ~\text{Minimize})~ && \mathbf{c}^\mathrm{T} \mathbf{x}\\ & \text{Subject to} && A \mathbf{x} \leq \mathbf{b} \\ & \text{and} && \mathbf{x} \ge \mathbf{0} \end{align}
where x represents the vector of variables (to be determined), c and b are vectors of (known) coefficients, A is a (known) matrix of coefficients, and $\left( \cdot \right) ^\mathrm{T}$ is the matrix transpose. The term to be maximized or minimized is called the objective function ($c^Tx$ in this case). The inequalities $Ax \leqslant b$ and $x \geqslant 0$ are the constraints which specify a convex polytope over which the objective function is to be optimized.
-In linear programming problem, if some or all of the unknown variables are restricted to be integers, it is called an integer programming (IP) problem. IP problems are a special cases of optimization problems, where the variables can only assume integer values. The IP problems are NP-hard. Mixed integer linear programming (MIP) problems are also special cases, where only some of the variables are restricted to integer values. The optimization problems with integer variables can also be linear or nonlinear, depending on the terms of their objective function and their constraints. However, the terms IP and MIP are almost always associated with problems that have linear features.
+In linear programming problem, if some or all of the unknown variables are restricted to be integers, it is called an integer programming (IP) problem.
-Linear optimization is used to solve different problems in various fields of study. It is applied for economic, business, and Industry. Several linear optimization models are proposed in the industry such as transportation, energy, telecommunications, and manufacturing. Linear optimization is succeeded in modeling different types of problems like planning, routing, scheduling, assignment, and design.
+%IP problems are a special cases of optimization problems, where the variables can only assume integer values. The IP problems are NP-hard. Mixed integer linear programming (MIP) problems are also special cases, where only some of the variables are restricted to integer values. The optimization problems with integer variables can also be linear or nonlinear, depending on the terms of their objective function and their constraints. However, the terms IP and MIP are almost always associated with problems that have linear features.
+
+Linear optimization is used to solve different problems in various fields of study. It is applied for economic, business, and Industry. Several linear optimization models are proposed in the industry such as transportation, energy, telecommunications, and manufacturing.
+%Linear optimization is succeeded in modeling different types of problems like planning, routing, scheduling, assignment, and design.
Many approaches have been used to solve the linear programming (IP or MIP) problems and they are classified into two main groups~\cite{ref221}:
\begin{itemize}
-\item \textbf{Heuristic Optimization:} provides good solutions for the problems that can not be solved efficiently by classical optimization methods. On the other hand, there is no guarantee for the optimal solution. Examples of such approaches are genetic algorithms, swarm intelligence, neural networks, and tabu search.
+\item \textbf{Heuristic Optimization:} provides good solutions but not necessarily optimal solutions for the problems that can not be solved efficiently and with acceptable computation time by classical optimization methods. There is no guarantee for the optimal solution. Examples of such approaches are genetic algorithms, swarm intelligence, and tabu search.
-\item \textbf{Classical Optimization:} provides and guarantees optimal solutions for the convex problems. Examples of such methods are zero-one enumeration algorithms and branch-and-bound algorithm, which are provided by linear optimization solvers.
+\item \textbf{Classical Optimization:} provides and guarantees optimal solutions for problems. Examples of such methods are zero-one enumeration algorithms and branch-and-bound algorithm, which are provided by linear optimization solvers.
\end{itemize}
-Several linear optimization solvers are available, which vary in their characteristics and capabilities. Therefore, in this section, we explain the most popular free and commercial linear optimization solvers~\cite{ref212}.
+Linear optimization solvers vary in their characteristics and capabilities. Therefore, in this section, we explain the most popular free and commercial linear optimization solvers~\cite{ref212}.
\begin{enumerate} [(i)]
\item \textbf{Gurobi:}
-The Gurobi Optimizer~\cite{ref219,ref220,ref211} is a commercial optimization solver for LP, Quadratic Programming (QP), Quadratically Constrained Programming (QCP), Mixed Integer Linear Programming (MILP), Mixed-Integer Quadratic Programming (MIQP), and Mixed-Integer Quadratically Constrained Programming (MIQCP). The Gurobi optimizer is written in C. It is available on all computing platforms and accessible from several programming languages. The Gurobi optimizer supports interfaces for various programming and modeling languages including object-oriented interfaces for C++, Java, .NET, and Python; matrix-oriented interfaces for C, MATLAB, and R; Links to standard modeling languages like AIMMS, AMPL, GAMS, and MPL; and Links to Excel through Premium Solver Platform and Risk Solver Platform.
+The Gurobi Optimizer~\cite{ref219,ref220,ref211} is a commercial optimization solver for LP, Quadratic Programming (QP), Quadratically Constrained Programming (QCP), Mixed Integer Linear Programming (MILP), Mixed-Integer Quadratic Programming (MIQP), and Mixed-Integer Quadratically Constrained Programming (MIQCP). The Gurobi optimizer is written in C. It is available on all computing platforms and accessible from several programming languages. The Gurobi optimizer supports interfaces for various programming and modeling languages including object-oriented interfaces for C++, Java, .NET, and Python; matrix-oriented interfaces for C, MATLAB, and R; Links to standard modeling languages like AIMMS, AMPL, GAMS, and MPL; and Links to Excel through Premium Solver Platform and Risk Solver Platform are available.
\end{enumerate}
-B. Meindl and M. Templ~\cite{ref212} studied the efficiency of above optimization solvers. They are used the attacker problems in order to achieve the performance comparison of GLPK, lp$\_$solve, CLP, GUROBI, and CPLEX optimization solvers. They are considered a total of 200 problem instances for this study, 100 of these problem instances are based on problems with two dimensions, and 100 problem instances are three-dimensional.
-Tables~\ref{my-label1}, \ref{my-label2}, and \ref{my-label3} compares the running times that it took each of the five linear program solvers to find solutions to the 200 two-dimensional, 200 three-dimensional, and all 400 problem instances. In order to solve the attacker’s problem for a given problem instance, it is needed to both minimize and maximize any given problem. Therefore, a total of 400 problem instances had been solved when only 200 problem instances have been generated.
+B. Meindl and M. Templ~\cite{ref212} studied the efficiency of above optimization solvers. They used the attacker problems in order to achieve the performance comparison of GLPK, lp$\_$solve, CLP, GUROBI, and CPLEX optimization solvers. They considered a total of 200 problem instances for this study, 100 of these problem instances are based on problems with two dimensions, and 100 problem instances are three-dimensional.
+Tables~\ref{my-label1}, \ref{my-label2}, and \ref{my-label3} compares the running times of the five linear program solvers to find solutions to the 200 two-dimensional, 200 three-dimensional, and all 400 problem instances. In order to solve the attacker’s problem for a given problem instance, it is needed to both minimize and maximize any given problem. Therefore, a total of 400 problem instances had been solved when only 200 problem instances have been generated.
\begin{table}[h]
\end{table}
-The illustrated results in tables~\ref{my-label1}, \ref{my-label2}, and \ref{my-label3} indicate that open source solvers perform worse than standard commercial solvers when applied to instances of the attacker’s problem. The GLPK outperforms the free and open source solvers, but still is slower than CPLEX and GUROBI. We are used the GLPK as an optimization solver in this dissertation so as to solve the proposed integer programs during the decision phase of the network lifetime. We have motivated to use the GLPK optimization solver for many reasons, including:
+The illustrated results in tables~\ref{my-label1}, \ref{my-label2}, and \ref{my-label3} indicate that open source solvers perform worse than standard commercial solvers when applied to instances of the attacker’s problem. The GLPK outperforms the free and open source solvers, but still is slower than CPLEX and GUROBI. We used the GLPK as an optimization solver in this dissertation so as to solve the proposed integer programs during the decision phase of the network lifetime. We motivate the use of the GLPK optimization solver for many reasons, including:
\begin{enumerate} [(i)]
\section{Conclusion}
-\indent In this chapter, an overview of the evaluation tools and the optimization solvers for wireless sensor networks have been presented. The testbed for wireless sensor network and some major types have been demonstrated. We have found that most researchers in the field of WSNs used the simulators to evaluate theirs works because they are free, easy to use, more flexible, and scalable for a large WSNs. The simulation tools and several types of wireless sensor network simulators are described. The comparison among some types of network simulators has nominated OMNeT++ simulator as a good candidate to be used as performance evaluation tool so as to evaluate the efficiency of our protocols in this dissertation. This chapter highlights the optimization problem in WSNs and the most popular free and commercial linear optimization solvers. The performance of the commercial optimization solvers outperforms the free optimization solvers. The GLPK has chosen as a good candidate to solve the proposed optimization problems in this dissertation because it is free, easy to use, and better than some other free optimization solvers.
\ No newline at end of file
+\indent In this chapter, an overview of the evaluation tools for wireless sensor networks and optimization solvers have been presented. The testbed for wireless sensor network and some major types have been demonstrated. We have found that most researchers in the field of WSNs use the simulators to evaluate theirs works because they are free, easy to use, more flexible, and scalable for a large WSNs. The simulation tools and several types of wireless sensor network simulators are described. The comparison among some types of network simulators show that OMNeT++ simulator a good candidate to be used as performance evaluation tool so as to evaluate the efficiency of our protocols in this dissertation. This chapter highlights the optimization problem in WSNs and the most popular free and commercial linear optimization solvers. The performance of the commercial optimization solvers outperforms the free optimization solvers. GLPK has been chosen as a good candidate to solve the proposed optimization problems in this dissertation because it is free, easy to use, and better than some other free optimization solvers.
\ No newline at end of file