Wireless Sensor Network Simulator

fullfattruckMobile - Wireless

Dec 10, 2013 (4 years and 11 months ago)

474 views

Benjamin Stroud



Wireless Sensor Network Simulator

Page
1

of
40

Wireless Sensor Network Simulator


Project
Document

by

Ben Stroud


As Part of the Requirements for the Degree of

Master of Science in Computer Science

University of Colorado at Colorado Springs





Committee Members and Signatures



Approved by


Date




Project Advisor:

Dr. Edward Chow






Committee Member: Dr. Jugal Kalita






Committee Member: Dr.
Roy Lewis




Benjamin Stroud



Wireless Sensor Network Simulator

Page
2

of
40

Table of Contents


I.


MASTERS PROJECT GOAL


4

II.

INTRODUCTION


4

III.

BACKGROUND

4

IV.

NEED

5

V.

PROJECT OVERVIEW

5

VI.

SILVERLIG
HT

6


A) Introduction

6



A.1) What is Silverlight?

6



A. 2
) Brief History of Silverlight

6


B) Explor
ation of How Silverlight Works

7



B.1) Overview

7



B.2) Architecture

7




B.2.a) Compo
nents of the Presentation Core

8




B.2.b) Components
of the .N
ET Framework

8


C) Building a
n Application with Silverlight

9



C.1) Development Environments

9




C.1.a) Eclipse4SL

9




C.1.b) Visual Studios

10




C.1.c) Expression Blend

10



C.2) Languages

10



C.3) Deployment

10


D) How Silverlight is
Currently Being U
sed

10



D.1) Video Rendering

10



D.2) Site Content

11



D.3) Mobile Devices

11



D.4) Install Base

11


E) Performance Comparisons

11



E.1) Rendering

12




E.2) Computational

13


F) Open Source Implementation

13


G) Future Directions

13



G.1) Implementation on More Platforms

1
3



G.2) Take More Advantage of GPUs

1
4



G.3) More Comprehensive Networking Capabilities

1
4



G.4) Support Java Driven Silverlight Applications

1
4

VII.

RELATED WORK

1
4


A) Wireless Network Simulators

1
4



A.1)

Generic Network Simulators

1
4




A.1.1) Sensor Network Component Based Simulator

1
5




A.1.2) J
-
SIM

1
5



A.2) Wireless Sensor Network Simulators

1
5




A.2.1) ns
-
2

1
5




A.2.2) TOSSIM

1
5




A2.3) Current UCCS Wireless Sensor Network Simulator

1
6



A.3)
Summary

1
6


B) Bloom’s Taxonomy
-

Evaluating Effectiveness of Educational Techniques

1
6


C) Discovery Learning

1
7



C.1) Pure Discovery Learning

17



C.2) Combining Discovery Learning and Traditional Teaching Techniques

18


D) Wireless Sensor Network Algor
ithms

18



D.1) Center at Nearest Source

19



D.2) Greedy Incremental Tree

19



D.3) Cluster Node Formation

19



D.4) Shortest Paths Tree

19


E) Effectiveness of Software in Education

19

VIII.

PROJECT IMPLEMENTATION

20


A) The Exam/Survey

20



A.1) Knowled
ge

20



A.2) Comprehension

21



A.3) Application

21

Benjamin Stroud



Wireless Sensor Network Simulator

Page
3

of
40



A.4) Analysis

21



A.5) Synthesis

22



A.6) Evaluation

22


B) The Application

22



B.1) Overview

22



B.2) Installation

22



B.3) Using the Application

23

IX.

LESSONS LEARNED

24


A) Deeper
Understanding of Wireless Sensor Networks

2
4

B) Educational Techniques

24


B.1) Limitations of Discovery Learning

24


B.2) Bloom’s Taxonomy

24

C) New Technologies

2
5

X.

CHALLENGES

25


A) Designing and Building the Application

25



A.1) Interface Design

25

A.2) Software Design

25

A.3) Utilizing
N
ew Technology

25

B) Researching and Understanding Educational Theory

26

C) Creating a Meaningful Survey

26

XI.

MISTAKES MADE

26


A) Assuming the Value of an Educational Theory Prior to Extensive Research

26

B)
Expecting Voluntary Student Participation Outside of the Classroom

26

C) Not Enough Focus on Early Detailed Software Architectural Design

2
7

D) Expecting Silverlight Development to be Similar to Java Swing Development

27

XII.

FUTURE WORK

27

A) Additional A
lgorithms

27

B) More Realistic and Complex Simulations

27

C) Lesson Plan

27

D) Integrate Survey with Application

27

XIII.

PROJECT DELIVERABLES

2
8

XIV

CONCLUSION

28

XV

REFERENCES

29

XVI

APPENDIX


32


A) Design Documentation

3
2


B) User Documentation

3
5


C)
Software Requirements

3
6


D) Survey Results

37


Benjamin Stroud



Wireless Sensor Network Simulator

Page
4

of
40

I.

MASTERS PROJECT
GOAL:


To create a Wireless Sensor Network
Simulator that will be used as a teaching
aid to further a computer science
student's understanding of a Wireless
Sensor Network’s capabilities and
limitations.



This tool will have an intuitive and
approachable

GUI that will educate rather
than intimidate students who are interested
in gainer a deeper appreciation of wireless
sensor networks and the unique challenges
they present.


This software learning tool will contain
multiple approaches or algorithms for
fo
rming a wireless sensor network from
which the student will be able customize by
manipulating various variables within the
context of the scenario.


The application will be simple to install and
web accessible.

Silverlight is the chosen
technology to accomplish this goal. Later
sections explore Silverlight in detail.


The project will result in an effective
demonstration of wireless sensor network
deployment, formation and execution in an
educational context.

The goal of the project
is not to evaluate algorithms


as is
discussed in later sections this has already
been accomplished
-

but to further the
Computer Science student’s understanding
of this important topic.


To quantify the effectiveness
of the proje
ct I
will create a
survey
meant to gauge both the
student’s understanding and their confidence
level with the material in the wireless sensor
networking lesson both before and after
using the application,
so that
the Computer
Science Educator can gauge the

effectiveness of the application.


II.

INTRODUCTION


The project
being proposed

will create a
Wireless Sensor Network Simulator

which
will function as an educational tool by
clearly demonstrating the unique
considerations of this type of network and
presenting current approaches to address
those considerations
.


Wireless Sensor networks have recently
become a topic of great inte
rest to Computer
Science researchers. This interest has
largely been sparked by the dramatic drop in
cost, size, and
an increase in
range

and
sensing capability of wireless sensor
devices. These developments
allow
for a
world
where

numerous, large
,

distr
ibuted
networks of wireless sensors
are

a
reality

[18]
. With this new reality comes a series of
interesting computing challenges that will
engage Computer Scientists in both the
academic and commercial realms for years if
not decades to come.


III.

BACKGROUN
D


A wireless sensor network is composed of
many individual sensor “nodes”, sometimes
referred to as “motes”, each with their own
individual power, computing, environment
sensing, and wireless communication
hardware. The sensors are often scattered at
Benjamin Stroud



Wireless Sensor Network Simulator

Page
5

of
40

ran
dom around a geographically diverse
terrain and will
then
activate and begin to
form communication networks with the
intent of transmitting a complete “picture”
of the environment back to a central location
for analysis

[18]
.


A wireless sensor network has

much in
common with a traditional
mobile
ad
-
hoc
network
, in that networks consisting of N
nodes are formed organically and both
involve multi
-
hop communications. It is the
significant differences, however, which
make wireless sensor networks such an
interesting problem to study. Wireless
sensor networks must

deal with global
considerations that arise from the limitations
of the individual sensors. Since each sensor
is
completely

wireless
,

it

depends heavily on
its personal power source. Once key nodes
in the network begin to run out of power

and
die
, then t
he entire network can be
compromised. This power limitation leads
to the
conclusion

that data transmission
needs to be kept to a minimum (fewer
packets sent means less power consumed).
The pressure to minimize data in order to
maximize the life span of t
he network leads
to a desire to form the network in an
intelligent way such that redundant data
transmissions are minimized
[18]
.


A “best” solution to these and many other
interesting problems are not to be addressed
within this project. My goal is sim
ply to
create a tool that will reflect and
demonstrate these constraints and concerns
in a tangible way
,

therefore educating and
stimulating the user to consider how they
would approach such

solving

problems.


IV.

NEED


Because of this emerging area of
computing,
many educators in computer science wish to
introduce the concepts of wireless sensor
networks and the challenges they present

to
their students
.


As is often the case, software
can aid us in
this

endeavor. A wireless
network simulator that is i
nteractive,
intuitive, and easy to use can be a wonderful
teaching tool for both beginner and
advanced students. Unfortunately
,

most
wireless sensor network simulators that exist
today are intended for advanced and in
-
depth research and are therefore comp
lex,
cumbersome, and likely intimidating to a
novice st
udent

[21]
[6][7]
.


There are several misconceptions that I have
experienced or seen others experience that
can be mitigated by the use of such a
software tool. One such misconception is
that a simp
ler algorithm to implement and
execute would be an optimal solution.
However one of the simplest algorithms
implemented in this application can clearly
show that this may not be the case. The
center at nearest source algorithm (which I
explore in detail later in the paper) is a
simple algorithm but causes the center node
to die quickly and leaves the rest of the
network orphaned if no reconfiguration
takes place.


Another example of a lesson
that can
overcome a misconception is demonstrated
in the Greedy Incremental Tree algorithm.
When first exposed to this algorithm the
student or researcher may expect the node
Benjamin Stroud



Wireless Sensor Network Simulator

Page
6

of
40

that would give the fewest hops to the sink
node to be joined to the tree, howev
er a
subtlety of the algorithm is that the node
closest to the current
tree

is added. This is
not always the choice that a human being
would make and this unexpected outcome
can be clearly demonstrated with this type of
application and can lead to a deepe
r
understanding of this algorithm and others.


My goal is to create an approachable and
user friendly teaching tool that will allow
students to discover and learn independently
with minimal intervention from the
educator. To accomplish this, the
applicati
on will be written in Silverlight and
accessible via the web with very little
,

if any
setup required on the part of the user.
Since
the application will be web based, users will
be able to run it from any machine with web
access


even without administrat
ive
privileges.
The application will allow users
to select one of several algorithms for
forming a network and also allow users to
modify many variables affecting the
network such as
, but not limited to,

node
count, GPS capability, sensor range, and
senso
r power leve
ls
.


V.

PROJECT
OVERVIEW


This project will be a
thoughtfully designed
,
well commented,
and
object oriented
application. It will consist of a GUI front
end written using Microsoft Silverlight. The
“back
-
end” code that will be doing most of
the n
on GUI oriented work will be written in
C#. The application will allow the user to
select one of three (
at
minimum)
methodologies for forming wireless sensor
networks. The application will also allow
the user to quickly and easily change key
variables per
taining to the network such as
node count and power level


more detail is
presented below.
Once the algorithm is
selected and the parameters are chosen, then
the application will demonstrate

the random
scattering of nodes, followed by the
formation and
subsequent
lifespan of the
network
the user has configured
.
The
application will be modular and will allow
future developers to add additional
network
formation algorithms with minimal effort.
The application will be web based and
simple to install and c
onfigure.


The application will allow the user to
modify via the GUI (at minimum):




The Network Formation Algorithm



Node count



Node power level



Node communication range


In addition to researching Silverlight and C#
technology,

I will be conducting researc
h
into the various proposed algorithms for
forming wireless sensor networks. I will
select at least three algorithms to implement
and demonstrate in a step
-
by
-
step graphical
manner within the proposed application.


An additional research area will be
into the
overall value and effectiveness of software
in education was well as the value of
discovery learning and how to balance
directed and discovery learning in the
classroom.


VI.

SILVERLIGHT

Benjamin Stroud



Wireless Sensor Network Simulator

Page
7

of
40


A)

Introduction


A.
1)

What is Silverlight?

Silverlight is a multi
-
platform application
framework which allows for rich interactive
multimedia on the front end with a powerful
traditional application or web oriented back
-
end. The Silverlight platform is primarily
designed for web based applications
, but can
support stand
-
alone desktop applications
that run outside of a browser
[34]
. Its
capabilities resemble those of Adobe's Flash
product who is its most direct competitor.
In later sections I present some comparison
data contrasting both platforms
.


A.
2) Brief
History of Silverlight

Silverlight was first released in early 2007
by Microsoft
[33]
. It was originally called
Windows presentation Foundation /
Everywhere
[17]
. The first version was
somewhat limited in capability and only
supported
JavaScript to drive its user
interfaces. It was a unique solution in that
developers could make rich internet
applications that were compatible with
Microsoft's multimedia technologies
(Windows Media Services)
[17]
, but with the
lack of a robust language
to drive the back
end, it had limited success.


Version 2 of Silverlight addressed this issue
by vastly expanding the languages that could
be used with Silverlight. The second
version of Silverlight supported the .NET
Framework and .NET compliant lang
uages
such as C#, Visual Basic, Python, and Ruby
[17]
. By moving in this direction Silverlight
was able to further distinguish itself from
similar technologies by offering the
developer a very powerful back
-
end
application oriented framework that could
a
ccomplish very complex and data intensive
tasks with a dynamic web oriented front
-
end
GUI. Version 3 and 4 have built on this idea
and have focused on improving the speed
and power of the platform.



B) Exploration of How Silverlight Works


B.
1)
Overview

Silverlight web application is a compiled,
client executed component that is
downloaded when the web page with the
embedded Silverlight application is
accessed. The client user must have a
Silverlight browser plug
-
in installed to use
the application. The

server does not require
any special software if no server side
functions are included in the program
[29]
.


B.
2)

Architectur
e


The Silverlight platform consists of two
main components with an additional
installer/updater module. These two
components are the Core Presentation
Framework and the .NET Framework for
Silverlight
[29]
.


The Core Presentation Framework consists
of all
the components and services that
Silverlight needs to present the GUI of the
application. This includes user input,
interface interaction and manipulation,
media control, Digital Rights Management
(DRM), vector graphics, text, and images.
This framework
also includes the
specialized XML used to specify the
Benjamin Stroud



Wireless Sensor Network Simulator

Page
8

of
40

application's GUI layout XAML (Extensible
Application Markup Language)
[29]
.


The .NET Framework for Silverlight is a
subset of Microsoft's full .NET Framework
which allows for the use of .NET compatibl
e
languages as mentioned above. This module
includes base class libraries, networking,
data integration, and the Common Language
Runtime (CLR). The CLR is the heart of
the .NET solution. It provides the execution
environment for .NET applications
inc
luding memory management, garbage
collection, type checking, exception
handling and more
[29]
. At compile time the
.NET compatible languages are converted
into a Common Intermediate Language
which is then Just In Time compiled at
runtime. This abstraction

allows for
multiple languages to be used within the
same application

[8]
.


The installer/updater module simply
provides a mechanism for the Silverlight
application to be installed on the client's
system the first time the application is
accessed and pro
vides an avenue for
subsequent updates.




Figure 1 is a graphical representation of the
Silverlight architecture. I will explore some
of the details of the components in the
following
paragraphs.



B.
2.
a)
Components of the
Presentation Core:

The Presentation Core
includes the UI core, which manages the UI
rendering of vector graphics, images,
animations, and text. The Media component
allows for the management and playback of
various fo
rmats, most notably for users of
Windows Media Services (which is a
component of Windows Server) the WMA
or windows media formats
[29]
. This allows
for greater flexibility for those who are
already using Windows Server for their
server platform.


The Pr
esentation Core also provides
modules that handle the Digital Rights
Management of media, the linking of data
Figure
1

Silverlight Architecture
[29]

Benjamin Stroud



Wireless Sensor Network Simulator

Page
9

of
40

objects to UI components, and a XAML
parser which is used to interpret the XAML
based layout specification of the UI. The
XAML code is also the p
rimary way that the
.NET framework interacts with the
Presentation Layer. It allows for the
programmatic manipulation of the UI via
.NET compatible languages
[29]
.



B.
2.
b
)Components of the .NET
Framework:

The .NET Framework
component of Silverlight is what gives it the
vital ability to support true application level
development using languages and tools that
many developers are already familiar with.
The CLR or Common Runtime Language
execution engine is

the key
component that
gives

the Framework its power. The .NET
component also includes a Dynamic
Language Runtime or DLR which allows for
the execution of scripting languages such as
JavaScript, Iron Ruby or Iron Python. This
component also includes a p
lug in interface
to allow the use of other scripting languages
with Silverlight
[29]
.


One of the other tools laid out in the above
diagram include the BCL or Base Class
Library which provides useful programming
modules such as threading, string handling,
collections and even some cryptography
libraries
[29]
.


The .NET Framework also includes the
WPF (Windows Presentation Foundation)
controls which include GUI oriented buttons
and interfaces designed to simplify the
development of GUI driving applications
[29]
.


The WCF or Window Communication
Foundation gives the developer tools to
manage remote data and services. It
includes HTTP request and reply objects, an
embedded browser object, support for
RSS/Atom feeds, as well as support for
JSON (JavaScript Obj
ect Notation)
[15]
,
POX (Plain Old XML)
[25]
, and SOAP
(Simple Object Access Protocol)
[20]

services. This module also includes support
for cross domain HTTP requests
[29]
.


The Silverlight .NET Framework also
includes a Data module which attempts to
simplify the process of working with
different sets of data from different sources.
It also allows data to be handled via XML
and serialization classes
[29]
.


The GUI elements of
the Silverlight
application are programmatically managed
by the .NET Framework portion of the
application, but they can also be managed
via an external tool also created by
Microsoft called Expression Blend which
allows for a visual manipulation of the GUI

elements and animations used in building an
application
[29]
. The next section explores
in more detail how applications are created
using tools such as Expression Blend in
combination with tools such as Visual
Studios.



C)

Building an Application with S
ilverlight


C.
1
) Development Environments
:

A developer has several options when
considering which development
environment to use to build a Silverlight
Benjamin Stroud



Wireless Sensor Network Simulator

Page
10

of
40

application. This paper explores the three
most prominent options, the free, open
source solution from
Eclipse, or the closed
source pay version of Microsoft's Visual
Studios 2010 and Microsoft's Expression
Blend. A exploration of both solutions is
presented in the following paragraphs.



C.
1.
a
) Eclipse4SL:

The open source
solution is called eclipse4sl (Ec
lipse for
Silverlight). It is built on top of the existing
Java based IDE Eclipse which is very
popular in the open source world, especially
in the Linux community. This plug
-
in
however, is only available for Windows and
Mac users so this implementation
does not
allow for Linux based development. The
goal of this project is to not only provide a
free open source IDE for developing
Silverlight applications, but

also

to also
improve the way that data is exchanged
between Java based web services and
Silverl
ight. The plug
-
in does not add Java
as a supported language for Silverlight
development, but it does make exchanging
data with existing external Java based
applications easier
[11]
.


The major advantages of this IDE for
Silverlight development is that i
t is free and
open source. The biggest disadvantage
of
this solution
is that it will always be a bit
behind
Microsoft’s products in

the versions
of Silverlight that it supports. Currently it
only supports Silverlight Version 2 (version
4 was recently rel
eased). Silverlight 3
support is still in development. It also does
not support all of the .NET languages that
can be used to develop Silverlight
applications;

it supports

mainly

C# and
JavaScript
[11]
.



C.
1.
b
)Visual Studios:

Visual Studios
is Microsoft's flagship IDE. It is, not
surprisingly, the recommended development
environment for Silverlight applications.
Like Eclipse4SL it is primarily intended for
writing the programmatic elements of the
application. It supports a
ll the .NET
languages that can be used by Silverlight
and its debugging capabilities support
Silverlight applications

[30]
.


I have found in my experiments with the
newest version of Silverlight, that the
previous version of Visual Studios (VS
2008) is n
ot supported for use with the latest
version of Silverlight which was recently
released. Apparently only Visual Studios
2010 can be used for Silverlight 4
development. Lack of backwards
compatibility is a major disadvantage to
developers who are unwillin
g or unable to
upgrade their development environments
whenever a new version of either Silverlight
or Visual Studios is released. Microsoft
does offer a less expensive, less powerful
development environment that supports
Silverlight 4. It is called Visua
l Web
Developer 2008
[23]
.



C.
1.
c
) Expression Blend:

Expression
Blend is a Microsoft product that is a
primarily GUI oriented development
environment that allows UI elements to be
dragged onto the workspace, manipulated,
and given basic functionality without any
textual code being written by the developer.

It also allows for animation creation and
design done purely with the graphical tools
Benjamin Stroud



Wireless Sensor Network Simulator

Page
11

of
40

available in the IDE. This development
environment is meant for GUI development
and is not well suited for developing the
.NET framework portion of the
application
[3]
.


C.
2) Languages

Silverlight
allows

developers

to

use multiple
powerful languages to create the
programmatic portions of their applications.
The .NET languages that are compatible
with Silverlight include Visual Basic.NET,
C#, as well as dynamic languages
such as
Ruby, Python, and JavaScript. These
languages are used to create the “back
-
end”
portion that does intensive calculations and
data management. The “front
-
end” UI is
managed by XAML code which is also used
to interface with the back
-
end of the
appl
ication
[34]
.


C.
3
) Deployment


Deploying a Silverlight application to a web
server is a fairly simple procedure. When
the developer has finished designing and
testing the application using the IDEs
discussed above, it can be compiled into a
releasable
XAP application file

[23]
. The
XAP file and its support files are then
uploaded to the web server to be
downloaded and executed when the client
navigates to the appropriate page
[29
]
.




D)

How Silverlight is Currently Being Used


D.
1
) Video Rendering

A

popular use for Silverlight is to render
streaming video content. Microsoft touts it
as one of the areas that Silverlight improves
over its competition by offering more codecs
and a less processor intensive rendering of
HD video. One prominent example o
f this
is NetFlix Instant View which is a service
offered by the online DVD rental company
that allows subscribers to watch thousands
of full length high quality movies on their
computer using a Silverlight based player.
The videos are encoded using Micro
soft's
alternative to H.264, VC1

[14]
. Silverlight
is also being used to render videos from
NBC's Sunday night football online

[32]
.


D.
2
) Site Content


Microsoft's primary intension behind
Silverlight seems to be for developers to
create interactive S
ilverlight driven websites
that are built around one or more Silverlight
applications. Besides most Microsoft sites
there seem to be few entirely Silverlight
driven websites. Most sites that do use
Silverlight use it for a particular application
within t
he site, and use more traditional web
technologies for other site content and
navigation. This trend is likely to continue,
since for basic navigation and presentation
of static content, Silverlight doesn't seem to
be a viable alternative to more establis
hed
web technologies such as basic HTML, CSS
or even AJAX.


D.
3
) Mobile Devices

Microsoft has recently announced that
Silverlight will be the primary way that
developers will create applications on their
Windows Phone 7 operating system. This is
not a spe
cialized version of Silverlight, but
the full framework
[22]
. At the time that
this paper is being written the implications
of this development are still unknown, but
Benjamin Stroud



Wireless Sensor Network Simulator

Page
12

of
40

this could be a very important step in
increasing developer interest in the platform.
T
he success or failure of this strategy could
also affect eventual iPad competitors that
choose to use the Windows phone OS.


D.
4
) Install Base

One
key drawback to Silverlight often
mentioned is that users who have never
encountered a Silverlight application will
have to go through the additional step of
installing Silverlight itself, before running
the Silverlight application. Many people
argue that

people are very wary of installing
new applications due to security concerns.
There is also a chance that a user does not
have administrative access to the computer
they are using and will be unable to install a
new application.


Silverlight's closest
competitor is Flash.
Flash's install base is around 97% of web
users
[26]
. It is safe to say that most casual
web browsers will not have to install Flash
before they are able to use your Flash based
application. Silverlight's install base is
currently at

57%
[26]
. While much better
than in previous years, there is still a good
chance that a visitor to your Silverlight
enabled site will be prompted to install.
However, this gap is closing year by year
and if the trend continues then within a few
years Sil
verlight's install base should be
comparable to that of Flash.



E)

Performance Comparisons


This section compares Silverlight primarily
to its direct competitor Flash. The two
experiments conducted are with basic
rendering capability and raw computation
al
power. There is also a brief discussion
dealing with how a C# based Silverlight
application compares in speed to a
traditional C# console application built with
Visual Studios.


E.
1
) Rendering

For this experiment I used a tool created for
the express p
urpose of comparing Silverlight
to Flash. It is comprised of two simple
applications which accomplish the same
task, one written in Flash and one written in
Silverlight using C# and Silverlight's UI
technology. The web based application
works as follows:

the user clicks to start the
animation. Three images are then shown
rotating in a circle, each image continually
facing the user, but changing size and
position to mimic a three dimensional effect.
Each time the user clicks the application
another imag
e is added to the rotation. The
application measures the frames per second
performance (fps), capped at 100fps
[12]
.


Benjamin Stroud



Wireless Sensor Network Simulator

Page
13

of
40

For both Silverlight and Flash I began by
adding 47 additional images for a total of
50. I used a freshly started instance of
Firefox version 3.5.9 and the latest version
of Flash and Silverlight. The test computer I
used had Windows 7 installed with 8 G
bs of
RAM and an AMD Phenonm II X4 quad
core processor running at 3 GHz. The
system GPU was an ATI Radeon HD 4770.
Using this test environment Flash was able
to display the 50 images at about 64fps
using about 60% CPU. Silverlight however
was able to di
splay the 50 images using only
45% CPU and did not drop below the 100fps
cap. I continued adding images until
Silverlight's rendering reached 64fps. I
reached 80 images before Silverlight's frame
rate dropped to that of Flash. Clearly
Silverlight is the

superior technology in this
experiment.


An example of what the application looks
like during the experiment can be seen in
Figure 2. This screen capture was done on
the Flash application. The frame
-
rate is
lower than that of the reported results
becaus
e the application was run while the
Firefox browser had multiple tabs open,
running both Flash and Silverlight
applications.


E.
2
) Computational


This experiment uses the same environment
described above. The methodology is also
similar. Two simple appli
cations are written
w
hich accomplish the same task; o
ne in
Flash and one in Silverlight. The
application for this experiment calculated
prime numbers for the value input by the
user. The rendering and display done for
both applications is extremely minim
al.
Both applications track execution time using
clock functions native to their respective
languages. The time is saved just before the
calculation begins and then is subtracted
from the current time when the calculation
finishes

[9]
. For both applicat
ions I
calculated the primes of 1,000,000.


Flash returned a result in 1.259 seconds,
while Silverlight finished in 0.564 seconds.
Silverlight was
2.23
times faster returning
the result. I wanted to also compare
Silverlight's capabilities to that of a si
mple
C# application written in Visual Studios
which accomplishes the same task. I used
Figure
2

Rendering Test


3 images | 50 images

Benjamin Stroud



Wireless Sensor Network Simulator

Page
14

of
40

the same test environment described above
and based the structure of the program on
the C# source code used in the Silverlight
web application. The C# based console
ap
plication calculated the same values in
0.576 seconds, slightly slower than the
Silverlight application. This was a very
surprising result. I discuss some ideas as to
why this may have happened in the
conclusion section of this paper.



F) Open Source
Implementation


Moonlight is the open source
implementation of Silverlight that is
designed to run on Linux platforms. Its
release cycle is behind that of Microsoft's
Silverlight since it is reflective of the design
decisions made by the Microsoft team.
Currently the Moonlight team is working on
a version compatible with applications that
use features from Silverlight 3. The gap
between Silverlight and Moonlight is
expected to close due to the fact that
Microsoft has begun supporting the
Moonlight team
[
24]
.



G) Future Directions


In this section I present some of the most
requested improvements to the Silverlight
platform being made by its current
developers. I also give some of my own
ideas for directions the technology could
take.


G.
1
) Implementatio
n on More Platforms

Many developers would like to see their
Silverlight applications run in many more
environments than is currently possible.
Some of the most requested platforms have
been Linux, Android (Google's mobile
platform), Windows embedded, and
the
iPhone OS
[31]
. While Silverlight may
never come to the iPhone, the Silverlight
team has been moving in the direction of
more platform deployment, first by
supporting the Linux implementation, and
most recently by announcing that it will be a
key comp
onent of their new mobile platform
as mentioned above.


G.
2
) Take More Advantage of GPUs


There is a growing trend in software taking
advantage of the computing power of the
Graphics Processing Unit not only for
rendering tasks, but also for heavily floati
ng
point oriented non graphics tasks such as
physics calculations. Many developers are
requesting tools to tap into this resource
using Silverlight

[31]
.


G.
3
)
More Comprehensive Networking
Capabilitie
s

Silverlight is able to utilize the power of
language
s originally intended for traditional
application building to create dynamic and
efficient web based applications. One area
where Silverlight does not match traditional
development platforms is in broad
networking capability. Right now
Silverlight is li
mited to specific protocols
and ports that it can use for network
communications, but developers want to be
able to do everything they can do with a
normal .NET language based desktop
application in Silverlight. This includes low
level, or at least unrest
ricted networking
Benjamin Stroud



Wireless Sensor Network Simulator

Page
15

of
40

[31]
.


G.
4
) Support Java Driven Silverlight
Applications

This is a direction that I would like to see
Silverlight move in. Silverlight already uses
an abstraction layer between the language
the developer uses to write the
programmatic po
rtion of the application and
the GUI. There is also a layer of abstraction
between the code written and the executable
binary that is generated. It is possible that
the JVM could be used in place of the .NET
framework and the CLR. This is likely a
more
difficult direction to move in than the
ideas presented above and it may also
diverge from Microsoft's hope to promote
the .NET Framework as a viable rich
internet application tool. This direction
would likely attract more developers to the
platform howev
er, and encourage companies
to convert their Java applets into Silverlight
applications.



VII.

RELATED WORK


A)

Wireless Network Simulators


As I’ve alluded to in earlier sections, when I
began taking a survey of the existing
wireless sensor network simulators I found
them to be geared towards additional
research and evaluation of various
algorithms, and not at all meant to
strengthen or enhanc
e a student’s basic
understanding of the ideas and topics
involved in learning about wireless sensor
networks. I felt as though this was an area
of computer science that is significantly
lacking.


In the next several sections I present a brief
survey of v
arious wireless sensor network
simulators that exist today. This is by no
means an exhaustive list, but is meant to
give the reader some sense of what is
currently available in academia.


A.1) Generic Network Simulators

This category of simulation creator
s
approach their simulations from a “ground
up” philosophy which is heavily focused on
protocol configuration and performance
metrics. It is the author’s opinion that, while
these types of simulators can be adapted to
demonstrate some concepts involved in

the
study of wireless sensor networks, this can
only be done with significant effort. Even
after this adaptation has taken place, the
simulations will still fail to capture the
unique challenges of wireless sensor
networks such as limited power supplies,

range and node death.


This is a large category of simulators and in
the following sub sections I present a small,
but representative sampling of what is
currently available.



A.
1.
1) Sensor Network Component
Based Simulator
:
This simulator was built
by
Boleslaw K. Szymanski and Gilbert
Gang Chen

in 2007

at the Rensselaer
Polytechnic Institute in Troy, New York.
This is a compiled simulator project who’s
goal was to build a simulator that could
reuse models and be easy to build from
scratch
[3]
.

Benjamin Stroud



Wireless Sensor Network Simulator

Page
16

of
40


While t
hey may have reached this goal, and
built a network simulator that is easy to use,
it is not easily adaptable to demonstrate and
explore the unique challenges presented by
Wireless Sensor Networks. It is much more
focused on the details of designing
ne
tworking protocols.


A.1.2)
J
-
SIM

This network simulator (formally known as
JAVA
-
SIM) is a little more useful for
simulating wireless sensor networks since it
offers a wireless extension to the
application. It is still however, focused on
low level network simulation and does not
allow a
student to easily explore some of the
unique higher level challenges presented by
wireless sensor networks
[8]
.


A.2) Wireless Sensor Network Simulators

This section explores simulators that are
intended to mimic wireless sensor networks
and reflect the challenges that they present.
The approach these simulators take does
work well for developing and testing new
wireless sensor network formation and data
propagation algorithms, they are not simple
to use and are not well suited for reinforcing
basic concepts about wireless sensor
networks to students interested in learning
about the concept, but not performing
serious research into the subject.


A.2.1) ns
-
2
: ns
-
2 is a more generic network
simulator that has been adapted and widely
used to simulate wireless sensor networks.
It is a compiled simulator written in C++
and is not web accessible
[10]
.


This simulator offers a
high level of
customization to the
user via scripting
languages and can simulate variables such as
energy completion and node death. With
this high level of customization, however,
comes a high level of complexity that would
likely intimidate anyone interested in
learning basic concepts an
d not attempting
to do serious research
[10]
.


A.2.2) TOSSIM:
TOSSIM is a code level
wireless sensor network simulator. It is
meant to simulate hardware and high level
system events within motes. This simulator
is a compiled simulator that is part of th
e
TinyOS distribution
[16]
. It is an excellent
solution for exploring the implications of
different node designs, but without a solid
understanding of the basic concepts of
wireless sensor networks a student would
not find this application useful.


A2.3
)

Current

UCCS Wireless
Sensor
Network Simulator
: The current simulator is
web accessible, but it is completely static.
The user simply starts the application and a
single scenario is executed with no
explanation or chance for customization of
the scenari
o. The software is also not very
easily extended.


A.3) Summary


This section has only given a small sampling
of the software available for simulating
wireless sensor networks and generic
networks in general, but it is an accurate
representation of the fo
cus of researchers in
the field. All of the current simulation
software is intended for advanced
Benjamin Stroud



Wireless Sensor Network Simulator

Page
17

of
40

researchers pursuing better designs for
wireless sensor networks. No simulators
that I have found

are simple enough to
reinforce the lessons from an introduc
tion to
the aspects and unique challenges of a
wireless sensor network.



B)

Bloom’s Taxonomy
-

Evaluating
Effectiveness of

Education
al Techniques


One of the major goals of this project is to
develop a
method

of verifying the
educational value of the applica
tion.

In
order to accomplish this goal a test of
understanding has been created that is
largely based on Bloom’s Taxonomy of
Educational Objectives.
Bloom’s
Taxonomy is often cited as one of the
seminal references for constructing
curriculum and testing

material in the United
States during the past 50 years

[2]
.


Bloom’s Taxonomy is comprised of six
levels of understanding


Knowledge,
Comprehension, Application, Analysis,
Synthesis, and Evaluation.

Each of the
questions within the survey to evaluate th
e
effectiveness of the application is meant to
test one of the levels of understanding
within the taxonomy.


Knowledge is the first level of
understanding and is defined as
simple recall
or regurgitation of key facts and information
from a lesson
.

This includes


remembering
definitions, key dates and names

[4]
.


Comprehension


the second level of the
taxonomy


is defined as understanding and
grasping the meaning of knowledge gained
from the lesson. Actions that could
demonstrate the master
y of this level would
be summarizing or
discussing the

implications of the subject matter
[4]
.


Application


the third level of the
taxonomy


is described as using
information gained to solve new problems
that a student hasn’t been exposed to before
[4]
.


Analysis


the fourth level of understanding


is defined as examining relationships and
organizational principles and being able to
defend your statements
[4]
.


Synthesis


the fifth level of the taxonomy


is the creation of new ideas or conclusions
by

drawing from previous ideas the student
has been exposed to, or has explored
[4]
.


Evaluation


the sixth and finial level of the
taxonomy


asks a student to make choices
between ideas based on their own
comparisons and insights. These choices
should be

based on a reasoned argument
[4]
.


Below is a figure describing the various
levels of the taxonomy:

Benjamin Stroud



Wireless Sensor Network Simulator

Page
18

of
40




C)

Discovery Learning


C.1) Pure Discovery Learning

Discovery learning is a learning theory that
advocates little to no instructor lead
activities, but instead allows the learner to
explore

ideas independently. Proponents of
discovery learning claim that a student
engaging in this form of learning will be
more actively engaged in the subject matter
a
nd will therefore take the lesson further and
have a deeper, longer lasting understanding
of the lesson
[5]
.


This theory has obvious applications to this
project. The student is given a software tool
that allows personal, unguided exploration
of a subje
ct so that lessons can be learned
independently.


However, some educational theorists have
begun to call into question the validity of a
purely discovery learning based lesson.
One
example of a researcher challenging the
precepts of discovery learning i
s Dr. David
Klahr, a psychology professor at Carnegie
Mellon University. He saw three reasons to
challenge the ideas of discovery learning in
science education:


1)

Much of the fundamentals of what
teachers, scientists and students know
Figure
3

-

Bloom's Taxonomy

Benjamin Stroud



Wireless Sensor Network Simulator

Page
19

of
40

about science didn’t
come from
discovery learning, but was taught.

2)

Instructor lead sessions are very
effective for subject matter that is
difficult for a student to learn on their
own such as mathematics or computer
programming.

3)

The current experimental data is not
strong enou
gh to support claims of the
superiority of discovery learning over
traditional education techniques
[1]
.


In several experiments comparing traditional
educational techniques to discovery learning
Klahr was able to show that
discovery
learning alone was not nearly as effective as
traditional instruction when teaching basic
science
[1]
.


C.2) Combining Discovery Learning and
Traditional Teaching Techniques

As seen in the previous section there has
been some doubt cast on using
purely
discovery oriented learning techniques in the
last several years.


This project does not rely solely on the
merits and effectiveness of discovery
learning. This project is intended to be
paired with a traditional instructor lead
learning techniqu
e. The professor teaches a
lesson on wireless sensor networks and then
subsequently instructs the students to engage
with the application on their own. This is
effectively a blending of both traditional
instructor lead techniques with the discovery
learn
ing technique. In this section a study
on the effectiveness of the combined
technique is explored.


A study from the University of Kansas
sought to explore not the techniques of
strictly discovery or strictly instructor lead
learning but how the two could

be blended
and how they could be blended. They took
three
approaches that varied from a strong
discovery learning emphasized teaching
session to a balanced blend of discovery and
traditional teaching techniques. They found
that the lesson that incorpora
ted both a
strong traditional instruction element and a
discovery learning period was the most
effective and the most preferred by the
students overall
[13]
.


The blending of the two techniques can
bring together many of the benefits of
discovery learning,

while leveraging many
of the strengths of traditional learning
techniques.



D) Wireless Sensor Network Algorithms


One of the goals of the project is to be able
to present at least three different wireless
sensor network formation algorithms to the
student learner.
The three algorithms
chosen were: Center at Nearest Source,
Greedy Incremental Tree and the Cluster
For
mation algorithm. This section gives a
brief overview of the three algorithms and
presents a fourth algorithm that was rejected
and used instead as a survey question to
assess the student’s understanding of the
wireless sensor network topic.


D.1) Center
at Nearest Source

The Center at Nearest Source algorithm is a
fairly simplistic algorithm. The node that
Benjamin Stroud



Wireless Sensor Network Simulator

Page
20

of
40

finds itself closest to the designated sink
node after a random scattering becomes the
aggregation node. This node accepts child
connections from ev
ery other node in the
network and then passes its data on to the
sink node. This will result in the
aggregation node losing power quickly and a
new aggregation node must be found after
the original node dies
[18]
. The application
does not demonstrate thi
s self healing
feature, but does demonstrate the concept
that this aggregation node will die quickly
and may lead the student to a conclusion
about alterations to the more simplistic
algorithm.


D.2) Greedy Incremental Tree

In this algorithm the tree begins as simply
the sink node


or the root of the tree. The
node closest to the tree that has not yet been
added to the tree is then told to join as a leaf
node. Its parent is the node in the tree that is
closest to it. This

process continues until
every node in the network has been added to
the tree
[18]
.


D.3) Cluster Node Formation

In this algorithm


which was presented in
Dr. Chow’s lesson


works in its simplest
form by randomly selecting nodes within the
network to a
ct as cluster nodes. Each cluster
node then allows N (determined by the size
of the network and the number of cluster
nodes available) number of the closest
nodes to the cluster connect to the cluster
node as children. The cluster nodes connect
to the s
ink node as children and pass along
their sensor data and the data of their
children to the sink node.


D.4) Shortest Paths Tree

This algorithm was used as the basis for one
of the questions in the questionnaire
designed to evaluate a student’s
understand
ing of wireless sensor networking
concepts. In this algorithm the leaf nodes
are supposed to send their data to the sink
node along the shortest path between the
two. This algorithm assumes that all
shortest paths are known or can be
discovered

[18]
. Th
is algorithm will either
take an inordinate amount of data exchanges
to complete, or a complete picture of the
network must be available to each node in
the network which is not possible given a
random scattering of nodes.


E) Effectiveness of Software in
Education


S
tudies have shown mixed results when
evaluating the effectiveness of software
aided education

[27,19]
.


A broad study by the University of
Michigan was able to show by conducting a
meta

analysis of 254 studies that computer
aided learning usually increases learning and
has a “positive effect” on students. This
study claims that on average student exam
scores were raised by .30 standard deviation
points


from the 50
th

to the 62
nd

percentile.
This data came from across all age groups,
from kindergarten to adult learners. The
study also claims that instruction time was
significantly reduced
[19]
.


A more recent

recent study done by the U.S.
Department of Education as part of the
No
Child Left Behind Act evaluated the
effectiveness of ten different educational
Benjamin Stroud



Wireless Sensor Network Simulator

Page
21

of
40

software tools at improving the reading and
math scores of students. The student grade
levels ranged from the first grade to a high
school level
A
lgebra I class.
The study
attempted to control for teacher experience
with the software by sampling classrooms in
the first year of software use and the second
year of software use. The same teachers and
classroom settings were studied, but of
course a new set of students were bei
ng
examined
[27]
.


The first year’s results showed no significant
difference across all grade levels between
classrooms that used the software products
and classrooms that did not when looking at
the ten software products overall

[27]
.


The second year
’s results were more mixed.
Two grade groups showed no change and
two showed significant changes. The sixth
grade group showed a negative change when
compared to the first year, but the Algebra I
group showed a positive change when
compared to the first
year

[27]
.




VIII.

PROJECT IMPLEMENTATION


A)

The Exam/Survey


The questions are based on Bloom’s
Taxonomy. Each category has at least one
representative question which attempts to
gauge

the student’s understanding of the
material. The survey is intended to be taken
before using the application and then
repeated directly after using the application.
Overall the accuracy of the responses and
the confidence with which they are
answered sh
ould be increased after using the
application.


The student is also asked to rate their
confidence level when answering this
question. This adds an additional measure
of effectiveness and also attempts to gauge
how solid a student’s understanding of the
s
ubject matter is while eliminating the
effects of chance or guessing
.


A.1)

Knowledge

As we have seen the first level of the
taxonomy is knowledge.

The application
evaluation questions created from this level
of understanding are:


What is a mote

in the context of Wireless Sensor
Networks?


The student can choose from the following
answers:


A) The processor that powers the sensor

B) An individual sensor within the network

C) The node responsible for relaying the
accumulated data from the network
back to the
interested party

D) A node on the edge of the network


The answer is B.


According to Dr. Chow why must traffic within
the network be kept to a minimum?


The student can choose from the following
answers:


A) To minimize the usage of power with
in the
network and therefore keep each node active as
long as possible

B) So that the ultimate recipient of the
aggregated data is not overwhelmed

C) For security purposes

Benjamin Stroud



Wireless Sensor Network Simulator

Page
22

of
40

D) To extend the range of each node


The answer is A.


We should not expect the
accuracy of the
responses to these questions

to increase after
using the application. The software is
designed to increase the higher levels of
understanding as defined by the taxonomy.

The following questions of increasing
difficulty should be answered
more correctly
and more confidently after using the
application.


A.2) Comprehension

Again the second level of the taxonomy is
comprehension. The application evaluation
question created from this level of
understanding is:


Please state in your own words
some of the
unique challenges presented by wireless sensor
networks.


The evaluation of this accuracy of this
answer will of course have to be objective
since it is in essay format.


A.3) Application

The third level of understanding from the
taxonomy is Ap
plication. The application
evaluation question created from this level
of understanding is:


In which of the following situations can lessons
learned from studying wireless sensor networks
be applied?


The student can choose from the following
answers:


A
)
Evaluating an algorithm for forming an ad
-
hock network

B)
Creating a distributed network for data
propagation

C)
Analyzing a peer to peer network formation
algorithm

D)
All of the above


The answer is D
-

all of the above.


A.4) Analysis

The fourth
level of understanding as defined
by Bloom’s Taxonomy is analysis. The
application evaluation question created from
this level of understanding is:


Can you identify the flaw in the following WSN
tree formation algorithm?


Each Node makes contact with t
he sink node
along the shortest path between the two. The
sink tree is formed by combining the paths that
overlap for different sources.


The student can choose from the following
answers:


A) A complete sink tree will not form.

B) Each node must know it
s shortest path to the
sink node.

C) Too much data will be sent to the sink node.

D) The sink tree will take too long to form.


The correct answer is B


Each node must
know its shortest path to the sink node.

One
student has argued that
the path can be
d
iscovered but a large amount of data must
be exchanged. This question may need to be
re
-
examined.


A.5) Synthesis

The fifth level of Bloom’s taxonomy is
synthesis. The application evaluation
question created from this level of
understanding is:


Benjamin Stroud



Wireless Sensor Network Simulator

Page
23

of
40

Would yo
u feel confident in designing your own
WSN tree formation algorithm?


The student is asked to rate their confidence
from the following list:


A)
Very Confident

B)

Somewhat Confident

C)

Neutral

D)

Less Confident

E)

Not Confident


A.6) Evaluation

The last level of understanding as defined by
Bloom’s taxonomy is evaluation.
The
application evaluation question created from
this level of understanding is:


Which algorithm do you think works best for the
types of WSNs described by Dr. Chow?


The list
of answer choices are based off of
the algorithms presented to the student in the
application:


A)

Greedy Incremental Tree

B)

Center At Nearest Source

C)

Cluster Formation


The answer is somewhat objective and the
real goal with this question is to gauge t
he
confidence level with which it is answered
after using the application as opposed to
before.


Finally a general question is asked of the
student which is aimed at soliciting feedback
for the overall improvement of the
application:


How do you think the
educational value of the
application can be raised to increase the
confidence with which you answered the
preceding questions?


B)

The Application


B.1) Overview

The wireless network simulator was written
using
Microsoft
Silverlight
and .NET
technologies. The graphical user interface
(GUI) is a Silverlight web application
combined with Javascript and XAML, the
object oriented logic for the application was
written in the C# language. For a
background and a discussion of the
advantage
s and disadvantages of using
Silverlight and .NET see the section on
Silverlight contained in this paper.


B.2) Installation

No installation or setup is required other
than prompting the user to install Silverlight
if it is not already installed on their
c
omputer. The simulator is displayed on a
web page within a browser window. The
application is compatible will all the major
browsers including IE, Firefox, Safari, and
Chrome. The application can run on
Windows or Macintosh computers.


B.3) Using the Ap
plication

The application allows the user to select a
node count, the power level of each node,
and the range of each node. The user can
then select the
algorithm they wish to see
demonstrated, either:


1)

Greedy Incremental Tree

2)

Center At Nearest Source

3)

Clu
ster Formation


A brief description of each algorithm is
presented to the user as they select each
available algorithm.

Benjamin Stroud



Wireless Sensor Network Simulator

Page
24

of
40


After the algorithm has been selected the
user can then click the
“Deploy Nodes”
button which simulates a random scattering
of the nodes that make up the network.

The
sink tree is denoted by a larger image with
multiple rings.


The user then selects the “Form Sink Tree”
button which will begin an animation of
child/pare
nt links forming according to the
pattern laid out by the algorithm selected by
the user.


Once the sink tree is formed, the user can
then select the “Activate Network” button
which will begin the process of simulating
data being sent through the network.

Every
iteration of the data
transmission

cycle that
passes, a parent node’s “power” is
decreased

by 1*(
c
)
c

being the number of child nodes

connected to that parent. Nodes that have
more children and therefore have to accept
and retransmit more data will

lose power
faster than other nodes with less children.


Loss of power is represented within the
simulation by nodes becoming more and
more transparent until they finally fade away
completely.


The simulation is reset by refreshing the
web page.


F
igure

4

is an example of the application in
use.



IX.

LESSONS LEARNED


A)

Deeper Understanding of Wireless
Sensor Networks

Figure
4

-

Wireless Network Simulator

Benjamin Stroud



Wireless Sensor Network Simulator

Page
25

of
40


When I began this project I thought I had a
fairly solid understanding of wireless sensor
networks and the basic challenges that are
encountered when dealing with their
implementation. I took a class that explored
wireless sensor networks through the lens

of
a single major algorithmic solution and
included a discussion of the issues that must
be overcome.


It wasn’t until I actually explored additional
research on wireless sensor networks and
saw some of the work being done first hand
that I really appre
ciated how many different
approaches can be taken to solving the
problem and how nuanced those approaches
can be.


Once I started actually building the
application I realized just how challenging
distributed solutions to problems can be to
design and how t
he issues surrounding
wireless sensor networks really impact the
network. The issue of node death for
example did not become really clear until I
saw just how fast a node can die if the
network has been formed to rely too heavily
on a single node.



B)
Ed
ucational
Techniques

I don’t have much of a background in the
educational field but through this project I
have gained quite a few insights into how to
construct a lesson and judge its
effectiveness.


B.1) Limitations of Discovery Learning

When I began thi
s project I assumed that
discovery learning was the best technique
for a student to gain a powerful and long
lasting lesson on any particular subject
matter. I was very surprised to learn how
much doubt has been cast on discovery
learning techniques. It
is, however, apparent
from the research being done that this
project’s suggested methodology of
combining both traditional instructor lead
techniques with discovery learning
techniques through the use of this software
can and will be effective.


B.2) Bloom
’s Taxonomy

At first when I began writing the survey
questions I
did it in an unstructured way and
my advisor committee suggested that I do
some additional research into how to verify
the effectiveness of a lesson. This lead me
to discover Bloom’s Taxonom
y which is a
powerful and comprehensive model for
forming an objective measure of how
effective an educational session has been.
When thinking back over my educational
experience I can see how Bloom’s
Taxonomy has been leveraged by educators
to form meani
ngful exam questions and
lesson plans.


C) New Technologies

One of the reasons that I chose to use
Silverlight to build my application was that I
had no prior experience with web
application technologies such as Silverlight
or Flash. In researching Silver
light I found
that it was a more efficient platform with a
more robust language technology behind it.


Benjamin Stroud



Wireless Sensor Network Simulator

Page
26

of
40

I’ve learned how to build and manage
Silverlight and .NET applications as well
has how they are deployed. I’ve learned an
entirely new platform and lang
uage through
the course of this project and I am sure that
these new skills will help me in my future
projects and professional career.



X.

CHALLENGES


A) Designing and Building the Application


A.1) Interface Design

One of the project goals was to build an
application that was easy to use and
understand. The complexity of the
application could not get in the way of a
student’s ability to learn. Over and over I
had to rethink and redesign the interface to
keep the complexity low and the
effectiveness high.

Any feature or view that
didn’t add to the educational value of the
application had to be taken out or improved.
I feel like through careful thought and
refinement I was able to overcome this
challenge and build an application that is
both easy to use an
d of some educational
value.


A.2) Software Design

Another major goal of this project was to
make a piece of software that was well
thought out and designed to be extended
easily by others interested in improving
upon my work. By choosing a mature
object
oriented language and by separating
the GUI elements of the application and the
actual algorithms that control the tree
formation I feel as though I met this
challenge. In my own personal experience I
was able to add and remove
wireless sensor
formation a
lgorithms from the application
without having to modify or interfere with
how the GUI classes or code in any way.
This will allow future students working on
extending this project to focus on the
algorithms or functionality they are adding
and not how to
avoid modifying or even
breaking existing code.


A.3)
Utilizing

N
ew Technology

As I have mentioned I had never developed
software using Silverlight and .NET before
this project. There was quite a learning
curve encountered when creating this
project. Not

only did I have to learn a new
language (C#) but I had to overcome some
of the limitations of Silverlight technology
such as not having file access and having to
transmit user input from WFP and XAML
widgets into the C# code behind the
application. I was

able to overcome this
challenge through extensive research and
trial and error.


B) Researching and Understanding
Educational Theory


All of my educational background thus far
has been in Computer Science and
business.
I have never explored educational t
heory or
practices.
I was challenged to overcome
some of my assumptions about the learning
process and what was and was not effective.
I was able to leverage the skills that I have
learned during my Computer Science
research projects and
effectively
appl
y them
to the research of educational practices

to
Benjamin Stroud



Wireless Sensor Network Simulator

Page
27

of
40

gain meaningful insight and understanding
of this topic
.


C)
Creating a Meaningful Survey


Aside from creating the actual application, I
found this area of the project the most
challenging
.
I had to create a survey based
on sound educational principles whose
results were easily quantifiable. This
led

to
my research with Bloom’s Taxonomy
and
making most of the questions multiple
choice. However I wanted to also gauge the
student’s confidence

in their answer to
determine how much they felt they had
learned about the topic in each area defined
by Bloom. This led to adding the
confidence gauge to each question. I think
that this will add a useful dimension
when

evaluating the effectiveness of
the
application.



XI.

MISTAKES

MADE


A) Assuming the Value of an Educational
Theory Prior to Extensive Research


During my project proposal I discussed the
value of the Discovery Learning Theory but
had not adequately researched its drawbacks
and how those
drawbacks can be overcome.
I was able to come to the conclusion that
discovery learning is still valid, but must be
combined with traditional educational
techniques to be effective.


B) Expecting Voluntary Student
Participation Outside of the Classroom


O
ne of my stated goals at the beginning of
this project was to create a survey to
evaluate the
effectiveness

of the application.
My goal was that before the project defense
I would have a data set to present and
include in this paper that would lend
creden
ce to the claim that this project has
resulted in an effective educational tool.


Out of the thirty or so students that I sent the
survey and application to over a month
before the end of the project I only received
one response.
I think that if my projec
t end
date had coincided with a course feature
wireless sensor networks and the professor
had asked his or her class to participate then
I would have gotten a much higher response
rate.


The survey is still very valuable however. It
will simply shift from

a tool to evaluate the
application

before it is given to students who
are studying wireless sensor networks to one
that evaluates the application’s effectiveness
after it is used in the classroom for the first
time. It can be used to help the instructor
decide if the application is useful enough to
use in subsequent lessons.


C)
Not Enough Focus on Early Detailed
Software Architectural Design


Before I started building the application I
created an architectural design, but I found
that I had to
adjust my
design multiple
times. This added considerable
development time to the project. If I had
spent more time on the upfront design and
thought through more carefully some of the
pitfalls I would be likely to encounter I
Benjamin Stroud



Wireless Sensor Network Simulator

Page
28

of
40

could have significantly reduce the co
de
rework that I had to do.


D) Expecting Silverlight Development to be
Similar to Java Swing Development


When beginning this project I assumed that
working with Silverlight and .NET would be
similar to working with Java applets and
Swing. Silverlight however has some issues
unique to it and is very isolated from the
browser. I
also found that the behavior o
f
the application on my development
environment differed from the production
deployment. The Visual Studios debugger
that I was using for the application was also
not well suited for Silverlight. Stepping
through the application execution would
often fai
l at random points without any
debugging information available to the user.



XII.

FUTURE WORK


A) Additional Algorithms


Currently the application only presents three
algorithms to the user. An interesting
extension to the project would be to add
additional c
ustom designed algorithms, or
those based on research findings. The more
algorithms the user has to choose from and
experiment

with, the more impactful the
application will be on the student’s
understanding of the subject matter.


B) More Realistic and Co
mplex Simulations


Another level of complexity could be added
to the application such as including
obstacles, or 3D topology to the map that the
sensors are scattered on. The student could
then learn significantly more about the
challenges presented by re
al world wireless
sensor networks.


C) Lesson Plan


An additional extension of this project
would be to create a lesson plan for a
computer science class discussing wireless
sensor networks that incorporates the
application directly into the lesson. This
could be done in a lab setting and directed
by the instructor. It would be interested to
see if the survey results show that this
method is more effective than a separation
between the lesson and the use of the
application.


D) Integrate Survey with Appli
cation


I attempted to integrate the survey with the
application rather than sending out a
document along with the link to the
application, but I was unable to get this
aspect of the application fully functional.
The framework to accomplish this is in
place, but is inactive in the application’s
current form. This would greatly simplify
the user’s effort in responding and the
researcher’s effort in gathering data since
flat files could be generated and easily
pulled into a statistics or graphing
applica
tion.



XIII.

PROJECT DELIVERABLES


Benjamin Stroud



Wireless Sensor Network Simulator

Page
2
9

of
40

A.

Proposal



A

document which is an initial
description of the proposed project, its
deliverables, and its development schedule
.


B.

Software Requirements Specification



A
document that describes the
applications
required
components and capabilities.


C.

Design Documentation



A document which
describes the internal design of the software
and explains how to modify and extend the
source code for the project.


D.

User Documentation



A document that
describes how to deploy, run,

and interact
with the software.


E.

Software



The source code as well as the
compiled files used to run the completed
application.


F.

Survey Results



Summary graphs and raw
data results of the effectiveness survey.


G.

Presentation/Defense



Presentation of my
work and a demonstration of the project.


H.

Final Document



This document will
contain the background and research done to
complete the project as well as possible
future work.


I.

Presentation Viewgraphs



The slides that
make up the def
ense presentation.


XIV.

CONCLUSION


I have learned a great deal during the course
of this project. I have explored new
technologies, new fields of study, and have
overcome many challenges. I have found
how discovery learning can be utilized
properly and how
educational techniques
can be effectively evaluated.


I feel that this project has made a
contribution to the Computer Science
aca
demic community by exploring how
topics within Computer Science can be
reinforced using software. We have a
wealth of student
s who are building their
software development and project
management skills and may be interested in
contributing to the learning experience. It is
time that we began taking advantage of this
valuable resource.


There is much more work that can be done
on

this project and it can be extended in
many ways. I hope that later students will
pick up this work and continue to advance
what I have begun.



Benjamin Stroud



Wireless Sensor Network Simulator

Page
30

of
40


XV.

REFERENCES



[1]

Adelson, R. “Instruction versus exploration in science learning
-

Recent
psychological research calls "discovery learning" into question.”,
Monitor on Psychology,
June 2004, Vol 35, No. 6 pp. 34.


[2]

Anderson, L., Krathwohl, D., “Bloom’s Taxonomy”, The Gale Group.


[3]

“Blend / WPF Tutorials” Kirupa. Last Accessed 1 May 2010.

http://www.kirupa.com/blend_wpf/index.htm


[4]

Bloom B.
Taxonomy of Educational Objectives.

Boston, MA: Allyn and Bacon.
1984.


[5]

Bruner, J.S.
On knowing: Essays for the left hand.

Cambridge, Mass: Harvard
University Press. 1967.


[6]

Chen, G., Szym
anski B., 2007. “Sensor Network Component Based Simulator”,
Handbook of Dynamic System Modelin
g
,

ed. P. Fishwick, pp. 35
-
1


35
-
16.


[7]

Codehaus Foundation. 2006 “JavaSim
-

Home”. http://javasim.codehaus.org/ Last
Accessed: June 15, 2010.


[8]

“Comm
on Language Runtime Overview”. MSDN. Last Accessed 30 April 2010
http://msdn.microsoft.com/en
-
us/library/ddk909ch.aspx


[9]

“Counting Primes in Flash and Silverlight”. ITWriting. Last Accessed 30 April
2010.

http://www.itwriting.com/primetest/index.html


[10]

Downard, Ian, 2004. “Simulating Sensor Networks in NS
-
2”,
Naval Research
Laboratory,
NRL Formal Report

5522
-
04
-
10.


[11]

“Eclipse4sl” Eclipse4sl.org. Last Accessed 1 May 2010. http://www.eclipse4sl.org/


[12]

“Flash vs Silverlight: FPS Meter &

Stress Test”. Shine Draw. Last Accessed 1 May
2010.

http://www.shinedraw.com/mathematics/flash
-
vs
-
silverlight
-
fps
-
meter
-
stress
-
test/

Benjamin Stroud



Wireless Sensor Network Simulator

Page
31

of
40


[13]

Heal et al., 2009. “An Evaluation of the Relative Efficacy of and Children’s
Preferences for Teaching Strategies

that Differ in Amount of Teacher Directedness.”,
Journal of Applied Behavior Analysis.

Spring 2009, Vol 1, pp. 123
-
143.


[14]

Hunt, N. “Encoding for Streaming” Official Netflix Blog (2008). Last Accessed 1
May 2010.

http://blog.netflix.com/2008/11/enc
oding
-
for
-
streaming.html


[15]

“Introducing JSON”. JSON.org. Last Accessed 1 May 2010. http://www.json.org/


[16]

Jevtic, et al., 2009. “Evaluation of Wireless Sensor Network Simulators”, 17
th

Telecommunications Forum TELFOR 2009.


[17]

Key F. “Micros
oft goes cross
-
platform with Silverlight (formerly
WPF/Everywhere)" Tim

Anderson's ITWriting. Last Accessed 1 May 2010.
http://www.itwriting.com/wpfe.php


[18]

Krishnamachari B. et al., 2002. “Modeling Data
-
Centric Routing in Wireless Sensor
Networks”,

Proceedings of IEEE INFOCOM.


[19]

Kulik, C., Kulik, J. 1991. “
Effectiveness of Computer
-
Based

Instruction: An
Updated Analysis
”,
Computers in Human Behavior
, Vol. 7, pp. 75
-
94.


[20]

“Latest SOAP versions” W3C. (2004) Last Accessed 30 April 2010.
http:
//www.w3.org/TR/soap/


[21]

Lessmann J. et al., 2008. “Comparative Study of Wireless Network Simulators”,
Seventh International Conference on Networking.


[22]

McLaughlin, K. “Calling All Developers To Windows Phone 7”. Channel Web.
(2010) Last

Accessed 1 May 2010. http://www.crn.com/mobile/224200643


[23]

“Microsoft / Web Homepage” Microsoft / Web. Last Accessed 30 April 2010.
http://microsoft.com/web


[24]

“Moonlight Homepage”. Mono.

Last Accessed 30 April 2010. http://www.mono
-
project.com/Moonlight


[25]

“REST and POX”. MSDN. Last Accessed 30 April 2010.
http://msdn.microsoft.com/en
-

us/library/aa395208.aspx

Benjamin Stroud



Wireless Sensor Network Simulator

Page
32

of
40


[26]

“Rich Internet Application Statistics” RIAS Stats. Last Accessed
5 May 2010.
http://riastats.com/


[27]

Rall K., et al. 2009. “
Effectiveness of Reading and Mathematics Software Products

-

Findings From Two Student Cohorts
”. U.S. Department of Education and the National
Center for Education Evaluation


[28]

“Silverli
ght Application Structure” MSDN. Last Accessed 1 May 2010.

http://msdn.microsoft.com/en
-
us/library/cc838120(v=VS.95).aspx


[29]

“Silverlight Architecture" MSDN. Last Accessed 1 May 2010.
http://msdn.microsoft.com/en
-

us/library/bb404713(VS.95).aspx


[
30]

“Silverlight Designer for Visual Studio 2010” MSDN. Last Accessed 1 May 2010.

http://msdn.microsoft.com/en
-
us/library/ff356887(v=VS.95).aspx


[31]

”Silverlight Feature Suggestions" Silverlight Development Community. Last
Accessed 2 May

2010. http:
//dotnet.uservoice.com/forums/4325
-
silverlight
-
feature
-
suggestions


[32]

“The Silverlight Team Blog Homepage” Silverlight Team Blog. Last Accessed 30
April 2010.

http://team.silverlight.net/


[33]

“Silverlight Tutorial” Webucator. Last Accessed 30 April
2010 http://www.learn
-
silverlight
-

tutorial.com/


[34]

Swersky D. “Silverlight Research Summary” {get; set;} : CODE Last Accessed 1
May 2010


http://daveswersky.com/2009/09/29/silverlight
-
research
-
summary/




Benjamin Stroud



Wireless Sensor Network Simulator

Page
33

of
40

APPENDIX

A) DESIGN DOCUMENT

1) The Sensor Network

One of my major goals in designing this application was to realistically separate what individual
nodes can discover about each other so that the algorithms for forming networks would be as
realistic as possible. The three most important classes in the app
lication I used to accomplish this
are NetworkModel(), Node(), and Tree().


2) NetworkModel()

NetworkModel() contains everything about the physical
characteristics of the population of nodes after their
random scattering. Its two biggest components are t
he
distance table and node list.

The distance table is a record of how far apart each node is
from one another. It contains the data that in a real world
scenario would be collected by each individual node based
on ping responses or gps data. In this s
imulation rather
than going through the process of pinging every other node
in the network, the node gets its distance to any other node
in the network from the table.

The node list is simply a wrapper class for a list of every node that exists in the pop
ulation to be
randomly scattered about the sensor field.


3) Tree()

The tree is the network model that would be naturally
formed as each node determines its parent and makes its
connection. The tree class keeps track of the parent child
relationships form
ed and will eventually be used to display
that formation to the user via the GUI.

Currently the tree is composed of TreeNodes which are
distinct from the nodes which makeup the network model.
The tree nodes and network model nodes can be mapped
Benjamin Stroud



Wireless Sensor Network Simulator

Page
34

of
40

to one ano
ther and represent the same components of the simulation. This is a potential flaw in
the software design and is an opportunity for future work.


4) Node()

The node objects compose the network model and
are referenced by the tree. This object contains
all
the needed information about each node within the
network. This object is referenced by the GUI to
determine a node’s placement, power level, and
whether a node is a network sink.


5) The Network Formation Algorithms

Another major design goal I identi
fied when
beginning this project was to make the network
formation algorithms simple to incorporate into the
existing application in order to make it extensible.
They are isolated from the front end of the
application, yet have all access to the network d
ata
needed to make realistic decisions. By using the
network model and the information about the nodes
contained within it


the network algorithms can add
nodes to the tree in the proper order and formation.

Each algorithms contains and instantiation met
hod
which requires a copy of the network model and a
run method which executes the algorithm. The three
current algorithms are listed below.


6) GreedyIncrementalTree()

This Class is the Greedy Incremental Tree
Algorithm. In this algorithm the aggregatio
n tree is
built sequentially. At the first step the tree consists
of only the shortest path between the sink and the
nearest source. At each step after that the next
source closest to the current tree is connected to the
Benjamin Stroud



Wireless Sensor Network Simulator

Page
35

of
40

tree. This continues until all

the nodes in the population that can be reached are consumed. As
with all the algorithms if the range is too short then some nodes will be left as “orphans” with no
parents since they are out of range of the current tree.


7) CenterAtNearestSource()

This class demonstrates the Center at Nearest Source
Sink Tree Formation Algorithm. In this sink tree
formation algorithm, the source which is nearest the
sink, acts as the aggregation point. All other sources
send their data directly to this source which

then
sends the aggregated information on to the sink.


8) ClusterFormation()

In this algorithm, the first n/10 (rounded down) nodes
to advertise as cluster leaders will be designated as
cluster leaders. Each leaf node will then select its cl
osest
cluster leader as its parent. The cluster leaders will pass
on their data directly to the predesignated sink node.



Benjamin Stroud



Wireless Sensor Network Simulator

Page
36

of
40

B) USER DOCUMENTATION


Setting up the Project

1) Install Microsoft Visual Studios 2010 (Windows only)

2) Install Silverlight 4 Tools

for Visual Studios

3) Download and unzip the source from the project website

4) Select File
-
> Open
-
> Project/Solution

5) Navigate to the WSNSim root directory

6) Select the WSNSim.sln project file

7) The project should successfully load


if you receive

the error “ Unable to read the project file
'WSNSim.csproj'” make sure that the latest version of Silverlight is properly installed.


Deploying the Application

1) From Visual Studios, select Build
-
> Build Solution

2) Navigate to <project directory>
\
Bin
\
R
elease.

3) Upload the generated HTML and XAP files to your web server


Starting the Application

1) Navigate to the application’s web page via your desired browser.

2) If prompted to install Silverlight, install it.

3) The application should successfully la
unch.


Using the Application

1) Select the desired Node Count (2
-
100)

2) Select the desired Node Power Level


this will determine how long the simulation lasts

3) Select the Wireless Node Range

4) Select your desired Algorithm

5) Click the “Deploy Nodes”
Button

6) Click the “Form Sink Tree” Button




Your sink tree will form step by step according to the algorithm you have selected


-

Wait until the animation formation is complete

7) Click the “Activate Network” Button.


-

As nodes lose power they become
more transparent until they finally fade away. This is
node death.

8) Refresh the page in your browser to restart the application.



Benjamin Stroud



Wireless Sensor Network Simulator

Page
37

of
40

C) SOFTWARE REQUIREMENTS SPECIFICATION


1)

The Software SHALL be Internet Accessible


in order to promote ease of use and co
nnivance
for the user.

2)

The Software SHALL not Require More than Two Major User Driven Actions for Installation


no compilation or extensive configuration should be required.

3)

The Software SHALL Deploy and Run in a Browser


in order to promote portability,

platform
independence, ease of installation, and centralized upgrades and maintenance.

4)

The Software SHALL Be Reusable


the software will designed in such a way that the program
is easily extendable by later developers.

5)

The Software SHALL Simulate a Wirel
ess Sensor Network.

i)

The Software SHALL allow the User to Select From 0 to 100 Nodes to be Included in
the Simulation.

ii)

The Software SHALL allow the User to Select a Power Level for the Nodes within the
Simulation.

iii)

The Software SHALL allow the User to Select

a Wireless Range for the Nodes within
the Simulation.

iv)

The Software SHALL Demonstrate an Area of Node Deployment.

v)

The Software SHALL Demonstrate a Random Scattering of Nodes.

vi)

The Software SHALL allow the User to Select an Algorithm to be Performed

on the
Nodes Contained Within the Simulation.

(a)

The Software SHALL Present At Least Three Algorithms for User Selection.

(b)

The Software SHALL Present a Description for Each Algorithm Chosen

vii)

The Software SHALL Demonstrate Network Formation According to The Use
r’s
Chosen Algorithm.

viii)

The Software SHALL Demonstrate Node Death.



Benjamin Stroud



Wireless Sensor Network Simulator

Page
38

of
40

SURVEY RESULTS


Below are the responses before and after using the application from three respondents for each survey
question. The respondents were given a short lecture on Wireless Senso
r Networks and then took the
survey. They then used the application and retook the survey. Responses after using the application that
showed an improvement either in confidence level or the accuracy of the answer have been marked in
green. Two responden
ts showed significant improvement while the third showed only slight
improvement.


This is a very small sample set and is not significantly significant. A larger sample set must be surveyed
before drawing any significant conclusions.


Respondent 1 Before

Answer

Correct?

Confidence
Level

Question 1

C

N

D

Question 2

A

Y

A

Question 3

Prolonging battery life

Y

N/A

Question 4

D

Y

N/A

Question 5

E

N/A

N/A

Question 6

C

N

E

Question 7

E

N/A

N/A

Question 8

A

N/A

E





Respondent 1 After




Question 1

C

N

D

Question 2

A

Y

A

Question 3

Balancing efficiency of node
commination with battery life.
Considering how many nodes will
be using a given parent cell, to not
drain the parent cell too fast.

Y

N/A

Question 4

D

Y

N/A

Question 5

D

N/A

N/A

Question 6

A

N

C

Question 7

D

N/A

N/A

Question 8

A

N/A

C









Respondent 2 Before




Question 1

C

N

D

Question 2

A

Y

E

Question 3

Extending long distances without
losing quality of signal

Y

N/A

Benjamin Stroud



Wireless Sensor Network Simulator

Page
39

of
40

Question 4

D

Y

N/A

Question 5

C

N/A

N/A

Question 6

B

Y

D

Question 7

E

N/A

N/A

Question 8

C

N/A

E





Respondent 2 After




Question 1

C

N

E

Question 2

A

Y

D

Question 3

Extending long distances without
losing quality of signal

Y

N/A

Question 4

D

Y

N/A

Question 5

D

N/A

N/A

Question 6

C

N

E

Question 7

E

N/A

N/A

Question 8

C

N/A

C









Respondent 3 Before




Question 1

B

Y

B

Question 2

A

Y

B

Question 3

N/A

N/A

N/A

Question 4

D

Y

N/A

Question 5

B

N/A

N/A

Question 6

A

N

D

Question 7

E

N/A

N/A

Question 8

C

N/A

D





Respondent 3 After




Question 1

B

Y

B

Question 2

A

Y

A

Question 3

Any time a developer is working
with battery operated devices,
they must be conscious of every
line of code that they write. Each
cycle of the CPU drains a little bit of
juice, so code must be highly
optimized. In a WSN, the developer
must also plan for sensors to
remain useful when other sensors
in the network begin to die.

Y

N/A

Question 4

D

Y

N/A

Benjamin Stroud



Wireless Sensor Network Simulator

Page
40

of
40

Question 5

A

N/A

N/A

Question 6

D

N

B

Question 7

B

N/A

N/A

Question 8

A

N/A

A