Introduction

This program is a localization simulator for wireless sensor networks (WSNs). This is an integrated framework used for localization in WSNs and available for the analysis of different types of localization schemes: range-free, range-based and hybrid localization. The obtained framework is simple and easy to be used to demonstrate the performance evaluation and comparison of different types of localization schemes.

The design criteria for our framework are listed below:

  1. Supports completely large scale networks, e.g. 400 nodes x 400 nodes which are fully interconnected which implies 160,000 network connections.
  2. The network can be deployed based on a wide range of parameters: network size, sensor nodes communication distance, locator radius (communication range), sector angle (rotation angle) and locator beam width.
  3. Supports Multithreading, where the simulated algorithm runs on a separate thread from the thread controlling the developer interface.
  4. Packaging all simulator classes into a referenced DLL file for better modularity design.
  5. Ease of implementing various localization algorithms by encapsulating each one into a separate DLL file. Developers can write their own localization algorithm into a DLL file and reference it into our framework.
  6. Can be extended to implement many different localization algorithms with different categories (range-free, range-based and a hybrid of both).
  7. Suitable developer interface to enable deploying and moving sensor and locator nodes and changing various simulation parameters.

Framework Architecture

Our framework is composed of two main components: simulator and a localization algorithm. A simulator includes two classes; the first one is a network DLL file which contains all simulator classes (e.g. sensor class, locator class, packet class, etc.) and the second one is a developer interface class which contains all control functions (e.g. run and stop simulator, painting method, etc.). The second component of our framework is the localization algorithm which is written by the developer into a DLL file and referencing this file into our framework, so that the developer has the ability to write his localization algorithm but under certain design specifications as shown in Fig. 1.

image001.png

The first method (Set Parameters) is responsible to get all control data from user interface. The second method is used to test the connectivity between a sensor node and a locator node. The third method (Send), after a valid connection, is used to transmit packets between different nodes. Finally, after getting all necessary packets from locator nodes, a sensor node can estimate its position using the fourth method (Localize).

As shown in Fig. 2, we illustrate the sequence diagram for submitting parameters from the user through simulator and getting the response back from the localization algorithm. First, the user sets the required parameters via user interface and the simulator receives these parameters and applies them using Set_Parameters method which gives the needed arguments to the localization algorithm. Second, the algorithm will reply to the simulator. Third, call Connect method to test the connectivity between different nodes, if there is a connection, fill array list of connections between different nodes. Fourth, call send method to carry out sending packets between connected nodes by filling array list which contains the sent packets for each sensor node. Finally, calling Localize method to estimate the position of a sensor node and return the results back to the user into an external text file.

image002.png

Customizing a Localization Algorithm

A localization algorithm can be customized as follows:

  1. Create a class library (DLL). 
  2. Write a localization algorithm according to the design specifications mentioned above.
  3. Reference this class library as shown in the snapshot of Fig. 3.

    image003.png

This framework allows developers to design the required localization algorithm by writing the code into a class library file and referencing it to the framework. Our framework has been validated by a case study which covers the types of localization algorithms: range-free, range-based and hybrid localization for WSNs. We selected from every type one localization algorithm that is recently published and give accurate results. From our case study, we identified PTA, DIL and RAL algorithms and analyzed the cost and performance of each one through different scenarios as mentioned in their perspective papers. Our framework results are compared to the selected localization algorithms results and it is found that they are compatible with the original results of these algorithms in their papers. Our framework can be extended to implement other localization algorithms as mentioned above and can be used by future researchers.

History

This is a Wireless Sensor Network Localization Simulator v1.1 written by Abdelhady Mohammad Naguib in May 2011. Thank you for using the WSN Localization Simulator.

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"