60
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 1 of 60

cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

Wireless Sensor Network SimulatorProject Document

byBen Stroud

As Part of the Requirements for the Degree ofMaster 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 1 of 39

Page 2: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

Table of Contents

I. MASTERS PROJECT GOAL 4II. INTRODUCTION 4III. BACKGROUND 4IV. NEED 5V. PROJECT OVERVIEW 5VI. SILVERLIGHT 6

A) Introduction 6A.1) What is Silverlight? 6A. 2) Brief History of Silverlight 6

B) Exploration of How Silverlight Works 7B.1) Overview 7B.2) Architecture 7

B.2.a) Components of the Presentation Core 8B.2.b) Components of the .NET Framework 8

C) Building an Application with Silverlight 9C.1) Development Environments 9

C.1.a) Eclipse4SL 9C.1.b) Visual Studios 10C.1.c) Expression Blend 10

C.2) Languages 10C.3) Deployment 10

D) How Silverlight is Currently Being Used 10D.1) Video Rendering 10D.2) Site Content 11D.3) Mobile Devices 11D.4) Install Base 11

E) Performance Comparisons 11E.1) Rendering 12E.2) Computational 13

F) Open Source Implementation 13G) Future Directions 13

G.1) Implementation on More Platforms 13G.2) Take More Advantage of GPUs 14G.3) More Comprehensive Networking Capabilities 14G.4) Support Java Driven Silverlight Applications 14

VII. RELATED WORK 14A) Wireless Network Simulators 14

A.1) Generic Network Simulators 14A.1.1) Sensor Network Component Based Simulator 15A.1.2) J-SIM 15

A.2) Wireless Sensor Network Simulators 15A.2.1) ns-2 15A.2.2) TOSSIM 15A2.3) Current UCCS Wireless Sensor Network Simulator 16

A.3) Summary 16B) Bloom’s Taxonomy - Evaluating Effectiveness of Educational Techniques 16C) Discovery Learning 17

C.1) Pure Discovery Learning 17C.2) Combining Discovery Learning and Traditional Teaching Techniques 18

D) Wireless Sensor Network Algorithms 18D.1) Center at Nearest Source 19D.2) Greedy Incremental Tree 19D.3) Cluster Node Formation 19D.4) Shortest Paths Tree 19

E) Effectiveness of Software in Education 19VIII. PROJECT IMPLEMENTATION 20

A) The Exam/Survey 20A.1) Knowledge 20A.2) Comprehension 21A.3) Application 21

Benjamin Stroud – Wireless Sensor Network Simulator Page 2 of 39

Page 3: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

A.4) Analysis 21A.5) Synthesis 22A.6) Evaluation 22

B) The Application 22B.1) Overview 22B.2) Installation 22B.3) Using the Application 23

IX. LESSONS LEARNED 24A) Deeper Understanding of Wireless Sensor Networks 24B) Educational Techniques 24

B.1) Limitations of Discovery Learning 24B.2) Bloom’s Taxonomy 24

C) New Technologies 25X. CHALLENGES 25

A) Designing and Building the Application 25A.1) Interface Design 25A.2) Software Design 25A.3) Utilizing New Technology 25

B) Researching and Understanding Educational Theory 26C) Creating a Meaningful Survey 26

XI. MISTAKES MADE 26A) Assuming the Value of an Educational Theory Prior to Extensive Research 26B) Expecting Voluntary Student Participation Outside of the Classroom 26C) Not Enough Focus on Early Detailed Software Architectural Design 27D) Expecting Silverlight Development to be Similar to Java Swing Development 27

XII. FUTURE WORK 27A) Additional Algorithms 27B) More Realistic and Complex Simulations 27C) Lesson Plan 27D) Integrate Survey with Application 27

XIII. PROJECT DELIVERABLES 28XIV CONCLUSION 28XV REFERENCES 29XVI APPENDIX 32

A) Design Documentation 32B) User Documentation 35C) Software Requirements 36D) Survey Results 37

Benjamin Stroud – Wireless Sensor Network Simulator Page 3 of 39

Page 4: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 forming 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 project 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 interest 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, distributed 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. BACKGROUND

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 random around a geographically diverse terrain and will then activate and begin to

Benjamin Stroud – Wireless Sensor Network Simulator Page 4 of 39

Page 5: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 the 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 the 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 simply 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 interactive, 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 complex, cumbersome, and likely intimidating to a novice student [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 simpler 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 that would give the fewest hops to the sink node to be joined to the tree, however a subtlety of the algorithm is that the node closest to the current tree is added. This is

Benjamin Stroud – Wireless Sensor Network Simulator Page 5 of 39

Page 6: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 deeper 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 application 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 administrative 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 sensor power levels.

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 non 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 pertaining 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 configure.

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 research 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

A) Introduction

A.1) What is Silverlight?

Benjamin Stroud – Wireless Sensor Network Simulator Page 6 of 39

Page 7: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 SilverlightSilverlight 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 languages 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 accomplish 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) OverviewSilverlight 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) Architecture 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 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 compatible languages as mentioned above. This module

Benjamin Stroud – Wireless Sensor Network Simulator Page 7 of 39

Page 8: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 including 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 provides 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 formats, 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 Presentation Core also provides modules that handle the Digital Rights Management of media, the linking of data 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 primary 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

Benjamin Stroud – Wireless Sensor Network Simulator Page 8 of 39

Figure 1 Silverlight

Page 9: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 plug 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 Object 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 Silverlight

C.1) Development Environments:A developer has several options when considering which development environment to use to build a Silverlight 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 (Eclipse 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

Benjamin Stroud – Wireless Sensor Network Simulator Page 9 of 39

Page 10: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

between Java based web services and Silverlight. 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 it 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 released). 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 all 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 not 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 unwilling 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 Visual 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 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) LanguagesSilverlight 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 application [34].

C.3) Deployment Deploying a Silverlight application to a web

Benjamin Stroud – Wireless Sensor Network Simulator Page 10 of 39

Page 11: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 RenderingA 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 of 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 Microsoft'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 Silverlight 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 the 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 established web technologies such as basic HTML, CSS or even AJAX.

D.3) Mobile DevicesMicrosoft 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 specialized 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 this could be a very important step in increasing developer interest in the platform. The success or failure of this strategy could also affect eventual iPad competitors that choose to use the Windows phone OS.

D.4) Install BaseOne 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

Benjamin Stroud – Wireless Sensor Network Simulator Page 11 of 39

Page 12: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 Silverlight'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 computational 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) RenderingFor this experiment I used a tool created for the express purpose 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 image is added to the rotation. The application measures the frames per second performance (fps), capped at 100fps [12].

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 Gbs 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 display the 50 images using only 45% CPU and did not drop below the 100fps cap. I continued adding images until

Benjamin Stroud – Wireless Sensor Network Simulator Page 12 of 39

Figure 2 Rendering Test – 3 images | 50 images

Page 13: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 because 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 applications are written which accomplish the same task; one 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 minimal. 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 applications 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 simple C# application written in Visual Studios which accomplishes the same task. I used

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 application 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) Implementation on More PlatformsMany developers would like to see their Silverlight applications run in many more

Benjamin Stroud – Wireless Sensor Network Simulator Page 13 of 39

Page 14: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 component 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 floating 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 CapabilitiesSilverlight is able to utilize the power of languages 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 limited 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 unrestricted networking [31].

G.4) Support Java Driven Silverlight ApplicationsThis 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 portion 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 however, 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 enhance 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.

Benjamin Stroud – Wireless Sensor Network Simulator Page 14 of 39

Page 15: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

In the next several sections I present a brief survey of various 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 SimulatorsThis category of simulation creators 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].

While they 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 networking protocols.

A.1.2) J-SIMThis 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 SimulatorsThis 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,

Benjamin Stroud – Wireless Sensor Network Simulator Page 15 of 39

Page 16: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

comes a high level of complexity that would likely intimidate anyone interested in learning basic concepts and 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 the 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 scenario. 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 focus of researchers in the field. All of the current simulation software is intended for advanced researchers pursuing better designs for wireless sensor networks. No simulators that I have found are simple enough to reinforce the lessons from an introduction to the aspects and unique challenges of a wireless sensor network.

B) Bloom’s Taxonomy - Evaluating Effectiveness of Educational Techniques

One of the major goals of this project is to develop a method of verifying the educational value of the application. 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 the 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 mastery of this level would be summarizing or discussing the implications of the subject matter [4].

Benjamin Stroud – Wireless Sensor Network Simulator Page 16 of 39

Page 17: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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:

C) Discovery Learning

C.1) Pure Discovery LearningDiscovery 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 and will therefore take the lesson further and

Benjamin Stroud – Wireless Sensor Network Simulator Page 17 of 39

Figure 3 - Bloom's Taxonomy

Page 18: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 subject 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 is 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 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 enough 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 TechniquesAs 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 technique. 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 learning 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 incorporated 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.

Benjamin Stroud – Wireless Sensor Network Simulator Page 18 of 39

Page 19: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 Formation 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 finds itself closest to the designated sink node after a random scattering becomes the aggregation node. This node accepts child connections from every 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 this 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 TreeIn 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 FormationIn this algorithm – which was presented in Dr. Chow’s lesson – works in its simplest form by randomly selecting nodes within the network to act 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 sink 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 understanding 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]. This 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

Studies have shown mixed results when evaluating the effectiveness of software aided education [27,19].

Benjamin Stroud – Wireless Sensor Network Simulator Page 19 of 39

Page 20: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 50th to the 62nd 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 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 Algebra 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 being 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 should 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 subject matter is while eliminating the effects of chance or guessing.

A.1) KnowledgeAs 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

Benjamin Stroud – Wireless Sensor Network Simulator Page 20 of 39

Page 21: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

B) An individual sensor within the networkC) The node responsible for relaying the accumulated data from the network back to the interested partyD) 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 within the network and therefore keep each node active as long as possibleB) So that the ultimate recipient of the aggregated data is not overwhelmedC) For security purposesD) 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) ComprehensionAgain 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) ApplicationThe third level of understanding from the taxonomy is Application. 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 networkB) Creating a distributed network for data propagationC) Analyzing a peer to peer network formation algorithmD) 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 the 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:

Benjamin Stroud – Wireless Sensor Network Simulator Page 21 of 39

Page 22: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

A) A complete sink tree will not form.B) Each node must know its 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 discovered but a large amount of data must be exchanged. This question may need to be re-examined.

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

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

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

A) Very ConfidentB) Somewhat ConfidentC) NeutralD) Less ConfidentE) Not Confident

A.6) EvaluationThe 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 TreeB) Center At Nearest SourceC) Cluster Formation

The answer is somewhat objective and the real goal with this question is to gauge the 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) OverviewThe 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 advantages and disadvantages of using Silverlight and .NET see the section on Silverlight contained in this paper.

B.2) InstallationNo installation or setup is required other than prompting the user to install Silverlight if it is not already installed on their computer. The simulator is displayed on a web page within a browser window. The application is compatible will all the major

Benjamin Stroud – Wireless Sensor Network Simulator Page 22 of 39

Page 23: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

browsers including IE, Firefox, Safari, and Chrome. The application can run on Windows or Macintosh computers.

B.3) Using the ApplicationThe 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 Tree2) Center At Nearest Source3) Cluster Formation

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

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/parent 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.

Benjamin Stroud – Wireless Sensor Network Simulator Page 23 of 39

Figure 4 - Wireless Network Simulator

Page 24: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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.

Figure 4 is an example of the application in use.

IX. LESSONS LEARNED

A) Deeper Understanding of Wireless Sensor Networks

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 appreciated 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 the 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) Educational TechniquesI 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 LearningWhen I began this 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 TaxonomyAt 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 Taxonomy 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

Benjamin Stroud – Wireless Sensor Network Simulator Page 24 of 39

Page 25: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

to form meaningful exam questions and lesson plans.

C) New TechnologiesOne 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 Silverlight I found that it was a more efficient platform with a more robust language technology behind it.

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 language 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 DesignOne 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 and of some educational value.

A.2) Software DesignAnother 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 algorithms 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 New TechnologyAs 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

Benjamin Stroud – Wireless Sensor Network Simulator Page 25 of 39

Page 26: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

All of my educational background thus far has been in Computer Science and business. I have never explored educational theory 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 apply them to the research of educational practices to 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

One 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 credence 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 project 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

Benjamin Stroud – Wireless Sensor Network Simulator Page 26 of 39

Page 27: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 could have significantly reduce the code 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 of 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 fail 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 custom 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 Complex 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 real 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 Application

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

Benjamin Stroud – Wireless Sensor Network Simulator Page 27 of 39

Page 28: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

pulled into a statistics or graphing application.

XIII. PROJECT DELIVERABLES

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 defense 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 academic community by exploring how topics within Computer Science can be reinforced using software. We have a wealth of students 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 28 of 39

Page 29: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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., Szymanski B., 2007. “Sensor Network Component Based Simulator”, Handbook of Dynamic System Modeling, ed. P. Fishwick, pp. 35-1 – 35-16.

[7] Codehaus Foundation. 2006 “JavaSim - Home”. http://javasim.codehaus.org/ Last Accessed: June 15, 2010.

[8] “Common 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 Report5522-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 29 of 39

Page 30: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

[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/encoding-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”, 17th Telecommunications Forum TELFOR 2009.

[17] Key F. “Microsoft 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 30 of 39

Page 31: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

[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] “Silverlight 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 31 of 39

Page 32: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 application 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 the 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 simulation 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 population 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 formed 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 to

Benjamin Stroud – Wireless Sensor Network Simulator Page 32 of 39

Page 33: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

one another 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 identified 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 data 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 method 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 aggregation 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 tree.

Benjamin Stroud – Wireless Sensor Network Simulator Page 33 of 39

Page 34: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 closest 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 34 of 39

Page 35: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

B) USER DOCUMENTATION

Setting up the Project1) Install Microsoft Visual Studios 2010 (Windows only)2) Install Silverlight 4 Tools for Visual Studios3) Download and unzip the source from the project website4) Select File -> Open -> Project/Solution5) Navigate to the WSNSim root directory6) Select the WSNSim.sln project file7) 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 Application1) From Visual Studios, select Build -> Build Solution2) Navigate to <project directory>\Bin\Release.3) Upload the generated HTML and XAP files to your web server

Starting the Application1) Navigate to the application’s web page via your desired browser.2) If prompted to install Silverlight, install it.3) The application should successfully launch.

Using the Application1) Select the desired Node Count (2-100)2) Select the desired Node Power Level – this will determine how long the simulation lasts3) Select the Wireless Node Range4) Select your desired Algorithm5) Click the “Deploy Nodes” Button6) 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 35 of 39

Page 36: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

C) SOFTWARE REQUIREMENTS SPECIFICATION

1) The Software SHALL be Internet Accessible – in order to promote ease of use and connivance 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 Wireless 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 Chosenvii) The Software SHALL Demonstrate Network Formation

According to The User’s Chosen Algorithm.viii) The Software SHALL Demonstrate Node Death.

Benjamin Stroud – Wireless Sensor Network Simulator Page 36 of 39

Page 37: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

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 Sensor 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 respondents 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 AnswerCorrect?

Confidence Level

Question 1 C N DQuestion 2 A Y AQuestion 3 Prolonging battery life Y N/AQuestion 4 D Y N/AQuestion 5 E N/A N/AQuestion 6 C N EQuestion 7 E N/A N/AQuestion 8 A N/A E

Respondent 1 AfterQuestion 1 C N DQuestion 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/AQuestion 4 D Y N/AQuestion 5 D N/A N/AQuestion 6 A N CQuestion 7 D N/A N/AQuestion 8 A N/A C

Respondent 2 BeforeQuestion 1 C N DQuestion 2 A Y E

Question 3Extending long distances without losing quality of signal Y N/A

Benjamin Stroud – Wireless Sensor Network Simulator Page 37 of 39

Page 38: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

Question 4 D Y N/AQuestion 5 C N/A N/AQuestion 6 B Y DQuestion 7 E N/A N/AQuestion 8 C N/A E

Respondent 2 AfterQuestion 1 C N EQuestion 2 A Y D

Question 3Extending long distances without losing quality of signal Y N/A

Question 4 D Y N/AQuestion 5 D N/A N/AQuestion 6 C N EQuestion 7 E N/A N/AQuestion 8 C N/A C

Respondent 3 Before Question 1 B Y BQuestion 2 A Y BQuestion 3 N/A N/A N/AQuestion 4 D Y N/AQuestion 5 B N/A N/AQuestion 6 A N DQuestion 7 E N/A N/AQuestion 8 C N/A D

Respondent 3 AfterQuestion 1 B Y BQuestion 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 38 of 39

Page 39: cs.uccs.educs.uccs.edu/~gsc/pub/master/bstroud/doc/report.docx  · Web viewWireless Sensor networks have recently become a topic of great interest to Computer Science researchers

Question 5 A N/A N/AQuestion 6 D N BQuestion 7 B N/A N/AQuestion 8 A N/A A

Benjamin Stroud – Wireless Sensor Network Simulator Page 39 of 39