## 1 Introduction
Even though middleware is a well-established study area, but virtualization passes up more challenges to the sphere of middleware research. The traditional middleware techniques cannot be directly applied to all the applications because of the application's demands and heterogeneity in all respects such as devices, software and network protocols. However, virtual sensor environment can ensure the coexistence of heterogeneous WSN architectures that are unbounded from the confines of the existing multi sensor networks [5]. Figure 1 shows the general model of WSN virtualization, representing communication stack having multiple heterogeneous sensors and radio networks and network protocols. Furthermore, the slice under concentration, the middleware layer is composed of a number of modules facilitating the lower layers as well as higher layer. It acts like a bridge between the multiple sensor networks and multiple applications. The middleware should be lightweight for the tiny sensors and embedded devices as they have memory, processing and energy constraints like TelG Mote, UC Berkeley Motes, Mica, Rene, and SunSPOT, TelosB, iSense _etc_. and should accommodate diverse communication protocols (Zigbee, WiFi and Bluetooth). Eventually the requirement of WSN middleware is to be energy aware, utilize less memory and processing. Figure 1: General model for WSN virtualization middleware. Therefore, the aid of an efficient middleware platform is required to tackle all these wide collection of issues regarding functionality, technology, heterogeneity of devices and services [6]. A complete system collapse may happen and can cause extreme or fatal sequels for the users, especially in the health care and military scenario. There have a been number of noteworthy reviews and surveys in the field of WSN focusing on challenges and characteristics of wireless sensor such as routing protocols [7,8], WSN [9], WSN security [10], devices in WSN [11,12], Major applications [13] and particularly in our field of interest the middleware of sensor networks has been reviewed in context of pervasive computing [14], context aware web services [7], service oriented middleware [15], context aware middleware [16], Internet of Thing (IoT) middleware [17], middleware for robotics [18], _etc_. according to the best of our knowledge, there is only one survey paper on virtualization of sensor networks [2] that only covers few of the projects and prominences on the business model and applications supported by virtualization of sensor networks. There is still a gap in the literature that is to be filled regarding the middleware capable of supporting virtualization in both respects: the sensor virtualization and the network virtualization. The current paper provides a comprehensive review of the design, characteristics, applications, testbeds and properties of the current middlewares. Middleware contributes significantly in the field of virtualization of sensors as well as the virtualization of networks. Furthermore, our classification model is based on the middleware providing sensor virtualization and network virtualization, multi radio support. The remainder of the paper is organized as follows: Section 2 presents the types of virtualization in WSN, while Section 3 categorizes the middleware for WSN virtualization. Section 4 shows the programming approaches for middleware virtualization, Section 5 elaborates the evaluation criteria and design goals. Section 6 discusses the abstracted services and the role of middleware virtualization. Section 7 explores the evaluation and testing of middleware based on virtualization support. Section 8 takes up the challenges of the middleware design. The proposed model is followed by the conclusion in Sections 9 and 10 respectively.