Conference PaperPDF Available

High-Level Abstractions in Wireless Sensor Networks: Status, Taxonomy, Challenges, and Future Directions

Authors:

Abstract and Figures

Abstract— Wireless sensor networks (WSNs) have gained a lot of considerations in recent years and have significant impacts on different application areas. Wireless sensors have been successfully deployed in different computing environments to measure, gather and process the raw information in the sensing area to the observers. Sensor networks provide infinite opportunities, but at the same time pose rough challenges due to the sensors’ characteristics and the operating conditions of these sensors. This paper provides an extensive study of the current state-of-art in programming wireless sensor network, presenting a classification of programming levels in the field and highlighting some likely programming challenges and research future direction
Content may be subject to copyright.
1
Abstract Wireless sensor networks (WSNs) have gained a lot of
considerations in recent years and have significant impacts on
different application areas. Wireless sensors have been
successfully deployed in different computing environments to
measure, gather and process the raw information in the sensing
area to the observers. Sensor networks provide infinite
opportunities, but at the same time pose rough challenges due to
the sensors’ characteristics and the operating conditions of these
sensors. This paper provides an extensive study of the current
state-of-art in programming wireless sensor network, presenting
a classification of programming levels in the field and
highlighting some likely programming challenges and research
future directions.
Index Terms Macroprogramming, Programming
Approaches, Programming Challenges, Sensor Network.
I. INTRODUCTION
Wireless sensor networks (WSNs) have gained a lot of
considerations in recent years and have significant impacts on
different application areas. They are composed of tiny
embedded devices, each of which has radio transceiver to send
or receive packets, processor to schedule and perform tasks,
and power source to provide energy for the sensor [1]. Most
often, WSN is utilized for the ease of deployment and
enhanced flexibility of the network. Furthermore, it supports
low cost dense monitoring of hostile environments as well as
disaster relief, medical care and military surveillance [2].
The advantage of being able to place remote sensing nodes
without having to run wires and the cost related to it is a huge
gain. As the size of the circuitry of WSNs is becoming smaller
along with the lower cost, the chances of their field of
applications are significantly growing [3].
Manuscript received February 9, 2014.
A. Alajlan is with the Department of Computer Science and Engineering,
University of Bridgeport, Bridgeport, CT, USA ( phone: 2039082241; e-mail:
aalajlan@bridgeport.edu)
K. Elleithy is with the Department of Computer and Electrical
Engineering, Faculty of Engineering, University of Bridgeport, CT 06604,
USA (e-mail: elleithy@bridgeport.edu).
Several programming approaches have been proposed to
assist WSNs programming. Two broad classes of WSNs
programming models have been explored lately; local behavior
and global behavior abstraction [4]. In local behavior
abstractions, the application has to be programmed in details at
the node-level and the programmers need to synchronize the
program flow between the sensing nodes and maintain the
routing code manually. In contrast, global behavior
abstractions or equivalently ―High-level abstraction‖ has
emerged as one of the most important aspects in sensor
networks where it is applied to hide the internal operations
from system programmers. The main objective behind high-
level approach is the ability to treat a group of sensors or the
entire network as one single unit rather than programming each
node individually [5].
The main contribution of this work is to provide an
extensive survey on taxonomy of programming approaches for
wireless sensor networks. Our work also captures the
programming requirements and uses them to evaluate each of
the programming models. This paper also covers some open
problems and challenges that need further investigation to
make wireless sensor programming reaches its best level of
performance and makes it highly usable and efficient.
Section II, identifies the requirements for sensor network
programming. Section III, provides taxonomy on programming
approaches for WSNs. An in-depth look on each level of the
programming approaches is presented in Section IV, V and VI.
Analysis and evaluation of each model is discussed in Section
VII. Section VII investigates research challenges and future
direction of programming WSNs. Conclusion in provided in
Section IX.
II. REQUIREMENTS FOR SENSOR NETWORK
PROGRAMMING
It is obvious that sensor networks can be used in multiple
applications that can be deployed in diverse environments.
Moreover, it is very easy to modify the internal functionality of
sensor networks to perform different tasks to support many
sensor network applications. In this section we discuss
important requirements for sensor network programming.
A. Scalability
Many sensor network applications deploy hundreds or even
thousands of nodes collaborating to achieve desired goal(s);
High-Level Abstractions in Wireless Sensor
Networks: Status, Taxonomy, Challenges, and
Future Directions
Abrar M. Alajlan, Khaled M. Elleithy, Member, IEEE
2
thus, scalability is one of the major designing attributes in
sensor networks applications [6]. A scalable sensor network is
representing the ability of the network to maintain its
performance even when the network size has changed [7]. In
WSNs scalability can be defined in two terms; size and
geography. Scalability with respect to size states that if the
application works properly with a few nodes, it can perform
well with thousands of nodes. On the other hand, the
scalability with respect to geography is defined as the ability to
perform correctly in different geographical areas under
different environmental conditions [8]. Since we cannot
predetermine the location of sensor nodes and we cannot
assure the lifetime of sensor nodes, the programming model
should help programmers in such a way to design scalable
applications that are able to deliver accurate results [7].
B. Localization
In wireless sensor network applications there are hundreds
of nodes deployed in some areas such as underwater, in the
middle of desert, or in inaccessible terrains, so their locations
are random and unknown [9] , [10]. Thus, localization in
sensor network, the determination of the geographical
locations of sensors, is one of the important aspects for sensor
network programming [11]. Many localization techniques have
been proposed recently, either by deploying self-localized
technique or by installing a Global Positioning System (GPS)
device in each node to determine the exact location of the
sensor node.
C. Failure-Resilience
Failure resilience or (Fault-tolerance) is one of the most
challenging requirements in programming wireless sensor
networks [12]. Sensors are usually deployed in inaccessible
terrains where people cannot reach the sensor nodes at that
place. Some nodes might fail due to the resources limitation,
hardware fault or it could be an intrusion from attackers. The
failed sensors may lead to inefficient functioning of the
network [13].
Thus, the system should keep performing properly even
after unreliable communication, node failures, link failures, or
unavailability of the network due to misbehaving nodes
[14][15].
D. Energy-Efficiency
Energy efficiency is one of the most important issues in
designing sensor networks. The overall design of sensor
networks should mainly emphasize on enhancing the
performance in terms of reduced power consumption.
The total lifetime of a battery-powered sensor networks is
limited by the non-rechargeable battery's capacity and each
sensor node is equipped with a limited computation processor
to perform its task [16].
Energy efficiency is very important factor in developing
WSNs applications especially for continuous monitoring
applications such as disaster monitoring, military surveillance
and remote patient monitoring, etc. [17].
Thus, the programming model for sensor networks should
deploy some applications that attain a proper level of energy-
efficiency and able to deliver demanded results [18].
E. Collaboration
Collaboration is another important characteristic of
wireless sensor applications. WSNs applications have been
growing recently. These applications vary in terms of size and
number of nodes, from large scale networks to the small ones.
All nodes in one application need to communicate in such a
way so that the data from these sensors are gathered and
analyzed. Thus, collaboration between sensor nodes is
essential for these sensors to cooperatively and effectively
work together to complete the desired tasks [19] [20].
Collaboration is not an independent requirement, it can
support other requirements. For instance, collaboration
between sensor nodes may reduce the failure-resilience where
the sensing process remains functional even after one node
failed.
F. Time Synchronization
Time-synchronization between nodes is another essential
requirement for sensor programming execution. Many WSNs
applications such as tracking application and implementation
of TDM require a timer synchronization that is maintained at
each sensor node [21].
Clock synchronization is a process used to ensure an
accurate scheduling between nodes with no collision [22].
Moreover, WSNs have limited power therefore; time-
synchronization technique helps to reduce the power
consumption by passing some nodes off from time to time
[23].
III. PROGRAMMING APPROACHES FOR WSNS: A TAXONOMY
In this section we present taxonomy of the programming
high- level approaches for WSNs. Figure 1 depicts the entire
taxonomy that categorize the wireless sensor network
programming high-level approaches into group level and
network level abstractions.
High-level programming approach mainly focuses on
simplifying the collaboration between sensor nodes.
One approach is to divide the whole network into a set of
groups and treat each group as a single entity which is called
―Group-level abstractions‖. It helps the programmer to
describe collaborative algorithms easily. This approach is
further divided into physical groups and logical groups. In
physical group, the network can be grouped based on the
physical location of the node, whereas the logical group is
based on the shared properties among nodes.
The other approach of high-level abstraction is network
level abstraction or ―macroprogramming abstractions‖ where
the whole network is treated as a single entity. It is an
application centric-view, thus, it helps the programmer to
focus on the programming logics rather than programming the
platforms.
3
IV. GROUP-LEVEL ABSTRACTION
The main concept behind a group-level abstraction in
WSNs is to divide the whole network into small groups and
perform computations on those groups instead of dealing with
each single node. In a group- level abstraction, the network
can be grouped based on the physical locations of the nodes
(Neighborhood Based) or it can be grouped logically [24].
A. Physical Group
The notion of physical group or neighborhood based
group‖ is basically a node with its neighbor’s without paying
any attention to the properties of these nodes [18]. This
technique is used to hide the communication details between
the nodes and it can be used in ―localized algorithms‖ where
the interaction between participating nodes is limited to their
neighbors as in [25].
Hood
Hood is one example of a neighborhood- based
programming abstraction where a given node is limited to
communicate and share data with neighboring nodes only. This
physical closeness is determined by the physical distance or
the number of hops between the sensor nodes [26].
In Hood, all nodes in each group have to be in the same
network and if one node moves to another network then it is
not a member of that group.
Abstract Region
Another example of a neighborhood-based group abstraction is
Abstract Region which relies on the concept of grouping the
nodes in mesh, spanning tree or could be based on the
geographic locations of these nodes as shown on Figure 6 [27].
Abstract Regions as in Hood, cannot group nodes from
different network. Moreover, this model can be adapted within
different network conditions to attain different levels of energy
and bandwidth usage as well as the accuracy level of shared
operations. Also, each region is separated from other regions
and requires a specific implementation.
A. Logical group
A logical group abstraction can be defined as a set of nodes
that share the same properties in sensor networks such as node
types, sensor inputs, or perform the same tasks [14]. Unlike
neighborhood based, the logical group is considered to be a
dynamic group since it is based on the shared properties and
not limited by the physical location of nodes [28].
Logical group-based, cannot cross multiple networks at the
same time which means we cannot reuse the existing sensors
without reprogramming them [29].
EnviroTrack
One example of Logical based group is EnviroTrack. It is
an application used to track programs where a set of nodes that
detect the same event are grouped together [30].
SPIDEY
Another example of logical based group is a SPIDEY
language where a set of nodes are grouped based on their
shared properties [26]. In SPIDEY language, each node has
both static and dynamic attributes which are used to determine
the nodes logical neighbors as in [26]. SPIDEY delivers
communication APIs, where a broadcasted message is sent to a
logical neighborhood instead of nodes that fall in the same
communication range. This technique helps programmers to
clearly specify the communication range and which nodes to
select as a neighbor.
V. NETWORK-LEVEL ABSTRACTION
Recently, several macro-programming abstractions have
been introduced. Macro-programming systems or equivalently
―networking abstractions‖ considered to be high-level WSN
programming model where the whole sensors network is
treated as a single system [14].
This approach helps the programmers to emphasize on
improving the semantics of the program instead of studying the
characteristics of the programming environments [14].
One type of macroprogramming is node- dependent
abstraction where the programmers define the global behavior
Fig 1: A Taxonomy of programming global behavior approaches in wireless
sensor networks
4
of the entire system as a set of nodes that can be treated
simultaneously in one program [4].
A. Node Dependent Approach
Node-dependent approach is intended to deliver more
flexibility than group level approaches. This approach allows
programmers to define the global behavior of the computation
in terms of nodes and their states [31]
Kairos
Kairos is a node-dependent abstraction where the
neighboring nodes can be computed in parallel and
communicate using common requests at specific nodes [32].
Kairos has a centralized programming environment which is
translated later by the compiler to many executable effective
nodal programs [32]. Kairos enhances the use of sensor
programming languages by providing three simple
mechanisms: node abstraction, and accessing data on a remote
node [31].
Kairos implements an eventual consistency method; by
adopting this feature the program is able to deliver the most
accurate result even if an internal node is not assured to be
reliable. Thus, Kairos can be used with many well-known
programming languages such as python as in [32].
Regiment
Another example of node-dependent abstraction is Regiment, a
purely macroprogramming functional language that allows the
direct use of program state [2].
However, it uses what is called monads; described in more
detail elsewhere in [33]. In Regiment, programmers deploy
groups of data stream or what is called signals. These signals
used to represent the finding of each individual node.
Moreover, Regiment applies a multi-stage programming
mechanism to support the use of different programming
languages that are not maintained by the given program [34].
Also, Regiment enables the use of generics that qualify the
program to pass any data types as in C++.
VI. ANALYSIS AND EVALUATION
In this section, we focus on the most important strategies
that are used in each programming model to fulfil the
programming requirements discussed earlier.
A summary of how each level of the programming approaches
addresses these requirements is shown in the next three tables
below.
Table I shows the evaluation of macroprogramming
approach based on the programming requirements. The main
approach to satisfy scalability is to reduce the communication
between the sensor nodes. Regarding to localization, Regiment
provides the ability to divide the tested area to spatial regions
to facilitate the localization and communication processes.
Also, Regiment is resilient to failure where the master node or
(Anchor) in each region is responsible to cover if a node fails
or loses connectivity to others [2]. In addition, Kairos adopts
an eventual consistency method to deliver the most accurate
result even if an internal node is not assured to be reliable.
Kairos also uses a cashing technique to reduce the
communications and power consumption.
Evaluation Factor
Network-Level
Node-Dependent
Kairos
Regiment
Scalability
No evidence for support
Purely functional language. Permit the use
of fold, map functions.
Localization
Each node is only
responsible for localizing
itself
Use Region for the purpose of localizing
sensing
Failure-Resilience
Eventual consistency
Anchor ― leader‖ is an object persists
across node failures
Energy-Efficiency
Caching
Purely functional language. Permit the use
of fold, map functions
Collaboration
Implicitly express both
distributed data flow and
control flow.
Capable of expressing groups of nodes with
geographical, and logical relationships
Time Synchronization
Automatically synchronizes
nodes when a checkpoint is
taken or restored.
Use signals to represent the finding of each
individual node.
5
Table II shows how the programming requirements
implemented in each programming model at the group level
abstraction. Since all the programming models listed on table
II are group based abstractions, the scalability, collaboration
and data aggregation are supported through data sharing [14].
Caching technique is used in several programming models at
this level to reduce the communications between sensing nodes
and helps to save energy [27] [30].
Caching and abstract region are employed in Hood to
improve the communication failures by replacing the failed
data with the old cached one. [14].
However, SPIDEY utilizes redundancy mechanism to avoid
flooding the whole program and to limit the propagating of
information [32].
There are some components or functions attached to each
programming model to improve localization: Hood uses
mirror to reflect node locations or time synchronization
services [30]. In this case, abstract region starts with neighbor
discovery where each node initiates the process of discovering
the location of its neighbors [27]. As the tracked objects move
in EnviroTrack, the location of participating nodes has to be
known by using some functions like Location: avg (position)
[30]
From the previous analysis we can conclude the all these
requirements are dependent and related to each other. Indeed,
each single requirement can support or work in favor of other
requirements. For example, data sharing through multiple
nodes improves the scalability, collaboration and also energy-
efficiency.
Moreover, energy-efficiency and scalability is also can be
improved by reducing the communication between sensing
nodes.
VII. FUTURE RESEARCH DIRECTIONS AND
PROGRAMMING CHALLENGES FOR WSNS
As stated earlier, many programming approaches have
sought the development of programming support to address
the programming requirements of WSNs. In this section, we
highlight some open problems and challenges that need further
investigation to make wireless sensor programming reaches its
best level of performance and makes it highly usable and
efficient.
A. Reprogramming
Several programming approaches have been introduced and
discussed in the past decades. However, there are many
programming challenges still unresolved and need further
study to make the WSNs programming valuable and effective
; thus, in this section we list some of them and discus the future
direction of programming WSNs Reprogramming
The network programming requirements might change over
time, and this change could be parameter changes or
reprogram the entire system. Also, wireless sensors might
move from one network to another, but the limited resources
of these sensors may result in short-lived systems.
Thus, sensing nodes should have a dynamic
reconfiguration services to keep these sensors functional for a
long time [35].
B. Heterogeneity
Evaluation Factor
Group-Level
Physical Group
Logical Group
Hood
Abstract Region
EnviroTrack
SPIDEY
Scalability
Supported through
data sharing
Supported
through data sharing
etc.
Supported through
data sharing etc.
Supported through
data sharing etc.
Localization
Use mirrors to reflect
location.
Done at neighbor
discovery stage
As the tracked
objects move, the
location of have to
be known.
physical location of
each node should be
identified when
creating node.
Failure-Resilience
Caching :substitute the
data with old cached
data
Caching: substitute
the data with old
cached data
Dynamic group
management and
leader election
Utilize redundancy
mechanism
Energy-Efficiency
Power consumption
supported through data
sharing.
Supported through
data sharing
Caching low-level
control knobs.
through data sharing
Caching ("freshness
threshold")
Supports aggregation
at group level through
data sharing etc.
Collaboration
Asymmetric Group
definition and
operations on neighbor
Group definition and
operations on group.
Operation include
enumeration using
iterator and MPI-like
reduction
Dynamic group
definition and
operations on group
Group definition and
operations on group
Time Synchronization
Use mirror for time
synchronization
Use timeout
mechanism,
Timer handler to
executes one
iteration at time
Contains a time-
period attribute at
each node.
6
In WSNs, the basic form of heterogeneity is deploying
multiple different types of sensors in one application, each of
which performs different task and has different energy and
resources.
Heterogeneity in a WSN is used to improve the overall
reliability and lifetime of the network [36].
Heterogeneity in WSNs has two forms: physical
heterogeneity and logical heterogeneity.
From programming point view, how to deploy
heterogeneous sensors efficiently and how to program the
entire system with these sensors are the main concerns in
developing WSNs applications.
C. Quality of Service
Quality of service is one of the important challenges in
designing wireless sensors applications. As stated earlier,
wireless sensors are equipped with limited energy resources.
Accordingly, system designers need to balance between energy
consumed and some quality services such as accuracy and
error rates to get efficient results with a satisfying quality.
Quality is a very crucial element in designing sensor network
application since there are certain actions will be taken
according to the sensed result. [14].
The above requirements and the demanding deployment
environment of wireless sensors make sensor programming the
most challenging task in developing wireless sensors
applications. In spite of the considerable effort carried out to
let WSN programming model reach its best level of
performance, still there are several open problems that need
further investigation to make wireless sensor programming
highly usable and efficient.
VIII. CONCLUSION
In this paper, we have provided taxonomy of programming
high-level abstractions in wireless sensor networks. Two
different levels of programming approaches have been
discussed: group level and network level. Several examples
have been covered and evaluated based on some programming
requirements for each level. Designing efficient programming
models for WSNs has many challenges to overcome such as
reprogramming, heterogeneity, and quality of service.
Research must carry on in all capacities of sensor networks
programming model to address these challenges and we
believe that advances in WSNs programming models will
facilitate deploying energy efficient, reliable, and accurate
applications in the WSNs domain.
REFERENCES
[1] M. Tubaishat and S. Madria, ―Sensor Networks: An Overview,‖ IEEE
Potentials, vol. 22, no. 2, pp. 2023, April/May 2003.
[2] R. Newton and M.Welsh, ―Region Streams: Functional
Macroprogramming for Sensor Networks,‖ Proceeedings of the 1st
international workshop on Data management for sensor networks: in
conjunction with VLDB, 2004, pp. 78-87
[3] N.Marriwala and P.Rathee, An Approach To Increase The Wireless
Sensor Network Lifetime,‖ IEEE on Information and Communication
Technologies, Oct.2012, pp. 495-499
[4] S.Choochaisri, N. Pornprasitsakul, C.Intanagonwiwat, ―Logic
Macroprogramming for Wireless Sensor Networks,‖ International
Journal of Distributed Sensor Networks, 2012
[5] U.Bischoff and Kortuem, G., ―A State-based Programming Model and
System for Wireless Sensor Networks‖, IEEE
International Conference on Pervasive Computing and
Communications, March, 2007, pp. 19-23
[6] K. Akkaya and M. Younis, ―A Survey on Routing Protocols for Wireless
Sensor Networks,” Ad Hoc Networks, vol. 3, no.3, May.2005, pp.
325349
[7] M. Sousa, A. Kumar, M. Alencar , W. Lopes, Scalability in An
Adaptive Cooperative System for Wireless Sensor Networks,‖ IEEE
International Conference on Ultra-Modern Telecommunications
Workshops (ICUMT) , Oct. 2009
[8] R. Venkateswarlu and D. Janakiram, ―A Simple Model for Evaluating
The Scalability in Wireless Sensor Networks,‖ IEEE International
Conference on Intelligent Sensors, Sensor Networks and Information
Processing Conference, Dec. 2005
[9] N. Patwari, J. N. Ash, S. Kyperountas, A. O. Hero, R. L. Moses, and N.
S. Correal, ―Locating The Nodes: Cooperative Localization in Wireless
Sensor Network,‖ IEEE Signal Processing Magazine, vol. 22, July.
2005, pp. 5469
[10] Z. Chaczko, R. Klempous, J. Nikodem, M. Nikodem, J. Rozenblit, An
Improvement of Energy Aware Routing in Wireless Sensors Network,
European Modeling and Simulation Symposium, Barcelona, Oct. 2006
[11] T. Yasuhisa,―Node Localization for Sensor Networks using Self-
Organizing Maps‖, IEEE Topical Conference on Wireless Sensors and
Sensor Networks (WiSNet), Jan 2011, pp. 61-64
[12] M.Bellalouna A. Ghabri, ―A Priori methods for Fault Tolerance in
Wireless Sensor Networks,‖ IEEE World Congress on Computer and
Information Technology (WCCIT), June. 2013
[13] L.M. Wang, J.F. Ma, C. Wang, and A.C. Kot, ―Fault and Intrusion
Tolerance of Wireless Sensor Networks,‖ IEEE International Parallel
and Distributed Processing Symposium (IPDPS), April. 2006
[14] R. Sugihara and R.Gupta, ―Programming Models for Sensor Networks:
A Survey,‖ ACM Transactions on Sensor Networks, vol. 4, no. 2,
Article 8, March 2008
[15] D.Geetha, N. Nalini, R. Biradar, ―Active Node based Fault Tolerance in
Wireless Sensor Network,‖ Annual IEEE India Conference
(INDICON), Dec. 2012, pp. 404 409
[16] A. Alajlan, B. Dasari, Z. Nossire, K. Elleithy and V. Pande, ― Topology
Management in Wireless Sensor Networks: Multi-State Algorithms,‖
International Journal of Wireless & Mobile Networks (IJWMN), vol 4,
no. 6, Dec 2012 pp. 17-26
[17] D.Chaudhary, and L. Waghmare, ―Energy Efficiency and Latency
Improving Protocol for Wireless Sensor Networks,‖ IEEE
International Conference on Advances in Computing,
Communications and Informatics (ICACCI), Aug. 2013 pp. 1303
1308
[18] K. Vardhe ,C. Zhou, D. Reynolds, ―Energy Efficiency Analysis of
Multistage Cooperation in Sensor Network,‖ IEEE GLOBECOM, Dec.
2010, pp. 1 - 5
[19] M. Huang, and Y. Hen Hu "Collaborative Sampling in Wireless Sensor
Networks."IEEE GLOBECOM Dec.2010, pp. 1-5
[20] W. Li, J. Bao, and W. Shen,‖ Collaborative Wireless Sensor Networks: A
Survey,‖ IEEE SMC Oct. 2011, pp. 2614 2619
[21] S. Lee, U. Jang and J. Park, ―Fast Fault-Tolerant Time Synchronization
for Wireless Sensor Networks,‖ IEEE ISORC May.2008, pp. 178
185
[22] K. Yaguang, Z. Xifang, C. Huakui, ― Intelligent Time Synchronization
in Sensor Network‖, IEEE International Conference on Wireless,
Mobile and Multimedia Networks, Nov. 2006, pp. 1 - 4
[23] S. Lasassmeh and J.Conrad, ―Time Synchronization in Wireless Sensor
Networks: A Survey,‖ IEEE SoutheastCon, Mar. 2010, pp. 242 245
[24] H.Paul and T. McGregor, Wireless sensor networks: a distributed
operating systems approach,” Proceedings of New Zealand Computer
Science Research Student Conference, NZCSRSC, 2009
[25] D. Estrin, R.Govindan, J.Heidemann, ―Next century challenges: scalable
coordination in sensor networks,‖ Proceedings of the 5th annual
ACM/IEEE international conference on Mobile computing and
networking, 1999. pp. 263 270
[26] L. Mottola and G. P. Picco "Logical Neighborhoods: A Programming
Abstraction For Wireless Sensor Networks", Proc. 2nd International
Conference on Distributed Computing on Sensor Systems (DCOSS),
2006. pp.150 -168
7
[27] M.Welsh and G.Mainland, Programming Sensor Networks Using
Abstract Regions,‖ Proceedings of the 1st conference on Symposium
on Networked Systems Design and Implementation, vol.1, 2004
[28] L.Mottola and G. P. Picco ," Programming Wireless Sensor Networks
with Logical Neighborhoods, In Proceedings of the 1st ACM
International Conference on Integrated Internet Ad-hoc and Sensor
Networks (INTERSENSE), May 2006.
[29] P.Vicaire, E.Hoque, Z.Xie,‖ Bundle: A Group-Based Programming
Abstraction for Cyber-Physical Systems,‖ IEEE Transactions on
Industrial Informatics, vol.8, no.2, May 2012, pp. 379 392
[30] T. Abdelzaher. et. al. ―EnviroTrack: towards an environmental
computing paradigm for distributed sensor networks,‖ Proceedings of
the 24th International Conference on Distributed Computing Systems.
2004, pp. 582589.
[31] R. Gummadi, O. Gnawali, and R. Govindan, ―Macro-programming
Wireless Sensor Networks using Kairos,‖ Proceedings of the
International Conference on Distributed Computing in Sensor
Systems (DCOSS ) June 2006
[32] L. Mottola and G. P. Picco, ―Programming Wireless Sensor Networks:
Fundamental Concepts and State Of The Art,‖ ACM Computing
Surveys, vol. 43, no. 3, 2011
[33] E. Moggi,―Computational Lambda-Calculus And Monads,‖
Proceedings. Fourth Annual Symposium on Logic in Computer
Science, June.1989, pp. 14 23
[34] R. Newton, G. Morrisett, M. Welsh, ―The Regiment Macroprogramming
System,‖ International Symposium on Information Processing in
Sensor Networks, April.2007, pp. 489 498
[35] M. Rossi, G. Zanca, L. Stabellini, R. Crepaldi, A. F. H. III, and M.
Zorzi, ―SYNAPSE: A Network Reprogramming Protocol for Wireless
Sensor Networks using Fountain Codes,‖ in Proc. of IEEE SECON,
June.2008, pp. 188 196
[36] B. Rubio, M. Diaz and J. Troya, ―Programming Approaches and
Challenges for Wireless Sensor Networks,” IEEE Second
International Conference on Systems and Networks communications
(ICSNC), Aug. 2007
Abrar M. Alajlan: is a Ph.D. candidate in computer science and
engineering at the University of Bridgeport with research interests primarily
in wireless sensor networks. Her work focuses on programming the wireless
sensor networks and deploys them in hostile environments. Her most recent
working paper explores a new programming model to simulate wireless sensor
networks to find the best routing path. Abrar Alajlan graduated from Troy
University with a master's degree in MBA with a concentration in Information
Systems (IS) from Troy University, Troy, AL in 2011. She received a BS in
Computer Science from Umm Al-Qura University, Makkah, Saudi Arabia
Dr. Khaled Elleithy is the Associate Dean for
Graduate Studies in the School of Engineering at
the University of Bridgeport. He has research
interests are in the areas of network security,
mobile communications, and formal approaches
for design and verification. He has published more
than two hundreds research papers in international
journals and conferences in his areas of expertise.
Dr. Elleithy is the co-chair of the International
Joint Conferences on Computer, Information, and
Systems Sciences, and Engineering (CISSE). CISSE is the first
Engineering/Computing and Systems Research E-Conference in the world to
be completely conducted online in real-time via the internet and was
successfully running for six years. Dr. Elleithy is the editor or co-editor of 12
books published by Springer for advances on Innovations and Advanced
Techniques in Systems, Computing Sciences and Software.
... Several scalability metrics were used to compare the architectures, such as availability, latency, inter-server communication, resource costs, energy consumption, etc. In addition, several scalability difficulties faced by these categories, such as handling a huge volume of users, network resource management, information dissemination and storage, and energy consumption, have been thoroughly examined [7][8][9]. ...
... Here, the accuracy is calculated using (9). ...
Article
Full-text available
Macroprogramming's primary goal is to increase developers' productivity by providing high-level specifications of applications' behaviour at the system level. Macroprogramming may be a viable solution for developing complex IoT applications, such as those manipulating high data volume and heterogeneity. This paper updates a recent work identifying and analysing primary research on macroprogramming in IoT through a systematic literature mapping (SLM). We extended the search strategy scope by conducting an automatic search over five new databases and also performed the snowballing technique. As a result, besides the 38 studies group found in previous SLM, nine new papers were classified as relevant and rigorously analysed, totalising forty-seven studies. In comparison to previous work, results still point out the recurrence of abstractions in the network infrastructure, highlighting the use of frameworks in one-third of the applications and contributing with an overview of macroprogramming by researchers in different knowledge areas.
Article
The last decade witnessed a tremendous increase in popularity and usage of social network services, such as Facebook, Twitter, and YouTube. Moreover, advances in Web technologies coupled with social networks has enabled users to not only access, but also generate, content in many forms. The overwhelming amount of produced content and resulting network traffic gives rise to precarious scalability issues for social networks, such as handling a large number of users, infrastructure management, internal network traffic, content dissemination, and data storage. There are few surveys conducted to explore the different dimensions of social networks, such as security, privacy, and data acquisition. Most of the surveys focus on privacy or security-related issues and do not specifically address scalability challenges faced by social networks. In this survey, we provide a comprehensive study of social networks along with their significant characteristics and categorize social network architectures into three broad categories: (a) centralized, (b) decentralized, and (c) hybrid. We also highlight various scalability issues faced by social network architectures. Finally, a qualitative comparison of presented architectures is provided, which is based on various scalability metrics, such as availability, latency, interserver communication, cost of resources, and energy consumption, just to name a few.
Conference Paper
Full-text available
A wireless sensor network consist of small devices, called sensor nodes that are equipped with sensors to monitor the physical and environmental conditions such as pressure, temperature, humidity, motion, speed etc. The nodes in the wireless sensor network were battery powered, so one of the important issues in wireless sensor network is the inherent limited battery power within network sensor nodes. Minimizing energy dissipation and maximizing network lifetime are important issues in the design of sensor networks so if the power exhausted node would quit from the network, and it overall affect the network lifetime. Minimizing energy dissipation and maximizing network lifetime are important issues in the design of applications and protocols for sensor networks. In this paper there is improvement of lifetime of wireless sensor network in terms increasing alive nodes in network by using a different approach to select cluster head. The cluster head selection is based on the basis of maximum residual energy and minimum distance and chooses a optimal pat between the cluster heads to transmit to the base station.
Conference Paper
Full-text available
In this paper, we propose a novel idea of an active node model in Wireless Sensor Network (WSN) to identify the faulty nodes using battery power model and interference model. Fault tolerance against low battery power is designed through hand-off mechanism where in the faulty node selects the neighboring node having highest power and transfers all the services that are to be performed by the faulty node to the selected neighboring node. The hand-off mechanism involves transmitting the connectivity status of a faulty node such as source address, destination address, previous hop address, next hop address and time stamp to selected neighboring node. Fault tolerance against interference is provided by dynamic power level adjustment mechanism by allocating the time slot to all the neighboring nodes. If a particular node wishes to transmit the sensed data, it enters active status and transmits the packet with maximum power; otherwise it enters into sleep status having minimum power that is sufficient to receive hello messages and to maintain the connectivity. The performance evaluation is tested through simulation for packet delivery ratio and control overhead and we see that there is an improvement in the network throughput and reliability.
Article
Full-text available
This paper describes a novel group-based programming abstraction called a “Bundle” for cyber-physical systems (CPS). Similar to other programming abstractions, a Bundle creates logical collections of sensing devices. However, previous abstractions were focused on wireless sensor networks (WSNs) and did not address key aspects of CPS. Bundles elevate the programming domain from a single WSN to complex systems of systems by allowing the programming of applications involving multiple CPSs that are controlled by different administrative domains and support mobility both within and across CPSs. Bundles can seamlessly group not only sensors, but also actuators which constitute an important part of CPS. They enable programming in a multiuser environment with fine grained access right control and conflict resolution mechanism. Bundles support heterogeneous devices, such as motes, PDAs, laptops, and actuators according to the applications' requirements. They allow different applications to simultaneously use the same sensors and actuators. Bundles facilitate feedback control mechanisms by dynamic membership update and requirements reconfiguration based on feedback from the current members. The Bundle abstraction is implemented in Java which ensures ease and conciseness of programming. We present the design and implementation details of Bundles as well as a performance evaluation using 32 applications written with Bundles. This set includes across-network applications that have sophisticated sensing and actuation logic, mobile nodes that are heterogeneous, and feedback control mechanisms. Each of these applications is programmed in less than 60 lines of code.
Conference Paper
Full-text available
Wireless sensor networks and methods of developing user applications is an active research area with several unique challenges. In this paper we first present an overview of the current programming approaches. We then describe a system under development that adapts techniques from the distributed operating systems world to create a new method of programming wireless sensor networks.
Article
Full-text available
In order to maximize the network's lifetime and ensure the connectivity among the nodes, most topology management practices use a subgroup of nodes for routing. This paper provides an in-depth look at existing topology management control algorithms in Multi-state structure. We suggest a new algorithm based on Geographical Adaptive Fidelity (GAF) and Adaptive Self-Configuring Sensor Networks Topology (ASCENT). The new proposed algorithm outperforms both GAF and ASCENT algorithms.
Article
Wireless sensor networks (WSNs) are attracting great interest in a number of application domains concerned with monitoring and control of physical phenomena, as they enable dense and untethered deployments at low cost and with unprecedented flexibility. However, application development is still one of the main hurdles to a wide adoption of WSN technology. In current real-world WSN deployments, programming is typically carried out very close to the operating system, therefore requiring the programmer to focus on low-level system issues. This not only distracts the programmer from the application logic, but also requires a technical background rarely found among application domain experts. The need for appropriate high-level programming abstractions, capable of simplifying the programming chore without sacrificing efficiency, has long been recognized, and several solutions have hitherto been proposed, which differ along many dimensions. In this article, we survey the state of the art in programming approaches for WSNs. We begin by presenting a taxonomy of WSN applications, to identify the fundamental requirements programming platforms must deal with. Then, we introduce a taxonomy of WSN programming approaches that captures the fundamental differences among existing solutions, and constitutes the core contribution of this article. Our presentation style relies on concrete examples and code snippets taken from programming platforms representative of the taxonomy dimensions being discussed. We use the taxonomy to provide an exhaustive classification of existing approaches. Moreover, we also map existing approaches back to the application requirements, therefore providing not only a complete view of the state of the art, but also useful insights for selecting the programming abstraction most appropriate to the application at hand.
Conference Paper
The wireless sensor networks (WSN) represent a very promising domain. They can be used in a large variety of applications due to their easy deployment and their low cost of construction. These networks are composed of plenty of sensor nodes that are deployed in the monitoring field, and they form a multihop self-configured network by means of wireless communication. Sensor nodes have processing, perception and communication ability. However, they are subject to different forms of failures that affect their reliability. These problems include hardware failures and computer attacks which are, nowadays, a real threat constantly growing. The fault tolerance is considered as a critical issue and a very interesting subject of research in wireless sensor networks (WSN). To realize some applications such as disaster relief, medical care, environmental monitoring and military surveillance, reliability is fundamental and essential. Without secure routing and successful transmission, many applications of wireless sensor networks cannot work. Because of the sensitivity of many applications of sensor networks, several research projects have been conducted in order to find solutions to these networks in the presence of failures and intrusions. All the fault- tolerant approaches are characterized by their own disadvantages and advantages, making them adapted to various applications. In this paper we describe the common failures of sensor nodes and the different methods using to guarantee the proper functioning of the network, and also a theoretical modeling of a probabilistic combinatorial optimization problem is explored in order to minimize the energy consumption and improve fault-tolerance for WSN.
Conference Paper
In delay sensitive applications of wireless sensor network, it is required to monitor the situation continuously with the sensors. The continuous monitoring operation results in more energy consumption of the sensor nodes. If the delay in data processing and it's communication from one node to other is more, then energy requirement may increase. In most of the situations, it is difficult to replace the battery of a sensor node, after the deployment of node in the network. The efficient energy management and low latency are the important issue in such applications as they affect the life of network. Many protocols are suggested by various researchers for energy efficient data process and minimum latency in sensor networks. There are limitations in existing protocols as they are particularly designed either for energy efficiency or minimum latency or for both. This paper presents the new protocol to overcome some of the existing protocol's limitations. In this paper, a concept of distance metric based routing protocol approach is explored, for 'high energy efficiency' and 'shortest path selection' for latency improvement. The proposed new protocol is 'Dynamic Energy Efficient Latency Improving Protocol (DEELIP)'. The simulation results are compared with 'AODV' routing protocol. It is observed that in proposed protocol; the overhead of the network traffic is reduced, resulting in improvement of energy efficiency and latency than existing routing protocols.
Conference Paper
The localization of sensor node is one of the key issues for sensor network systems. Therefore, several localization systems to obtain precise location information have been researched. However, they need completely configured space using a large number of anchor nodes of which location are well known, and are not suitable for sensor networks. To avoid the problems, we proposed the node localization method based on Self-Organizing Maps and needs no prepared space with a large number of anchor nodes. But, as in other similar precise localization methods, the proposed method needs advanced distance measurements unavailable in conventional sensor node systems. In this paper, the modification of the self-organizing localization for distance measurement that uses received signal strength available in conventional sensor node systems is described and its location estimation accuracy is shown.