uzl-testbed user guide - frontsfronts.cti.gr/testbed/pdf/ug_topology_recognition_1v1.pdf3.1.8....
TRANSCRIPT
UZL-Testbed User Guide
FRONTS Foundations of Adaptive Networked Societies of Tiny Artefacts
www.fronts.cgi.gr
2 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
Document history
Version Date Changes
1.0 28.06.2009 Initial version
3 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
Contents
1. About this User Guide .................................................................................................................... 4
2. Topology Recognition Application ................................................................................................ 5
2.1. Obtaining and flashing the Topology Recognition Application .............................................. 5
2.2. Topology Recognition Application functionality .................................................................... 5
3. Using the iShell Topology Recognition Plugin .............................................................................. 7
3.1. Commands ............................................................................................................................... 7
3.1.1. P:Clear ........................................................................................................................... 7
3.1.2. P:Save – Data Storage ................................................................................................... 7
3.1.3. N:Reboot........................................................................................................................ 7
3.1.4. N:Stop_hello.................................................................................................................. 7
3.1.5. N:Start_hello.................................................................................................................. 8
3.1.6. G:Create_tree................................................................................................................. 8
3.1.7. G:Time_sync.................................................................................................................. 8
3.1.8. P:Generate – Visualization in Spyglass ......................................................................... 8
3.2. The Neighborhood-Topology view........................................................................................ 12
3.3. The TreeRouting-Topology view........................................................................................... 14
4. References .................................................................................................................................... 16
4 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
1. About this User Guide
In this user guide,
• files and folders are represented in the Arial typeface,
• code fragments, function names etc. are represented in the Courier New typeface,
• GUI elements such as button descriptions etc. are represented in “quotation marks”,
• titles of other documents are presented in Italic type.
This manual assumes that the reader has successfully installed the iSense development environment,
and obtained the iSense standard firmware. For further information on theses steps, consult the
Development Environment Setup User Guide [1].
In addition, it is assumed that the user is familiar with the use of iShell. For further information on
iShell, consult the iShell User Guide [2].
For further information on iSense firmware programming concepts and on application development, it
is recommended to read the Writing iSense Applications User Guide [3].
5 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
2. Topology Recognition Application
This user guide describes
• a sample application called Topology Recognition Application which ran on the testbed in
order to find out link properties for building a realistic simulation model, and
• the corresponding iShell-plugin called Topology Recognition Plugin.
The Topology Recognition Application
• detects link qualities and receiving rates between each pair of nodes and
• can construct a tree with each gateway as sink.
2.1. Obtaining and flashing the Topology Recognition Application
First, get the iSense firmware via the webcompile tool with the following functions activated in
addition to the standard selection:
• Data Exchanger with Multihop support (c.f. Protocols)
• Data Collector with Multihop support (c.f. Functionality -> Provides easy communication to
iShell)
Note that for the Shawn Target the simulation of the memory is enabled in the standard configuration.
It helps you to find out if your application meets the memory (stack and heap) restrictions of real
devices.
Then, either copy the code from the fronts code repository or go to the fronts web site, click on
“Testbed”, and then on “Downloads”. Click on the icon and download
TopologyRecognitionApplication.zip.
Extract the content of TopologyRecognitionApplication.zip to the iApps directory. The source file
of the topology recognition application is located at TopologyRecognitionApplication/src/ TopologyRecognitionApplication.cpp.
How an application can be compiled is describes in all User Guides from coalesenses.
An application can be flashed onto the connected node using the FlashLoader-Plugin from iShell and
via the “Over-The-Air-Programming”-Plugin onto the other nodes of the network. For details
regarding the identification of the chip version, refer to Section 2.4 of the iSense Core Module User
Guide [4].
2.2. Topology Recognition Application functionality
The Topology Recognition application aims at collecting link quality data for each pair of nodes in a
network. Therefore, each node sends a hello message every HELLO_INTERVAL (= 20) seconds and
• the NeighborhoodMonitors of the receivers store the link metric based on the link
quality indicator and
• the ToplogyRecognitionApplications of the receivers increment a receive counter
for the sender.
For being able to analyze and evaluate these values (link metric and receive counter for each neighbor)
in iShell each node sends them every SEND_NHM_DATA_INTERVAL seconds using the iSense tree
6 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
routing protocol to the sink node (0x94a0) which forwards them to iShell. The TopologyRecognition-
Plugin of iShell visualizes this information and can export it into a file.
As nodes send messages regularly, it is possible to observe how link properties develop and vary over
time.
Apart from the neighborhood monitoring each node can construct a tree using the tree routing
protocol. The node which constructs the tree is regarded as sink whereas
ISENSE_TREE_ROUTING_MAX_SINKS defaults to 3 which means that each node can handle data
for three sinks in parallel. In this application a tree is created 4 seconds after boot and apart from that
the construction of a tree can only be triggered by sending packet via the uart.
In order to adapt the clocks of the nodes to the time of the connected computer the application
comprises functionality to ask for the iShell time and to distribute it within the network using the
iSense time synchronization protocol. Note, that for the usage of this feature the TimeProvider-Plugin
of iShell must be enabled as it answers the time request of the connected gateway node.
Furthermore, in order to see that a node is alive, the led is turn on and off every second.
7 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
3. Using the iShell Topology Recognition Plugin
The Topology Recognition Plugin is an iShell plugin which
• sends commands to the connected gateway node (Buttons labeled with G:),
• sends commands to the entire network via the connected node using the iSense flooding
protocol (Buttons labeled with N:)
• visualizes the UZL-testbed nodes in the spyglass-plugin (Buttons labeled with P:Generate),
• prints and temporarily stores data provided by the devices,
• forwards this data to the Spyglass-Plugin and
• stores this data into a .xls-file for further evaluation purposes (labeled with P:Save).
The nodes send the data automatically, but it is also possible to poll the data using the Data Collector
Plugin. Refer to [2] for further information.
Prerequisites:
First of all the devices of the network must run the Topology Recognition application located in
/src/topologyRecognitionApplication.zip.
Furthermore the iShell DataCollector-Plugin must be enabled to collect data from the
DataProviders, because it parses the incoming data strings and forwards them as array of strings
to a DataDispatcher which calls all registered DataHandlers. The Topology Recognition
Plugin is such a DataHandler.
3.1. Commands
The buttons in the tool bar have the following functions.
3.1.1. P:Clear
Clear deletes all temporal values and clears all internal lists either of the network connectivity or the
tree topology view.
3.1.2. P:Save – Data Storage
With a click on “P:Save” (10) all data of both views is written into an excel-file (.xls). For each
view a spreadsheet is constructed where all sources and destinations corresponding values are written.
The number of received packets is not only written as mean value, but each single value is stored in
the file.
3.1.3. N:Reboot
With a click on “N:Reboot” the connected node reboots in 10 seconds and floods a message informing
the other nodes to do the same.
3.1.4. N:Stop_hello
With a click on “N:Stop_hello” the connected node stops sending hello packets and floods a message
informing the other nodes to do the same.
8 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
3.1.5. N:Start_hello
With a click on “N:Start_hello” the connected node starts sending hello packets and floods a message
informing the other nodes to do the same.
3.1.6. G:Create_tree
Click on “G:Create_tree” to let the connected node call the method create_tree of the iSense tree
routing protocol containing a request for route log packets, so that all nodes send back a route log
packet to the connected node 5 seconds after the reception of the request packet.
Remark: Tree construction packets of the iSense tree routing protocol can hold payload data which is
passed to the dispatcher as incoming packet. The dispatcher will forward it to all registered receivers.
Like this, it is possible to flood data while creating a tree.
3.1.7. G:Time_sync
Click on “G:Time_sync” to let the connected node synchronize the entire network using the iSense
time synchronization protocol.
3.1.8. P:Generate – Visualization in Spyglass
Click on “P:Generate” to let the plugin send a position packet to spyglass for each testbed node to
make spyglass draw all nodes (c.f. Figure 1: Spyglass view of the UZL-testbed). Note that the
positions sent to spyglass are the triple of the real positions, because positions in spyglass are
integer values and the resolution of integer is insufficient to represent the real world placements. This
implicates that you have to divide the values of the spyglass ruler by 3 to get the real position.
Remember this also when you compute distances between nodes. Accordingly, the image of the
institute is also scaled to the threefold size.
For more information concerning the visualization tool Spyglass have a look at [5].
9 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
Figure 1: Spyglass view of the UZL-testbed
The used config-file for the visualization of nodes and relations in the Spyglass plugin is located in
/spyglass-config/SpyglassConfig.xml. The following figures show the parameter settings of the
Spyglass plugin manager to obtain this xml-file.
10 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
The NodePositioner was a PositionPacketNodePositioner:
The NodePainter was a SimpleNodePainter:
11 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
The network connectivity is painted by a LinePainter (which is a RelationPainter). We chose semantic
type 4 for this plugin instance:
The tree topology is also painted by a LinePainter. We chose semantic type 3 for this instance:
12 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
3.2. The Neighborhood-Topology view
The Neighborhood view visualizes information concerning links. Two values are shown for each
connection.
The first value is provided by the TopologyRecognitionApplication. It is the mean receiving rate in
packets per second derived by the incoming (hello) packets from each neighbor. As the
HELLO_INTERVAL is set to 20 seconds the value is 0.05 if all packets arrived.
The second value is provided data by the NeighborhoodMonitor. It is the mean of the chosen metric
for each neighbor. We chose the SIGNAL_STRENGTH_LINK_METRIC in the
TopologyRecognition Application.
An empty field indicates that there is no data available for this connection, either because the
collection process failed or because these nodes cannot communicate.
Click on “P:Save” to store all single values forming the means in an excel-file.
Figure 2: Network connectivity view of the Topology Recognition Plugin
13 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
Figure 3: Network connectivity view in Spyglass
Figure 3 shows the (incoming) metric values illustrated by a Spyglass LinePainter.
14 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
3.3. The TreeRouting-Topology view
The TreeRouting view visualizes information concerning routing paths (see Figure 4). When you click
on “Create tree” on the one hand a tree is created, and on the other hand each node sends a
ROUTE_LOG packet to the sink node. Every node which forwards the route log packet adds its ID to
the packet so that the sink node can see the route which was created. The routes can be seen in this
view.
If several trees have been created and the routes differ from each other, they are shown in subsequent
colomns for each source node.
Click on one row to view the lqis of each forwarding step for all routes of one source in the second
table. If one route has been created several times the lqi values are illustrated in one column one below
the other.
Figure 4: Tree topology view of the Topology Recognition Plugin
15 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
Figure 5: Tree topology view in Spyglass
Figure 5 shows the paths and link quality indicators of each forwarding step illustrated by a Spyglass
LinePainter.
16 / 16
UZL-Testbed User Guide
Foundations of Adaptive Networked Societies of Tiny Artefacts
4. References
[1] coalesenses Development Environment Setup User Guide, online available at
http://www.coalesenses.com/download/UG_development_environment_setup_v1.9_web.pdf
[2] coalesenses iShell User Guide, online available at
http://www.coalesenses.com/download/UG_ishell_v1.3.pdf
[3] coalesenses Writing iSense Applications User Guide, online available at
http://www.coalesenses.com/download/UG_writing_isense_applications_1v1.pdf
[4] coalesenses iSense Core Module User Guide, online available at
http://www.coalesenses.com/download/UG_CM10X_1v0.pdf
[5] Spyglass at http://sourceforge.net/projects/itm-spyglass
[6] UZL Testbed Documentation at http://fronts.cti.gr/index.php/testbed