Wireless Sensor Network, 2010, 2, 815-822
doi:10.4236/wsn.2010.211098 Published Online November 2010 (http://www.SciRP.org/journal/wsn)
Copyright © 2010 SciRes. WSN
TikTak: A Scalable Simulator of Wireless Sensor Networks
Including Hardware/Software Interaction
Francesco Menichelli, Mauro Olivieri
Department of Electronic Engineering, University of Rome “La Sapienza”, Rome, Italy
E-mail: menichelli@die.uniroma1.it, olivieri@die.uniroma1.it
Received June 25, 2010; revised August 2, 2010; accepted September 17, 2010
Abstract
We present a simulation framework for wireless sensor networks developed to allow the design exploration
and the complete microprocessor-instruction-level debug of network formation, data congestion, nodes in-
teraction, all in one simulation environment. A specifically innovative feature is the co-emulation of selected
nodes at clock-cycle-accurate hardware processing level, allowing code debug and exact execution latency
evaluation (considering both protocol stack and application), together with other nodes at abstract protocol
level, meeting a designer’s needs of simulation speed, scalability and reliability. The simulator is centered on
the Zigbee protocol and can be retargeted for different node micro-architectures.
Keywords: WSN Simulation, Hardware-Software Co-Emulation
1. Introduction
Since the introduction of the concept of wireless sensor
networks (WSNs) it appeared that, though the basic ele-
ments (nodes) are usually simple because of size and cost
constraints, they can be arranged in order to interact with
each other and form complex systems [1]. Due to the
resulting complexity, the existence of a simulation envi-
ronment becomes a more and more valuable tool in order
to implement and test software/algorithms/pro tocols in an
efficient way, saving time and money.
The particular characteristics of WSNs cause the de-
velopers to jointly face problems traditionally found in
embedded systems and network programming. Seen as a
stand-alone embedded system the node contains parts
that require low level programming, because node firm-
ware has to interact directly with hardware peripherals as
sensors, serial ports, timers, rx/tx modems. Usually the
code correctness and its performance impact can be de-
bugged and tested only on the actual WSN hardware,
because of the continuous mutual node interaction, or on
an accurate hardware simulator of a single node, which
interprets the code of the embedded CPU and emulates
hardware reactions.
At the same time it has been clear that software de-
velopment in WSNs has to consider the interactions be-
tween nodes at protocol and data communication level:
data communication is rarely in the form of a single,
point-to-point link and may require an accurate and ex-
tensive testing using th e concepts and the tools typical of
network programming (i.e. analysis of packets, routing,
latency, etc.).
We developed our simulator in order to specifically
address the problem of embedded software debug and
testing, with a particular emphasis on hardware-software
interactions and execution time accuracy, while at the
same time allowing the simulation of large networks
with acceptable speed. To the best of our knowledge,
WSN simulators presently in use are vastly oriented to
high level protocol emulation, which has the advantage
of allowing high simulation speed, but cannot model
accurately code execution at node level, since nodes are
only abstract entities and actual h ardware resources have
not a representation within the simulation.
A survey of existing WSN simulation tools can be
found in [2]. Common simulation framework are NS-2
[3], OMNeT++ [4], Prowler [5], TOSSIM [6], OPNET [7].
Generally speaking, network simulators are oriented
toward an abstract view of resources and network com-
ponents, which is required for fast network simulation,
but the high level view may prevent the accurate simula-
tion of node internal details, which should be tested and
debugged in the implementation design flow.
As an example, NS-2 [3] is a very popular simulator
based on discrete event simulation. It was written for
F. MENICHELLI ET AL.
Copyright © 2010 SciRes. WSN
816
general network protocols simulation and, in the specific
ambit of wireless networks, the simulator support 802.11
and 802.15.4 type wireless MAC. However, NS-2 has no
capability to model real-time OS or application code,
especially regarding code execution delays. Due to its
high level view, neither actual embedded code can be
simulated in NS-2, making it non-useful for code test and
debug.
OMNeT++ [4] is another public source, component-
based network simulator that supports WSNs through
extension modules. OMNeT++ can run applications
written for WSN OSes, such as TinyOS [8] applications,
which are converted au tomatically to simulato r- c om pa t ib l e
C++ code. As for NS-2, OMNeT++ cannot model OS
and application layer ex ecution time delay, neither simu-
late actual sensor embedded code.
TOSSIM [6] is a network simulator that is part of
TinyOS [8] distribution. TOSSIM is a hardware emulator
that can run actual application code, making debug pos-
sible. A limitation of TOSSIM is the assumption that all
nodes execute the same code and that, in order to
speedup simulation, ex ecution time is not modeled accu-
rately. For example, application code is assumed to be
executed in zero time.
A particular note can b e written on ATEMU [9], since
it emulates an AVR processor and a complete hardware
platform, which allow firmware test and debug (OS and
application) including execution time and latency. How-
ever, the accuracy of ATEMU is achieved at the expense
of high processing requirements for the simulation and
poor scalability.
In this paper, we present a WSN simulation frame-
work developed to test and debug real systems, consid-
ering both accuracy and simulation speed. The simulator
can accurately emulate a hardware node, executing
through interpretation the whole embedded CPU code
(user code and communication protocol stack code), at
cycle-accurate level. Multiple nodes can be emulated at
this level while they interact each other through the
presence of a communication framework that emulates
the physical layer of the network, including signal at-
tenuation and interferences/collisions between nodes. At
the same time, our simulator can emulate a node at
higher level of abstraction, relying on the same protocol
stack, which is in this case compiled and executed
natively on the host machine (we will call them the na-
tive nodes) and which runs hundreds of times faster than
the interpreted one. In this way, a complex system can be
emulated completely relying on the accuracy of the
hardware emulator for a restricted number of nodes and
on the speed of the native nodes for the remaining ones.
The remaining parts of the paper are organized as fol-
lows: Section 2 presents a general overview of our simu-
lator and its main parts, Section 3 describes the node
components (emulated hardware and native nodes), Sec-
tion 4 describes the communication framework that emu-
lates the physical layer. Finally, Section 5 shows some
examples along with results and simulation speed.
2. Simulation Environment
The block diagram of the simulation environment is
shown in Figure 1. The whole environment is written in
C/C++ and compiles and runs un der Linux.
A node emulator represents each physical node. The
node emulators are launched as independent processes on
the host machine. There are two kinds of node emulators,
which are not distinguished in Figure 1 because at this
level they behave the same. The first is a hardware emu-
lator, which can run embedded code as a real node since
it contains a complete executable model of an 8-bit mi-
crocontroller and an 802.15.4 compatible hardware trans-
ceiver.
The embedded software running on the nod e is written
in C and compiled with a cross-compiler for the embed-
ded CPU. It is composed of an application layer that im-
plements the node functionalities and a protocol stack,
which implements the wireless protocol services and
drives the emulated transceiver.
The C application code and protocol stack, compiled
natively on the host machine, composes the second kind
of node. The protocol stack contains some modifications
with respect to the embedded one since the emulated
transceiver is not present and the lower layer of the pro-
tocol stack directly interacts with the simulator commu-
nication layer.
The central part of the simulator is a communication
framework which acts as an interconnection server (we
will call it the PHY-server). Its main function is the sup -
Node EMU
Comm un ica tio n
Framework
(PHY-server)
TCP/IP
connections
Graphical User Interface
Node EMU
Node EMU
Figure 1. Simulator block diagram.
F. MENICHELLI ET AL.
Copyright © 2010 SciRes. WSN
817
port of data communications between nodes through
TCP/IP connections, emulating the physical layer of the
WSN. The PHY-server is a TCP/IP server that listens for
packets coming from the nodes. Each node (both hard-
ware emulated and native nodes) creates a TCP/IP link
with PHY-server as part of its initialization routines, us-
ing the connection to communicate to the central server
during the whole simulation. We chose TCP/IP as com-
munication layer considering the possibility of acceler-
ating the simulation of large WSNs by means of distrib-
uted processing.
The PHY-server has also the role of simulation man-
agement since it is responsible of node creation, initiali-
zation and control.
Finally, the simulation environment interacts with the
user through a graphical user interface. The GUI applica-
tion, which connects directly to the PHY-server, is used
to configure the WSN structure and the properties of
each node (Figure 2). The GUI also shows, in a struc-
tured way, data produced by the simulator, as node status,
the packets sent and received by each node, code execu-
tion and debug messages logging (Figure 4).
3. Node Simulators
3.1. Hardware Emulated Node
The hardware node is a cycle-accurate emulator of an
embedded system composed of an 8-bit microcontroller
and a wireless transceiver. In the present version, we
implemented the emulation of a Freescale HCS08 mi-
crocontroller [10] and an MC13192 802.15.4 - compati-
ble transceiver [11] as shown in the block diagram in
Figure 3. The diagram closely resembles Freescale de-
velopment board 13192-SARD (Sensor Application Ref-
Figure 2. GUI window, node configur ation.
CPU
Emulator
(HCS 0 8 )
802.15.4/Zigbee
Tra nsc eiver
SPI bus
TCP/I P
connection
SCI bus
(debugserial port)
TCP/IP
connection
RF packets
tothe GUItothe PHY-server
Controland status messages
Figure 3. Emulated hardware node block diagr am.
erence Design) [12].
Applications can be compiled using the IAR [13]
HCS08 C compiler and can leverage on the services pro-
Figure 4. GUI, nodes activity windows.
F. MENICHELLI ET AL.
Copyright © 2010 SciRes. WSN
818
vided by Freescale Zigbee proprietary library [14]. The
node emulator executes the same binary application code
which can be loaded in the physical hardware board,
since it includes the MCU peripherals (timers, UARTs,
I/O, etc.) of the MC9S08GT60 MCU (the same HCS08
model of the SARD board) an d the MC13192 tr ansceiv er
emulator.
The simulation proceeds with cycle accuracy for the
MCU and transceiver components. The transceiver oper-
ates emitting final physical layer packets to the PHY-
server using a TCP/ IP co nnection.
From the simulation environment point of view the
emulated hardware node is an independent process in the
host machine that interacts with the simulator through
TCP/IP connections. The connections are used to trans-
port WSN packets but also to control and configure each
node.
3.2. Host Native Node
The native node was created for performance purposes
and it is an abstract object composed of an open source
embedded Zigbee protocol stack [15] compiled directly
for the host machine (Linux). Minor modifications have
been applied in order to remove compilation problems,
removing the transceiver driving code and inserting code
that sends the RF physical packets toward the PHY-
server, by means of a TCP/IP connection.
The protocol stack acts as a library and the application
code plus the protocol stack are compiled and linked
before the simulation using the host C compiler (the
Linux gcc compiler). The result is an executable which
can run directly on the host machine and whose block
diagram is represented in Figure 5. During the simula-
tion each native node is launched as an independent
process in the host machine, as for the emulated hard-
ware node.
Ap p lica t io n
Zigbee
protocol stack
TCP/IP
connection
RF packets
tothe PHY-server
software calls
Figure 5. Native node block diagram.
4. PHY-Server
The central coordinator of the simulation is a process we
call the PHY-server. A block diagram of the PHY-server
is represented in Figure 6. We can see that it communi-
cates with each node and the GUI through TCP/IP con-
nections and is responsible of the following functional-
ities:
It listens for commands coming from the GUI re-
garding node and simulation configuration, nodes posi-
tion, sim ul a ti on control (start, stop);
It sets up the network creating the nodes as child
processes, individually configuring and controlling them;
It allows the nodes to exchange packets emulating
the physical communications layer, including signal at-
tenuation, noise and conflicts;
It maintains the global simulation time progress,
allowing the synchronization between nodes.
The following paragraphs will go into more details
about each of the functionalities.
4.1. Node/Simulation Configuration
The PHY-server is basically a background process that
waits for commands from the user by means of a graphi-
cal interface. The communication takes place through a
dedicated TCP/IP connection, allowing the GUI to run
remotely.
Before the beginning of any simulation, a complete
network must be specified, including, at least, two nodes,
a Zigbee coordinator and a Zigbee RFD. The kind of
node must be selected (hardware emulated node or native
node). In the first case, a binary image of the compiled
embedded firmware must be supplied, which can be dif-
ferent for each node. In the second case, the node itself is
an executable, produced as described previously in Sec-
tion 3.2.
Physica l layer
channel model
Sim ulati on contr ol
RF and control
packets
from the nodes
From the GUI
Time
s ynchr onizat ion
Node position table
Nodes
initialization and launch
Node (proc ess)
creation
Figure 6. PHY-server block diagram.
F. MENICHELLI ET AL.
Copyright © 2010 SciRes. WSN
819
Further information that must be supplied regards the
data needed in the emulation of the physical communica-
tion layer as node position, transmission power, receiver
signal thre shold, backg round noise .
Finally, optional parameters to be specified are the set
of tracing data that should be sent to the GUI. The pa-
rameters must be specified essentially for simulation
time speedup, since the network simulation can include
many details from the higher abstraction level (e.g. per
node packet activity) to lo wer abstraction level (per node
physical layer activity, including channel monitoring)
and the details of the hardware emulated nodes (e.g. in-
structions trace, CPU registers state, etc.).
When the PHY-server receives a complete set of data
for a node it proceeds with its creation and its inclusion
in the network.
4.2. Network Setup
The network setup functionalities regard the creation of
each node, its configuration/initialization and control.
The PHY-server launches each new node as a process in
the same host machine or on a different host machine,
sending also the configuration (i.e. the firmware for the
hardware-emulated node) to the node. As part of its ini-
tialization, each node estab lishes a TCP/IP connection to
the PHY-server, which will be used for the emulation of
the physical communication layer. Each node also estab-
lishes a direct connection with the GUI, which is used to
send node activity information. In case of the hardware
-emulated node, the information can include hardware
details as instructions log and processor/peripheral state
as usually required by an embedded system software test/
debug session.
4.3. Emulation of the Physical Communication
Layer
The main functionality of the PHY-server is the emula-
tion of the physical radio communication during the
network simulation. The PHY-server maintains a list of
the instantiated nodes, including their positions. During
the simulation, it computes the state of the received sig-
nal for each node including the presence of a radio signal
coming from a transmitting node, background noise, and
interference of other transmitting nodes that are colliding
with the first.
The nodes interact with the PHY-server sending both
control and data packets. Control packets at the physical
communication layer emulation are used to send request
from the receiver (e.g. when a node turns on the receiver
to inspect if the channel is occupied before transmitting)
while data packets are used to send the actual physical
packets to the PHY-server. When the PHY-server re-
ceives a control packet it always replies with the re-
quested information (e.g. channel signal strength used by
the node receiver to determine if the channel is free or
busy).
The radio communication emulation is centralized in
the PHY-server, which means that the nodes will never
exchange packets directly, but only through the PHY
-server. This centralized policy allows the PHY-server to
log data packets for network traffic monitoring and, in
case, to modify data packets (e.g. inserting controlled
errors at bit level) to emulate noise and interference
presence.
Effectively, when the PHY-server receives a data pac ke t
(i.e. a physical packet sent by a transmitter) it bro adcasts
the packet to all nodes. In order to test network/firmware
response/robustness to packet errors, the real radio
channel characteristics are emulated applying formulas
for signal attenuation, background noise, interference by
other nodes and computing the bit error rate for each
receiver. The packets are then modified inserting random
errors accordingly.
In the present version of the simulator, signal attenua-
tion and interference are computed applying a simple
free-space law, but, due to the modularity of the function,
the computation could be modified or obtained from an
external EM field simulator.
4.4. Simulation Time Synchronization
A critical aspect of the simulation is time accuracy and
synchronization between simulated nodes. The PHY
-server provides for the generation of a global simulation
clock. Since a clock accurate simulation would induce
excessive overhead, each node is granted a variable-length
time slot, in the order of a fraction of milliseconds of
simulated time. During the time slot the node can run
freely, advancing its internal state. The generation of
external events, such as packet transmission and RF chan-
nel monitoring causes the time slot to break prematurely
and leave the control to the PHY-server. Ideally, shorter
time slots should be preferred since they generate more
accurate simulations, but accuracy has a trade off with
simulation speed because of the overhead of the start-
stop procedure, which gets more and more frequent.
5. Examples and Results
5.1. Comparison with a Physical Zigbee Network
In this Section, we show a comparison between the re-
sults obtained by our simulator and the results obtained
using an actual physical Zigbee network. The nodes for
the physical network are built around a Texas Instru-
ments CC2431 Zigbee transceiver [16] using the open
F. MENICHELLI ET AL.
Copyright © 2010 SciRes. WSN
820
source Zigbee stack [15] (the same used in the simula-
tor).
The configurations used are showed in Figure 7; in
both cases the RFD sends a 10 K bytes data block to the
Zigbee coordinator, using a direct single-hop connection
(configuration I ) o r thro u gh a router (configuration II).
To further increment the exploration space, the packet
payload size is set to three values (93, 43 and 20 bytes).
The experiment is supposed to be performed in absence
of interference (no packet losses in the simulator and
very low losses in the real case).
Table 1 and Table 2 show the results. The through-
puts obtained by the simulator are in substantial accor-
dance with the real case, showing a slightly higher
throughput due to the complete absence packet losses in
the simulator. As expected, throughput decreases when
packet payload size is reduced due to the overheads of
packet headers and transmission interval guards between
packets.
5.2. Simulation Time and Numbers of Nodes
In this section we present the results on simulation time
considering a variable number of nod es, both in terms of
execution time (real time) and simulated time. The net-
work is composed by a coordinator, a RFD node and a
variable number of routers between them. The RFD
sends small packets to the coordinator (ping) and wait for
a reply (pong). The simulated time is maintained con-
stant to approximately 20 s.
The results of the simulation are shown in Table 3,
where 0 #routers means a direct connection between the
RFD and the coordinator nodes. The traffic reported is
Figure 7. Configuration I (left) and configuration II (right).
Table 1. Measured vs. simulated throughput in configura-
tion I.
Payload
Bytes Data
Kbytes
Measured
throughput
(Kbits/s)
Simulated
throughput
(Kbits/s)
93 10 83 90
43 10 50 56
20 10 26 28
Table 2. Measured vs. simulated throughput in configura-
tion II.
Payload
Bytes Data
Kbytes
Measured
throughput
(Kbits/s)
Simulated
throughput
(Kbits/s)
93 10 43 49
43 10 26 30
20 10 14 15
Table 3. Execution time with 32us time slots.
#
routers Execution time
(s) Simulated time
(s) Traffic (MB)
0 80.24 20 194.99
1 125.93 20 195.04
2 167.61 20 195.43
3 207.83 20 195.32
the total traffic generated by the PHY-simulator on the
host platform, and is composed by control, synchroniza-
tion and data messages. As exposed in Section 4.4, execu-
tion time can be reduced by increasing the granularity of
the synchronization events between the node simulators
the central PHY-server. As an example, the time slots are
increased from the 32us used in the simulation in Table 3
to 128us, and the results are shown in Table 4. We can
notice about a 3.6x speedup from the previous results and
an analogous reduction in the traffic generated.
The two other tests we report are based on an increas-
ing number of RFD nodes that want to communicate
directly with the coordinator. The first one is a traf-
fic-intense application, in which each node needs to
transfer a block of 13 K bytes of data to the coordinator
using the maximum (87 bytes) packet payload size. The
network and the simulator are particularly stressed be-
cause of the high network activity.
Table 5 shows the results. Since increasing the num-
ber of nodes increases the total size of data to be trans-
ferred, simulated time gets longer and data throughput
decreases due to network congestion and contention as
shown by the packet error rate (PER) column. Figure 8
shows graphically the dependence of execution time
from the number of nodes. Remarking that this is a high
demanding test, we can see a change in the curve slope,
which generally indicates resource saturation on the
Table 4. Execution time with 128us time slots.
#
routers Execution time
(s) Simulated time
(s) Traffic (MB)
0 22.15 20 49.35
1 33.68 20 49.37
2 45.42 20 49.40
3 58.73 20 49.55
F. MENICHELLI ET AL.
Copyright © 2010 SciRes. WSN
821
Table 5. Simulation results – traffic-intense application.
# RFD
nodes execution
time (s) simulated
time (s) Throughput
Kbits/s PER %
1 15 1.5 70 0
2 40 2 52 2.5
3 100 2.5 42 4
4 150 3 35 6
5 200 3.5 30 7.5
6 350 4.5 23 10.5
7 550 5 21 11.5
8 1300 6.5 16 16
9 2100 7.5 14 19
10 2900 8.5 12 22
11 3700 9.5 11 23
12 4500 11 9.5 24
13 5300 12 8.5 25.5
14 6100 13 8 27
0
1000
2000
3000
4000
5000
6000
7000
051015
# RFD node s
Execution time (s)
Figure 8. Execution time vs. # of RFD nodes.
simulating host machine (a standard desktop, 2 G Byte
RAM, PC).
Figure 9 and Figure 10 show the throughput and the
Packet Error Rate in relation to the number of nodes. We
report the test using three different packet payload sizes
(87 bytes, 44 bytes and 22 bytes).
The second test is an application based on a set of
nodes that send low traffic volumes (a case where the
Zigbee protocol is more suited). Figure 11 shows the
transmission latency (the time difference between when a
source node sends a packet and when it receives a reply
from the destination) considering a variable number of
nodes for the worst and average case. Since the network
is not saturated, increasing the number of nodes does not
increase significantly the average latency.
Secondly, the same test is repeated in presence of in-
terfering nodes (Zigbee nodes that send data using the
same channel). Figure 12 and Figure 13 report the re-
sults. On the x-axis is the number of interfering nodes,
Figure 12 regards the presence of a single RFD trans-
mitting node while Figure 13 regards the presence of 10
RFD transmitting nodes (in addition to the interfering
nodes). We can notice a linear dependence of the average
latency with the number of interfering nodes.
Finally, Table 6 reports a resume of the comparison
between the characteristics of our simulator and other
0
10
20
30
40
50
60
70
80
0123456789101112131415
# RFD nodes
Throughput (Kbit/s)
87bytespayload 22bytespayload 44bytespayload
Figure 9. Throughput vs. # RFD node s.
0
5
10
15
20
25
30
0510 15
# RF D n o des
PER (%
)
22bytespayload 87bytespayload 44bytespayload
Figure 10. Packet error rate vs. # RFD nodes.
0
0.05
0.1
0.15
0.2
0.25
0246810121416
# RFD nodes
Late nc y (s)
worstcase average
Figure 11. Transmission latency vs. # RFD nodes.
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0123456
# in terferin g RFD n od es
Late n c y (s )
worstcase average
Figure 12. Transmission latency vs. # RFD interfering
nodes (1 RFD transmitter).
WSN simulators presented in Section 1
6. Conclusions
We reported the structure and the results obtained by the
F. MENICHELLI ET AL.
Copyright © 2010 SciRes. WSN
822
Table 6. Comparison between simulators.
Simulator Supported
network Radio model OS and SW execu-
tion time modelingHW/SW interaction
modeling Scalability
NS-2
802.11,
802.15.4,
DSDV, DSR,
TORA,
AODV
shadowing,
2-ray ground,
free space no no Yes
OMNET++ 802.11
free space, 2-ray
ground no no Yes
TOSSIM CSMA probabilistic bit errorno no Yes
ATEMU CSMA free space yes yes No
TikTak Zigbee free space,
probabilistic bit erroryes yes Yes
0
0.05
0.1
0.15
0.2
0.25
0.3
0123456
#int erf erin gRFDnode s
La ten c y (s)
worstcase average
Figure 13. Transmission latency vs. # RFD interfering
nodes (10 RFD transmitters).
TikTak WSN simulator we have developed. The simula-
tor is composed in a modular way, and nodes can be
emulated at two levels of abstraction. The major charac-
teristic is the ability to simulate the program and stack
latency because of low-level hardware emulation of the
nodes and to allow the test and debug of embedded codes
as in final application. At the same time, emulation at
protocol level allows to increase the simulation speed
when timing accuracy is less stringent.
The physical channel model is, at the moment, a free
-space attenuation model, but the modularity allows the
insertion of more elaborate models.
7. References
[1] K. Romer and F. Mattern, “The Design Space of Wireless
Sensor Networks,” Wireless Communications, IEEE, Vol.
11, No. 6, 2004, pp. 54-61.
[2] M. Korkalainen, M. Sallinen, N. Karkkainen and P. Tukeva,
“Survey of Wireless Sensor Networks Simulation Tools for
Demanding Applications,” International conference on Net-
working and Services, Valencia, Spain, 2009, pp. 102-106.
[3] “The Network Simulator—ns-2,” Information Sciences In-
stitute, University of Southern California, 2010. http://www.
isi.edu/nsn am/ns
[4] A. Varga and R. Hornig, “An Overview of the OMNeT++
Simulation Environment,” Simutools '08: Proceedings of
the 1st International Conference on Simulation Tools and
Techniques for Communications, Networks and Systems &
Workshops, Marseille, France, 2008, pp. 1-10.
[5] “Prowler network simulator,” Institute for Software Inte-
grated Systems, Vanderbilt University, Nashville, Tennes-
see, 2002. http://www.i sisva nde rbilt.edu/Projects/nest/prow-
ler
[6] P. Levis, N. Lee, M. Welsh and D. Culler, “TOSSIM: Ac-
curate and Scalable Simulation of Entire Tinyos Applica-
tions,” Proceedings of the 1st International Conference on
Embedded Networked Sensor Systems, Los Angeles, CA,
2003, pp. 12 6-137.
[7] “OPNET Network Simulator,” OPNET Technologies Inc,
2010. http://www.opnet.com
[8] P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. White-
house, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer and D.
Culler, “Tinyos: An Operating System for Sensor Net-
works,” in Ambient Intelligence, Springe r, New York, 2005,
pp. 115-148.
[9] J. Polley, D. Blazakis, J. Mcgee, D. Rusk and J. S. Baras,
“ATEMU: A Fine-Grained Sensor Network Simulator,”
First Annual IEE E Communications Society Confe rence on
Sensor and Ad Hoc Communications and Networks (IEEE
SECON 2004), Santa Clara, CA, 2004, pp. 145-152.
[10] HCS8 family microcontroller, Freescale semiconductor,
http: //www.freescale.com
[11] MC13192: 2.4 GHz, Low Power Transceiver for 802.15.4,
Freescale semiconductor, http://www.freescale.com
[12] MC13192 Evaluation Board Reference Manual, Freescale
semiconductor, http://www.freescale.com
[13] IAR Embedded Workbench® for S08, IAR Systems, http:
//www.iar.com
[14] “802.15.4 MAC PHY Software User’s Guide,” Freescale
semiconductor, document number 802154MPSUG, 2005.
[15] R. B. Reese, “A Zigbee-Subset/IEEE 802.15.4 Multi-plat-
form Protocol Stack V0.2.6,” 2007. http://www.ece msstate.
edu/~reese/msstatePAN/
[16] “System-on-Chip for 2.4 GHz ZigBee(TM)/IEEE 802.15.4
with Location Engine,” http://focus.ti.com/docs/prod/fo-
lders/print/cc2431.html