Conference PaperPDF Available

Discrete Event Simulation Framework for Power Aware Wireless Sensor Networks

Authors:

Abstract and Figures

The PAWiS (power aware wireless sensors) simulation framework facilitates design and simulation of wireless sensor network models. Main focus is given to power efficiency and therefore on capturing inefficiencies in various aspect of the system. These aspects include all layers of the communication system, the targeted class of application itself, the power supply and energy management, the central processing unit (CPU) and the sensor-actuator interface. The proposed simulation framework is based on the OMNeT++ discrete event simulator and provides PAWiS specific features (e.g. a mechanism to handle RF channel transmissions) to simulate, analyze and optimize the aforementioned aspects.
Content may be subject to copyright.
Discrete Event Simulation Framework for
Power Aware Wireless Sensor Networks
Daniel Weber, Johann Glaser and Stefan Mahlknecht
Abstract The PAWiS (Power Aware Wireless Sensors) sim-
ulation framework facilitates design and simulation of wireless
sensor network models. Main focus is given to power efficiency
and therefore on capturing inefficiencies in various aspect of the
system. These aspects include all layers of the communication
system, the targeted class of application itself, the power supply
and energy management, the central processing unit (CPU) and
the sensor-actuator interface. The proposed simulation frame-
work is based on the OMNeT++ discrete event simulator and
provides PAWiS specific features (e.g. a mechanism to handle
RF channel transmissions) to simulate, analyze and optimize the
aforementioned aspects.
I. INTRODUCTION
T
HE proposed simulation framework assists in developing,
modeling, simulating, and optimizing wireless sensor
network (WSN) nodes and network protocols. These sensor
networks are mainly used in building automation, car in-
terior devices, container tracking, building maintenance and
monitoring, and geological surveillance. Individual nodes may
comprise various types of sensors for temperature, humidity,
insolation, strain gauge, and more. The simulation covers the
internal structure of these nodes as well as communication
among them. Sensor nodes forming a network communicate
with each other via an ad-hoc multi-hop network (packets are
routed from node to node whereas the routing information
accumulates during the network operation).
The range of applications to be simulated covers simple
applications like tiny sensor nodes (e.g. the TinyMote [1]), tire
pressure monitoring, and car climate control as well as systems
as complex as home entertainment systems (e.g. Sindrion).
Nevertheless, several aspects regarding power aware wire-
less sensors (PAWiS) are emphasized and directly supported
by the proposed framework. The main goal is to simulate and
develop PAWiS nodes in a way to reduce the overall power
consumption by carefully optimizing various design aspects
within the context of the application (e.g. nodes, potentially
with a very low power consumption supplied from a single
battery or utilizing energy scavenging to achieve lifetimes up
to ten years).
II. SIMULATION FRAMEWORK
A. General
Within the PAWiS simulation framework each node is built
as a virtual prototype in a way that its function, timing and
power consumption as well as system failures are simulated.
The basic design methodology begins (according to a top down
approach in Fig. 1) with a functional specification of nodes
Institute of Computer Technology, Technical University of Vienna
Email: {weber,glaser,mahlknecht}@ict.tuwien.ac.at
to specify node-internal interfaces, data flow and processes.
After that model implementations have to meet architectural
Functional
Architecture
Implementation
R
e
q
u
i
r
e
m
e
n
t
s
C
o
n
st
r
a
i
n
t
s
Left Right
Top-Down
Fig. 1. Framework design methodology.
requirements stated by hard- and software constraints. These
implementations are simulated and the resulting constraints
in return affect the architecture and potentially the functional
specifications in a bottom up manner.
The framework is primarily focused on simulating inter- and
intra-node communication. Additionally, finer grained aspects
(e.g. CPU instruction set emulation as used by [6]) can be
easily modeled with user extensions. However a trade-off
between simulation details and execution performance (as
discussed in [5]) has to be considered with increasing quantity
of network nodes.
B. Structure
The PAWiS simulation framework is based on the
OMNeT++ discrete event simulator [2] [3] which is written
in the C++ programming language (Fig. 2). A discrete event
simulation system operates on the basis of chronological
consecutive events to change a system’s state. These events
are processed by the simulation kernel and can be further
prioritized if more than one event occurs at an instant in
simulation time to achieve a deterministic event execution.
Simulation time itself does not progress in discrete steps but is
advanced with each occurring event (hence it is not possible to
issue events that are scheduled before the current simulation
time). The proposed framework handles timing related issues
with this discrete event mechanism.
The user of the framework is only confronted with OMNeT
to comprehend the simulation process. User defined models are
implemented in C++ and mostly utilize framework concepts.
Node composition and network layout as well as environ-
mental and setup parameters are specified in configuration
files. User defined model implementations can be compiled
(optionally with a GUI based on Tcl/Tk) to an executable
simulator. The optional GUI enables visual debugging of the
workflow and communication processes of the model on a per-
event basis at simulation runtime. An additional feature is the
Model
PAWiS Framework
Air
C++
OMNeT++
CPU
Power
Management
Misc
Radio
Programmer
Executeable Simulator (optional with GUI)
Fig. 2. Structure of the PAWiS simulation framework.
possibility to use SystemC [4] in parallel with OMNeT. This
is achieved by modifying the OMNeT simulation kernel in a
way that not only events from OMNeT are being processed
but SystemC events are considered and processed at the ap-
propriate point in simulation time. In the framework structure
diagram (Fig. 2) the SystemC block would be located between
the OMNeT++ block and the C++ block. That means the
OMNeT kernel keeps the control and additionally dispatches
SystemC events.
Primary simulation result represent logging information
containing timing and power consumption profiles as well
as event records. The completed model itself contains infor-
mation regarding the functional description and architecture
specifications along with low level implementation details.
C. Basic Concepts
1) Modularization: A wireless sensor node is typically
composed of various hardware modules (e.g. a CPU, timer,
radio and so on). The framework supports this composition
of hardware modules and suggests an additional composition
of software modules (e.g. the network protocol stack could be
composed of modules representing application, routing, MAC
and physical layer). The detail and granularity of sensor node
decomposition strongly depends on the design and simulation
requirements. If the main focus of the design is set to network
layers it is recommended to provide a module for each layer
in order to analyze multiple layer combinations. On the other
hand a focus on hardware units would result in modules
representing hardware or any applicable combination of soft-
and hardware modules.
User modules (representing either hard- or software) simply
need to be derived from a framework base class in order to
be handled by the framework.
2) State machines: Every module is executing its specific
jobs which can be represented as finite state machines (FSM),
that are implemented as class methods. Within one module
several FSMs can be implemented and run in parallel. The
framework even allows to pass parameters to and from such
tasks. The execution within one FSM is sequential but all
FSMs are running apparently in concurrent fashion.
This concurrency is implemented as cooperative multi-
threading. The framework provides yielding methods for FSMs
where the execution control is handed back to the simulation
kernel. This means that for a FSM, the program flow is
suspended on this method (e.g. to wait for some condition to
be satisfied) and will continue execution after being dispatched
again afterwards. For FSMs simulation time usually elapses (or
at least some other events occur) at these yielding methods.
3) Functional Interfaces: Control flow transitions between
two modules are specified by so called Functional Interfaces
(FI). They can be thought of as subroutines with well known
names and parameter specifications. An invocation of a FI is
similar to a blocking subroutine call but exceeds the module
boundary. The framework allows the passing of arguments to
and from FIs. In the model, FIs are implemented as class
methods that are registered to the framework with their well
known names. A collection of FIs grouped together under a
well known name can be thought of as a functional module
type description. This introduces a level of abstraction in the
functional design process and enables reusability of functional
design. Two modules that are completely satisfying the speci-
fication of a FI can said to be functional equivalent (although
they might have entirely different power consumption and
timing profiles).
4) CPU: Submodules of a sensor node are usually either
implemented as firmware (software), i.e. are executed by a
CPU, or as dedicated hardware. Simulation modules that are
utilizing the CPU are referred to as software modules whereas
other modules are referred to as hardware modules. It is
important to note that software tasks (a task of a software
module) can not run in parallel, since only one CPU is
available. These software tasks give control to the CPU when
they need to simulate code execution on the CPU. The CPU
module of the framework ensures that only one task’s code
simulation is executed at a time and takes care of the task’s
timing behavior. When the CPU has finished simulation of
a software task’s code processing, it reactivates the task (for
user this behaves like “call” and “return”) which continues its
execution after the CPU request.
To model the power consumption and timing behavior of
software tasks the PAWiS simulation framework splits the
simulation into two parts. The functional part of the software
(the FSMs) is implemented in C++ inside the methods within
a software module. The timing and power consumption part,
on the other hand, is delegated to the CPU module which
maintains its power consumption and delays execution of the
software task for the calculated processing time (the time that
the code execution on the CPU would take). The execution
time and power consumption of a software task’s code on the
CPU is calculated in a user defined method and currently based
on
the percentage of integer operations,
the percentage of floating point operations,
the percentage of memory access operations,
the percentage of flow control operations
(loops, conditions) and
the duration of code execution in norm time.
The duration is related to a norm CPU which means that the
code in question would need duration seconds on an imaginary
but well defined CPU. This abstraction of the CPU allows for
a CPU exchange without the need to adapt other modules.
The mapping from norm CPU time to real CPU time has to
be provided by the user model.
5) Timing: Modeling time delays is different in firmware
and hardware modules. For hardware modules the framework
provides a simple wait method to suspend execution for
a certain amount of time. A call to this method transfers
execution control back to the simulation kernel which in turn
dispatches other modules for execution. After the timeout has
elapsed the module continues execution right after the call to
the wait method.
However, this is not valid for software tasks because it is not
possible to wait and do nothing in software (even an infinite
loop without body does something on the CPU). In fact, if
delays are needed in software the corresponding module has
to use a loop (or a similar construct) to wait for a certain
time and therefore utilize the CPU to achieve the timeout.
The framework offers a variety of methods to utilize the CPU
for timing and flow control purposes.
An important consequence of this timing model is that
consecutive user code lines without a wait call or a CPU
utilization request take place in the same simulation time
instant (i.e. no simulation time elapses during that code
execution). Simulation time only advances outside of user
code (e.g. within the simulation kernel) or when these special
methods are invoked.
6) Interrupts: The framework provides a basic mechanism
to model interrupt handling which is implemented in several
steps. It supports the handling in form of mappings between
interrupt sources and interrupt vectors and
interrupt vectors and interrupt service routines.
Additionally the framework takes care of the appropriate task
scheduling when interrupts are issued.
Within the modeled microcontroller several interrupt
sources exist (coming from other modules e.g. a timer, an
analog-digital-converter,). Each of these sources is mapped
to an interrupt vector. Furthermore every vector maintains a
priority and an interrupt service routine (ISR). The frame-
work’s CPU module handles everything except prioritizing of
interrupt vectors which has to be provided by the user model
by overriding the CPU base class.
The user can register ISRs for interrupt vectors within
software modules. When interrupt sources trigger interrupt
requests, the CPU module determines the appropriate interrupt
vector, checks its priority and if necessary transfers control
to the ISR (which is within a software module). In case of a
control transfer, the currently executed CPU task is interrupted
and continues execution after the ISR has finished.
7) Environment: All sensor nodes are placed at 3D posi-
tions within the Environment. This is a representation of the
the outer world and surroundings of all nodes including the
RF channel.
RF Channel
Energy
Sensors
Obstacles
Properties
Dynamics
Interactivity
Sensor Node
Fig. 3. The Environment with properties, objects and sensor nodes.
Besides the nodes themselves also other objects like walls,
floors, trees, interferers, heaters, light sources, ... reside within
the environment. Additionally global properties (e.g. the at-
tenuation exponent b (see Sec. II-C.8)) are defined. The entire
Environment can be configured with a config file.
The sensors of a WSN node can query physical environ-
ment data values from the Environment in order to simulate
sensor readings. The values themselves could be simulated
or acquired from a predefined data file. The framework user
is totally free to set up the simulator for any physical unit
required for his/her application.
From a software design point of view, the simulated sen-
sor can register for notifications of changes in the targeted
environmental data domain instead of frequently polling the
domain thus reducing the computational load.
Future versions of the framework will include a script
engine to simulate dynamic processes (e.g. simulate moving
cars with built in sensor networks). Additionally a three
dimensional environment visualization with interactive control
abilities is planned.
8) Air: The Air is an essential part of the Environment to
handle the RF channels, which are defined by node placement
and obstacles between nodes. The RF signal is subject to wave
propagation phenomenons like attenuation, reflection, refrac-
tion and fading (multi-path propagation) from the transmitter
to the receiver.
a) Theory: The current implementation of the Air only
handles attenuation effects, because other effects would re-
quire an enormous complexity in the simulator which is not
necessary in the targeted field of application. For free space
propagation the recipient power is defined by
P
Rx
= P
Tx
G
Tx
(
ϕ
Tx,Rx
) ·
G
Rx
(
ϕ
Rx,Tx
)
λ
4π
2
d
b
(1)
where G
Tx
(
ϕ
Tx,Rx
) is the antenna gain of the transmitter in
the direction to the receiver and G
Rx
(
ϕ
Rx,Tx
) is the antenna
gain of the receiver in the direction to the transmitter. λ is
the wavelength, d is the distance between the two nodes and
b is the attenuation exponent. The latter is typically around 2
for free space propagation, but for indoor environments higher
values like 3.5 are more appropriate.
Alternatively the received power can be calculated by di-
viding the transmit power by the surface of a sphere 4πd
2
(replacing the exponent by b) with radius equaling the distance
between the receiver and transmitter d. After that the “diluted”
power density is multiplied by the antenna area A
Rx
of the
receiver.
P
Rx
= P
Tx
1
4π
d
b
A
Rx
(2)
The attenuation from the transmitter j to receiver i is given
by
A
i,j
=
P
Rx,i
P
Tx,j
(3)
where i and j are the index of the node (i, j 1, 2, . . . , n).
Calculating the attenuation from any node to every other node
gives the node adjacency matrix
A =
A
1,1
A
1,2
· · · A
1,n
A
2,1
A
2,2
· · · A
2,n
.
.
.
.
.
.
.
.
.
.
.
.
A
n,1
A
n,2
· · · A
n,n
. (4)
Let the vectors
P
Tx
and
P
Rx
hold the transmitted and re-
ceived power of all n nodes, respectively. Then the calculation
of received power is given by the simple matrix operation
P
Rx
= A
P
Tx
. (5)
Since the results only make sense when a single transmitter is
active, only one value in
P
Tx
is different from zero and the
matrix multiplication in (5) reduces to a single column scaling
operation.
The adjacency matrix is a precisely defined interface from
the Environment to the data communication. For an actual
environment setup A is calculated. This is used during the
network simulation as shown in (5). Due to this simple
interface, A can also be calculated by an external RF channel
simulation tool.
The current implementation of the Air supports only
isotropic antennas with uniform antenna gain. Obstacles are
considered for the adjacency matrix by explicitly given ad-
ditional attenuation factors between pairs of nodes in the
Environment configuration.
Whenever data packets are transmitted via the Air, every
node with a received signal power above a certain threshold is
notified. This notification contains the receiver power and the
user data including the bit length of the transmission. Then
the receiving node calculates the signal to noise ratio (SNR)
between its own signal power P
signal
and the received noise
power P
noise
with
SNR =
P
signal
P
noise
. (6)
From this SNR the bit error ratio (BER) is calculated (the
formula can be provided by the user). The BER is a function
of the SNR depending on the modulation format. From the
calculated BER and the bit length of the transmission the bit
error count is calculated and reported to the user module (e.g.
to decide whether the received packet is valid or treated as
noise).
If during the reception of a packet another node starts to
send, this second signal is uncorrelated to the first sender. The
framework models it as noise and therefore decreases the SNR
of the receiver. Such events can happen several times during
the reception of a data packet therefore the receiver has to deal
with changing SNR throughout the packet receiving process.
The final count of bit errors thus results from this sequence
of different SNR values and is assembled from the portions of
constant SNR. So the bit errors are calculated for all portions
of the packet with constant SNR.
9) Power Simulation: A key feature of the framework
(regarding PAWiS requirements) is given by the power con-
sumption simulation of tasks. There are currently two ways to
report power consumption requirement:
directly report current and voltage or
set up a hierarchy of power distribution and supply.
The first way is straightforward and just requires a function
call to report the power requirement. This requirement is
directly handed over to a central logging class called Power
Meter. The resulting logging information is comprised of
simulation time, voltage, current and the initiator of the task.
With the initiator information it is possible to identify the
module that requested the power consuming operation in the
first place (e.g. the MAC module could be responsible for
getting the radio module to consume some power).
The latter way of reporting relies on some setup to be
done at simulation startup (the point where the network
is generated). This setup includes registration of modules
that serve as a power supply (it implements the appropriate
interface) and subscribing tasks which is a method with a
certain profile in any module that are utilizing such a power
supply (Fig. 4 shows the relationship between a power supply
and a subscriber called a power reporter as an UML model
diagram). During the simulation a task calculates its current,
reports this to its power supply and is notified about the actual
input voltage by the power supply in return. This mechanism
recursively propagates up the supply tree (breadth-first) and is
finally reported to the Power Meter.
The consumed power equals P = U · I where the supply
voltage U is provided by the supply module. Every subscriber
(consumer or reporter) can have different electrical behavior,
i.e. the current I depends in different ways on the supply
voltage U . Currently three kinds of Power Reporters are
provided but the framework facilitates the definition and usage
of user defined ones.
+getOutputVoltage()
Power Supply
+getCurrent()
Power Reporter
-is supplied
1
0..1
-maintains
1
0..*
-is supplied
1
1
Fig. 4. Power simulation structure diagram.
Constant reporter: I = I
const
. The current does not
depend on the supply voltage.
Resistive reporter: I =
U
R
The supply current is propor-
tional to the supply voltage, typically as for a resistor.
Linear reporter: I = I
const
+
U
R
. A constant current plus
a supply voltage dependant portion.
User defined reporter: I = f (U, ...). By deriving from
a certain framework class it is possible to specify any
electrical behavior (e.g. some non-linear characteristics).
A power supply module calculates its output voltage depend-
ing on the sum of output current reported by its subscribers,
therefore the framework provides a mechanism to specify
different power supply behaviors too. This power consumption
model results in a simple electrical network.
A task does not necessarily need to keep a specified
electrical behavior all the time. At any point in a task the
power reporter characteristic can be changed resulting in an
immediate update of the power supply. In return the new
reporter handles all supply voltage changes according to its
properties automatically.
Finally it has to be mentioned that only tasks that simulate
dedicated hardware do direct power reporting as described
above. On the other hand tasks that are intended to run as
software just report its CPU utilization requirements. As a
consequence the CPU calculates its own power consumption
according to the utilization and reports this. The aforemen-
tioned initiator information of a power log entry is very
important for software tasks, because the power consumer for
a software task is always the CPU. Hence this information is
needed to identify the specific task that caused the CPU to
consume power.
III. WORKFLOW
The basic idea of modeling a PAWiS node with the sim-
ulation framework is to decompose the node into functional
blocks. These blocks can represent hardware as well as soft-
ware depending on the project’s requirements (e.g. application,
physical, MAC, routing, timer, etc.). Each functional block can
be implemented within a so called module to be accessible by
the framework. Furthermore, various modules can be com-
bined to form a node-module (called a compound module).
The implementation within a module has to meet the
specification of the Functional Interfaces according to the type
of the module. This forms another key idea of the modeling
process, namely to provide a library with multiple different
implementations for a specific type of module. The resulting
module type implementation library can be used to evaluate,
refine and test architectural issues of the user’s model.
Initially a simulated PAWiS node may be composed of
module type implementations that just meet the minimum
functional requirements. However, it is important to note that
modules, that represent two adjacent layers in the model
design, do not necessarily need to have matching Functional
Interfaces. So the model designer has to make sure that
adjacent layer implementations meet each others functional
interface requirements. After selecting the appropriate modules
from the library and after configuring these modules (e.g. clock
frequency of CPUs, resolution of ADCs, etc.) this basic model
can be simulated. The results can now be reviewed to verify
global or architectural model design issues. This concludes the
initial phase in the design work flow.
A next step includes the refinement of the model or of
specific modules. This can concern the model behavior (i.e.
implement it in a more detailed and accurate way) as well as its
function, module configuration or the entire node composition.
After refining the model according to the project’s design goals
it can be simulated and the work flow cycle can start again.
This concludes the intended work flow which is a cyclic
application of
selecting module type implementations,
configuration of modules,
simulation of the model,
evaluation of the model and
refinement of the design.
These cyclic model improvements are called refinement cycles
and are the main track to enhance the development and design
[7]. When these refinement cycles are completed, the final
outcome is comprised of
the function,
the architecture of the node,
the implementation details, and
the power specification of every module.
IV. DATA POST PROCES SING
During the simulation of a network model, a log file with
information regarding
power consumption,
timing,
events and
module interaction.
is generated for further analysis. Although the resulting file
is human readable it can be quite difficult to gain meaningful
information from the plain text. In order to enable the user to
easily extract useful information, an application is developed
for displaying visual representations (Fig. 5 shows a screen
shot of the application) of the log file (the application can
be compiled under multiple platforms as it is written with
wxWidgets [8] and OpenGL). The application parses the log
file and organizes the information in a hierarchical manner
(each of the following elements can also have events assigned)
starting with
PAWiS nodes,
Fig. 5. Data post processing tool.
modules,
submodules and
user defined categories.
Each of these elements can be enabled or disabled for display-
ing and are provided with a display color. Several navigational
helpers like panning, zooming, scrolling, snapping and similar
functionalities support the user. Additionally, the application
provides various operations on data rows like integrating,
finding significant power peaks, min-max and so on.
V. OPTIMIZATION
Several strategies for the optimization of the wireless sensor
system are available. The first alternative is to perform a system
level optimization. This includes the node composition and
even modifications of the whole system behavior like choosing
different network layout or application patterns. System level
optimization results in an adequate system architecture.
Alternatively cross-layer optimization can be performed.
This means that more than one network layer is modified at
a time. While it is possible that a single module update itself
would degrade the node performance, the interaction of all
module updates on the other hand leads to an improvement of
the entire node performance.
A first technique to decide upon aspects for optimization of
the model can be based on the pure function of the model (with
the simulator GUI it is possible to see wrong or insufficient
behavior during runtime). Additionally it is recommended to
use the proposed data post processing tool to analyze the
power consumption profile of nodes and distinct modules.
Additionally the tool can be used to check the timing behavior
and progression of certain events.
Within the framework, considering the aforementioned tech-
niques, it is possible to use any form of optimization by
applying the following strategies.
Exchanging an actual module implementation for a cer-
tain module type (specified by its Functional Interface)
by selecting a different one from the library, e.g. a dual-
slope, a Σ∆ or an SAR ADC. Another example would
be exchanging of communication layers (e.g. exchange
the MAC protocol).
Exchanging multiple module implementations for mod-
ules with Functional Interfaces that belong together (e.g.
change MAC and routing protocol).
Partitioning of modules and/or functions by dividing the
task between hardware and software, digital and analog
or RF and baseband. For example a specific MAC pro-
tocol could be implemented in software or as dedicated
hardware acceleration unit. A combination of both is also
possible.
Re-scaling a module, e.g. the resolution of an ADC or
the register count of a CPU.
Parameterization of modules, e.g. the timing, transmis-
sion power and bit rate of a radio transmitter.
VI. CONCLUSION
The proposed PAWiS simulation framework is available in
a preliminary version. It is currently being evaluated with
the implementation of a model (including hard- and software)
from a real sensor node [9].
OMNeT has turned out to be a good discrete event simulator
with good support and a large community. The simulation
framework model itself has been proven to be sufficient
enough to meet the specified PAWiS domain requirements.
However, various additional features will be added to later
versions of the framework (e.g. dynamic simulation behav-
ior via scripting, interactive 3D environment, more complex
power handling methods, etc.).
Additional and updated information regarding the PAWiS
project and the simulation framework as well as the framework
source code can be found under [10].
REFERENCES
[1] M. Roetzer, “Routing in energieautarken Funksensornetzwerken, Vi-
enna, Austria, 2004.
[2] A. Varga, “The OMNeT++ discrete event simulation system, in Euro-
pean Simulation Multiconference (ESM’2001) , Prague, Czech Republic,
2001.
[3] “OMNeT++ Community Site, 2007. [Online]. Available:
http://www.omnetpp.org
[4] “SystemC: Project Documentation, 2007. [Online]. Available:
http://www.systemc.org
[5] J. Heidemann, N. Bulusu, J. Elson, C. Intanagonwiwat, K. chan Lan,
Y. Xu, W. Ye, D. Estrin, and R. Govindan, “Effects of detail in wireless
network simulation, in Proceedings of the SCS Multiconference on
Distributed Simulation, USC/Information Sciences Institute. Phoenix,
Arizona, USA: Society for Computer Simulation, January 2001, pp. 3–
11.
[6] J. Polley, D. Blazakis, J. McGee, D. Rusk, and J. S. Baras, Atemu: A
fine-grained sensor network simulator, in First Annual IEEE Commu-
nications Society Conference on Sensor and Ad Hoc Communications
and Networks, 4.-7. Oct. 2004, pp. 145–152.
[7] S. Mahlknecht, J. Glaser, and T. Herndl, “PAWIS: Towards a Power
Aware System Architecture for a SoC/SiP Wireless Sensor and Actor
Node Implementation, in Proceedings of 6th IFAC International Con-
ference on Fieldbus Systems and their Applications, Puebla, Mexiko,
14.-15. Nov. 2005, pp. 129–134.
[8] “wxWidgets Homepage, 2007. [Online]. Available:
http://www.wxwidgets.org/
[9] S. Mahlknecht, S. A. Madani, and M. Roetzer, “Energy Aware Distance
Vector Routing Scheme for Data Centric Low Power Wireless Sensor
Networks, in 4th International IEEE Conference on Industrial Infor-
matics INDIN 06, 16-18 Aug. 2006.
[10] “PAWiS Project Homepage, 2007. [Online]. Available:
http://www.ict.tuwien.ac.at/pawis/
... The general purpose network simulators do not address WSN specific unique characteristics while WSN specific simulators mostly lack the capability of capturing and analyzing the power consump-tion and timing issues at the desired level of granularity. The proposed PAWiS simulation framework [1,2] assists in developing, modeling, simulating, and optimizing WSN nodes and networking protocols. It particularly supports detailed power reporting and modeling of wireless environments. ...
... This architecture allows node replication for network simulation, where each node is run as independent computational entity. However, AVRORA supports solely AVR MCU [1] cores and does not ...
... PAWiS (Power Aware Wireless Sensors) simulator was developed to facilitate the design and simulation of USN. It is based on the OMNeT++ simulator and the idea of decomposing the node into functional blocks which can be hardware or software (Weber et al., 2007;PAWiS, 2017). ...
Article
Recent human effort has been directed at expanding pervasive smart environments. For this, ubiquitous computing technology is introduced to provide all users with any service, anytime, anywhere, with any device, and under any network. However, high cost, long time consumption, extensive effort, and in some cases irrevocability are the main challenges and difficulties for developing ubiquitous systems. Therefore, one solution is to initially simulate, analyze, and validate practices prior to deploying sensing and computational devices in the real world. Simulation, as a performance evaluation technique, has attracted attentions due to its speed, cost-effectiveness, repeatability, scalability, flexibility, and ease of implementation. Moreover, emulation, as a hybrid method, not only offers most simulation advantages, but also benefits from tight control of implementation, as well as a certain degree of realistic results. Both simulators and emulators are significant tools for enhancing the understanding of ubiquitous sensor networks (USNs) through testing and analyzing several scenarios prior to actual sensor placements. In this regard, this paper surveys 130 simulation and emulation environments and frameworks, which were originally designed and adapted for USN. Of these 130, the 22 that have been widely used, regularly updated, and well supported by their developers are compared based on multifarious criteria. Finally, several studies that had favorably compared the performance of simulators and/or emulators are examined. We believe the present research findings will be helpful for students and researchers to pick an appropriate simulator/emulator, and for software developers and those who are keen on producing their own environment.
... However, its execution time is much longer than other simulators and is of high complexity. [40] is a discrete-event WSN simulator based on OMNeT++ that carries out a module with the characteristics of the CPU. It takes into consideration the mobility of the nodes, the environmental dynamic, the routing protocol and the hardware design issues. ...
Article
The sharp increase of the wireless sensor networks (WSNs) performance has increased their power requirements. However, with a limited battery lifetime it is more and more difficult to deploy many more sensors with today's solutions. Therefore, the authors need to implement autonomous WSNs without any human intervention or external power supply. To this end, this study proposes an effective strategy to ensure an energy consumption gain that takes into account time constraints through a power-aware model based on the dynamic voltage and frequency scaling and the dynamic power management that are appropriate to the WSNs and on a global Earliest Deadline First scheduler. To select the most suitable simulator to integrate and simulate the developed models, >25 of the existing WSN simulators are outlined and evaluated. On the basis of this comparative study analysis, the authors chose the simulation tool for real-time multiprocessor scheduling (STORM) to validate their work for its multiple advantages.
... The Power Aware Wireless Sensors (PAWiS) simulation framework [28] allows simulating various aspects of Wireless Sensor Networks (WSNs) based on OMNeT++. The focus of this simulation framework is to optimize WSN deployments regarding power efficiency and reliability. ...
Conference Paper
Exhaustive testing of wireless communication protocols on pro-totypical hardware is costly and time-consuming. An alternative approach is network simulation, which, however, often strongly abstracts from the actual hardware. Especially in the wireless domain, such abstractions often lead to inaccurate simulation results. Therefore , we propose a code-transparent discrete event simulator that enables a direct simulation of existing code for wireless prototypes. With a focus on lower layers of the communication stack, we enable a parametrization of the simulation timings based on real-world measurements to increase the simulation accuracy. Our evaluation shows that we achieve close results for throughput (deviation below 3 % for UDP) and latency (corrected deviation about 13 %) compared to real-world setups, while providing the benefits of code-transparent simulation, i.e., to flexibly simulate large topologies with existing prototype code. Moreover, we demonstrate that our approach finds implementation defects in existing hardware prototype software, which are otherwise difficult to track down in real deployments.
... The WSN network oriented tools focus on the network aspects of WSN systems and typically offer highly realistic and accurate models of the communication infrastructure. The most related to our work are: (i) Castalia [13], which is based on the OMNet++ framework; it includes accurate radio physical (PHY) and communication models, as well as customizable models of the most popular MAC and routing protocols for WSN applications; (ii) MiXiM (Mixed Simulator) [14], also based on OMNet++, provides detailed models of the communication channel and the radio PHY layer, with a high level of customization in terms of modulation types, sensitivity, output signal power, radio hardware operating states with power and timing parameters; (iii) PAWiS [22], built on top of the OMNet++ framework, allows to model both software components (e.g., software tasks, application, routing and MAC protocols) and hardware components (e.g., CPU, timers, Analog-to-Digital Converter, radio transceiver): (iv) WSNet [16], which offers a wide range of radio medium models including a basic ideal physical layer with no interference, no path-loss and a fix radio range, multiple frequencies, complex antenna radiation patterns, etc; (v) PASES (Power Aware Simulator for Embedded Systems) [15], [23], initially designed for executing accurate power consumption estimation for WSN hardware platforms, uses a flexible multilayer architecture which allows users to specify and assemble models of HW/SW platforms from a set of predefined components including CPU, timers, ADCs, Flash, USART, radios and other models; its communication channel is relatively simpler than the ones available in Castalia and MiXiM; (vi) Sense [24] implements each sensor node as a collection of components connected via unified input/output ports, and includes a wide a range of MAC and routing protocols. ...
Conference Paper
Full-text available
The continuous interest in Wireless Sensor Networks (WSN) has led to the development of several applications, from traditional monitoring, to cooperative and distributed control and management systems, to automated industrial machinery and logistics. The design and optimization of specialized WSN platforms and communication protocols typically relies on simulation tools, which have been designed to explore and validate WSN systems before actual implementation and real world deployment. In this paper, we evaluate the performance and the accuracy of mainstream open source simulation tools for WSNs on a realistic multi-hop data passing benchmark which makes use of the Ad-hoc On Demand Distance Vector Routing (AODV) protocol. The simulation results are then compared against measurements on a physical prototype. Our experiments show that the tools produce equivalent and consistent results from a functional point of view. However, their ability to model details of the execution platform and of the communication channel may significantly impact the run-time simulation performance and the accuracy of the simulation results.
Chapter
In this chapter, an in-depth study and comparisons of simulators and emulators have been presented, with care accorded to their features, implementation, and use. Since emulators are hardware dependent, selecting one to use is straightforward. On the other hand, with the wide variety of simulators, the choice is rather complex and is subject mainly to how is the simulator easy to use, and fulfilling the model requirements. Remarkably, different simulators do not give similar results for the same model due to their different underlying features and implementations. Simulation has proven to be a valued tool in many areas where analytical methods are not applicable and experimentation is not feasible. Researchers generally use simulation to analyze system performance prior to physical design or to compare multiple alternatives over a wide range of conditions. Notably, errors in simulation models or improper data analysis often produce incorrect or misleading results. Although there exists an extensive row of performance evaluation tools for WSNs, it is impractical to have an all-in-one integrated tool that simultaneously supports simulation, emulation, and testbed implementation. In fact, there is no all-in-one stretchy simulator for WSNs. Each simulator exhibits different features and models, and each has advantages and weaknesses. Different simulators are appropriate and most effective in typical conditions, so in choosing a simulation tool from available picks, it is fruitful to elect a simulator that is best suited for the intended study and targeted application. Also, it is recommended to weigh the pros and cons of different simulators that do the same job: the level of complexity of each simulator, availability, extensibility, and scalability. Usually, WSN applications consist of a large number of sensor nodes; therefore it is recommended to settle on the simulation tool capable of simulating large-scale WSNs. Essentially, the reported use, besides the simulation results of a simulator, should not be ignored before deciding which simulator to prefer. The exercises at the end of the chapter are designed to pinpoint the simulator comparison and selection criteria suitable to the model under study. When bottom-up building a simulator, many decisions need to be made. Developers must consider the pros and cons of different programming languages, whether simulation is event-based or time-based, component-based, or object-oriented architecture, the level of complexity of the simulator, features to include and to not include, use of parallel execution, ability to interact with real nodes, and other design choices that are pertinent to a typical application. For researchers, choosing which simulator to use is not an easy duty. A full understanding of one’s own model is however the first major step before looking into the bookshelf of simulators. Then follows a survey of the available simulators that can do the job. A major step comes after, the careful weighting of the simulator features against the model under study and the programming capabilities of the researcher.
Chapter
In this chapter an in-depth study and comparisons of simulators and emulators have been presented, with care accorded to their features, implementation, and use. Since emulators are hardware dependent, selecting one to use is straightforward. On the other hand, with the wide variety of simulators, the choice is rather complex and is subject mainly to how is the simulator easy to use and fulfilling the model requirements. Remarkably, different simulators do not give similar results for the same model due to their different underlying features and implementations.
Chapter
In this chapter an in depth study of simulators and emulators has been presented, with care accorded to their features, implementation and use. Since emulators are hardware dependent, selecting one to use is straightforward. On the other hand, with the wide variety of simulators, the choice is rather complex, and is subject mainly to how is the simulator easy to use, and fulfilling the model requirements. Remarkably, different simulators do not give similar results for the same model due to their different underlying features and implementations. Simulation has proven to be a valued tool in many areas where analytical methods are not applicable and experimentation is not feasible. Researchers generally use simulation to analyze system performance prior to physical design or to compare multiple alternatives over a wide range of conditions. Noteworthy, errors in simulation models or improper data analysis often produce incorrect or misleading results. Although, there exists an extensive row of performance evaluation tools for WSNs, it is impractical to have an all-in-one integrated tool that simultaneously supports simulation, emulation and testbed implementation. In-fact there is no all-in-one stretchy simulator for WSNs. Each simulator exhibit different features and models, each has advantages and weaknesses. Different simulators are appropriate and most effective in typical conditions, so in choosing a simulation tool from available picks it is fruitful to elect a simulator that is best suited for the intended study and targeted application. Also, it is recommended to weight the pros and cons of different simulators that do the same job, the level of complexity of each simulator, availability, extensibility and scalability. Usually, WSNs applications consist of a large number of sensor nodes; therefore it is recommended to settle on the simulation tool capable of simulating large-scale WSNs. Essentially, the reported use besides simulation results of a simulator should not be unobserved before deciding which simulator to prefer. The exercises at the end of the chapter are designed to pinpoint the simulators comparison and selection criteria suitable to the model under study. When bottom up building a simulator, many decisions need to be made. Developers must consider the pros and cons of different programming languages, whether simulation is event-based or time-based, component-based or object-oriented architecture, the level of complexity of the simulator, features to include and to not include, use of parallel execution, ability to interact with real nodes, and other design choices that are pertinent to a typical application. For researchers, choosing which simulator to use is not an easy duty, a full understanding of one’s own model is however the first major step before looking into the bookshelf of simulators. Then follows a survey of the available simulators that can do the job. A major step comes after, the careful weighting of the simulators features, against the model under study and the programming capabilities of the researcher.
Conference Paper
In a wireless sensor network, the energy consumption of the nodes continues to impose a tight constraint. Researchers have therefore proposed several MAC protocols to decrease the energy consumption of the radio transceiver, which has increased the complexity of the firmware running on the nodes. In this paper, we show the consequences of ignoring runtimes of state-of-the-art MAC protocols, as proposed by some simulators. The quantitative discussion is based on a comparison between hardware measurements and simulations. We ported the Contiki operating system to STEAM-Sim, a recently developed simulator. With this setup it is possible to omit runtimes of firmware in a stepwise manner. We further used STEAM-Sim to accurately evaluate the X-MAC, Low Power Probing, and ContikiMAC radio duty-cycling protocols. The energy consumption profiles of hardware modules thus generated give interesting insights into the protocols. Scalability comparisons to the state-of-the-art simulator COOJA/MSPSim show that scalable and time-accurate simulation of WSNs in the nanosecond range is possible.
Article
Full-text available
The paper introduces OMNeT++, a C++-based discrete event simulation package primarily targeted at simulating computer networks and other distributed systems. OMNeT++ is fully programmable and modular, and it was designed from the ground up to support modeling very large networks built from reusable model components. Large emphasis was placed also on easy traceability and debuggability of simulation models: one can execute the simulation under a powerful graphical user interface, which makes the internals of a simulation model fully visible to the person running the simulation: it displays the network graphics, animates the message flow and lets the user peek into objects and variables within the model. These features make OMNeT++ a good candidate for both research and educational purposes. The OMNeT++ simulation engine can be easily embedded into larger applications. OMNeT++ is open-source, free for non-profit use, and it has a fairly large user community.
Conference Paper
Full-text available
In this paper we describe the design and implementation of ATEMU, a fine grained sensor network simulator. ATEMU is intended to bridge the gap between actual sensor network deployments and sensor network simulations. We adopt a hybrid strategy, where the operation of individual sensor nodes is emulated in an instruction by instruction manner, and their interactions with each other via wireless transmissions are simulated in a realistic manner. A unique feature of ATEMU is its ability to simulate a heterogeneous sensor network. Using ATEMU it is possible to not only accurately simulate the operation of different application on the MICA2 platform but also a complete sensor network where the sensor nodes themselves maybe based on different hardware platforms. In addition we also describe our implementation of XATDB, our front-end debugger/GUI for ATEMU. XATDB provides an excellent educational tool for people to start learning about the operation of sensor nodes and sensor networks, without requiring the purchase of actual sensor node hardware. The accuracy and emulation capabilities provided by ATEMU ensure that when and if actual hardware is used, the software will already have undergone rigorous testing and debugging on an accurate platform. This would provide the sensor network deployment community with a much more accurate estimate of the performance of various algorithms and protocols in realistic scenarios and platforms.
Article
Full-text available
Experience with wired networks has provides guidance about what level of detail is appropriate for simulationbased protocol studies. Wireless simulations raise many new questions about approriate levels of detail in simulation models for radio propagation and energy consumption. This paper describes the trade-offs associated with adding detail to simulation models. We evaluate the effects of detail in five case studies of wireless simulations for protocol design. Ultimately the researcher must judge what level of detail is required for a given question, but we suggest two approaches to cope with varying levels of detail. When error is not correlated, networking algorithms that are robust to a range of errors are often stressed in similar ways by random error as by detailed models. We also suggest visualization techniques that can help pinpoint incorrect details and manage detail overload.
Article
The goal of the PAWiS project is to develop both, efficient system architectures and the related design methodology for power aware wireless sensor and actor network nodes that allow for capturing inefficiencies in every aspect of the system. These aspects include all layers of the communication system, the targeted class of the application itself, the power supply and energy management, the digital processing unit and the sensor-actor interface. The proof of concept will be based on a prototype system that allows a future integration in a single SiP/SoC. The project is supported by Infineon Austria and started only recently, therefore the main focus of this paper is on the design approach. Copyright © 2002 IFAC
Article
ABSTRACT The paper introduces OMNeT++, a C++-based discrete event
Conference Paper
This paper presents energy aware distance vector routing (EADV) protocol for ultra low power wireless sensor networks. EADV is based on a simple algorithmic approach to cater for low memory space and low energy available on sensor nodes. EADV assumes a data sink having unrestricted energy. It is inspired from a set of routing protocols including AODV, DSDV, and energy aware routing. The protocol consumes about 128 bytes of RAM. The beauty of EADV is in its computational and implementation simplicity and it keeps network lifetime as primary design parameter.
Routing in energieautarken Funksensornetzwerken
  • M Roetzer
M. Roetzer, "Routing in energieautarken Funksensornetzwerken," Vienna, Austria, 2004.