Field Session Projects 2006


Atmel
Avaya
Bureau of Land Management
Cherry Hills Physical Science Website
CSM #1 & 2 - Tech Camp/ Interactive "Future of Technology" Website
CSM #3 - PRIME Research Group
CSM #4 - Geophysics Interactive Graphical Display
CSM #5 - Chemistry #1
CSM #6 - Chemistry #2
CSM #7 - MCS Analysis of Aerosol Surface Data
CSM #8 - MCS Parametric Model for Oil Production
eQUIZitive
ESE Today
Intrado
Medtronic
Toilers Research #1
Toilers Research #2

Atmel Corporation

Photolithography is one of the steps of the semiconductor manufacturing process. There are numerous critical parameters associated with each photolithography step. Many of these parameters are stored in a table that is referenced by the automation system during the processing of material. Parameters in the table are added or updated on a routine basis as new products are introduced, to maintain control of output parameters, or as part of a processing change. The current system to make additions or updates to this table lacks some desired functionality and is not user-friendly. A new system would have an intuitive GUI that allows the user to make updates and changes to the parameter table as well as queries of the table. The new system would incorporate additional functionality not available in current system.

Project Requirements:


Working Environment:

This project offers an opportunity to experience the software development process in a diverse computing environment. The team will be interfacing with senior process engineering and IT professionals in a high volume wafer manufacturing facility.


Avaya


Background on Avaya

Avaya designs, develops, and deploys communication systems, applications, and services on a global level. As a leader in the field of enterprise telecommunication systems, Avaya is responsible for meeting the communication needs of small businesses as well as 90% of the companies in the Fortune 500 and the U.S. government.

Proposal #1:

Project Background

As part of an ongoing effort to maintain and improve quality, data is collected from various data sources for analysis, and is used to drive critical business decisions and drives process improvements.


Project Objectives
Revitalize the web access for our quality data including update capabilities, integration of external data sources, system administrative functions, and dynamic reporting capabilities. Leverage existing business logic and process flow.


Skills Required

The project requires knowledge of database-driven web development, Java Servlets, JavaScript, PERL, and HTML. The architectural design can be flexible, but must be easily maintained. The application will be deployed on a Unix-based Web Server. Experience with MYSQL is desirable.


Proposal #2:

Project Background

Resource usage estimates are necessary to determining feature planning. Currently these estimates are tracked through a web site; however, the current site is product specific which limits the usefulness of the site.


Project Objectives

Redesign the website currently collecting resource information to accommodate a generic solution for a set of products. As part of the redesign, additional capabilities including access control, update functionality, and reporting need to be provided.


Skills Required

The project requires knowledge of database-driven web development, Cold Fusion, JavaScript, and HTML. The application will be deployed on a Windows-Based IIS Web Server. Experience with MS SQL server is desirable.


How Do CSM Students Benefit?
The team that works on this project will be afforded firsthand experience in developing a web-based application for a company that is increasingly investing in web-based application development. This project may give the team members an opportunity to apply web experience they may already have, as well providing them with the opportunity to develop new skills building a real application framework using modern Web technologies. Team members will also get experience with quality management and get exposure to process initiatives such as CMMI and ISO.


Bureau of Land Management (BLM)

There are several possible projects:

Public Reports for ROW Rentals:
We have a number of public reports that need to be programmed. The students would be given "Use Case" requirements such as the one included here. They would develop a project plan for completion of the report from development, thru testing and into production. They would program the report (has to be Section 508 compliant), including the ODBC connection to the Data Warehouse. The students would use Brio, java 2 and the database is Sybase IQ. The completed report would be available to the public.

Web Site Development:
Development of project web sites to provide users information on a specific project. We have several that need this type of development.  These projects will include use of Dreamweaver and access to a database.

Developing feature functions for our public GIS site:
This would involve programming of special queries for the public to use, who access
our www.geocommunicator site. We add additional data themes periodically, and the public requests additional query capability. We are having public open houses next week and will be receiving numerous requests for these special queries. This requires the students to use a variety of programming languages and connect to an Informix database.

Cherry Hills Physical Science Website

Client: Ethan Dusto, Physical Science Instructor, Cherry Creek High School

Background Information:

Ethan is a second-year teacher who has volunteered to have a team of Mines students build a webpage for one of his classes, Physical Science. This project will serve the students enrolled in Physical Science, a high school freshman introductory science course at Cherry Creek High School. Ideally, the material on the web page will be accessible and helpful for other students in similar classes around the globe.

Project Goal:

The team will work to build a webpage with resources for the students in the class. The web page will serve as a complement to class lectures, homework, labs, and projects. Through their computer at home, high school students will be able to review class notes, communicate specific questions with each other, try extra problems, and study for upcoming exams. The page will be designed so that high school math and science teachers can easily update and edit the information on the page and use a template to create similar pages for other classes.

In the case of Ethan's Physical Science course, all of his lecture notes are handwritten, so the team will use the class book and his notes to create organized and enthralling power point slides with related pictures and necessary equations. This course has seven units, with a test after each unit. The webpage should have unit summaries and unit activities. An example of an activity could be a story based off of an equation where the students use scientific reasoning, the equation, and class material to solve the problem presented in the story.  The program could walk the student through the problem and check the final answer.


Tasks:


CSM #1 & 2 - Middle School Technology Camp / Interactive "Future of Technology" Website

Field session students will be in charge of creating an interactive web-based activity about the history/future in technology. Using past mathematicians and computer scientists, a "role" will be created outlining the experiential tools each participant can use to solve a hypothetical future situation.  The problem is as follows: Due to increased worldwide populations, citizens have been forced to create underwater civilizations to compensate for the lack of land on the continents. What problems should be taken into account when planning for these underwater habitats?

One field session student will be in charge of developing and teaching a lesson on Dreamweaver and Flash animation to a group of approximately 16 middle school students at a technology camp. The lesson should last approximately one hour; it should be interactive, aimed at helping the students learn how to make a simple webpage, and be appropriate for middle school students (6th, 7th and 8th grade). Additionally, this student will be responsible for developing, administering, and analyzing an assessment for this group of middle school students. The student will be responsible for compiling questions for a pre and post assessment on various topics that will be covered during the camp, as well as developing a method of administering the assessment (clickers, for example). The student will be responsible for administering the pre and post assessment at two summer technology camps. Finally, the student will be responsible for analyzing the data gathered from these assessments and putting together a report discussing the results in a format that will be usable for the tech camp leaders.

CSM #3 - PRIME Research Group

Interfacing with Real-Time Network Simulation

Client: PRIME Research Group

Dr. Jason Liu MCS Faculty
Alex Probst Ph.D. student

PRIME SSFNet is a powerful real-time network simulator designed for studying large-scale computer networks and is currently under development by the Parallel and Real-Time Immersive network Modeling (PRIME) research group here at CSM. Our ultimate goal is to allow real distributed applications to interact with the virtual network environment that consists of millions of network entities (e.g., routers and links) interacting with common network protocols and services (e.g., TCP, UDP, and HTTP). A graphical user interface (GUI) through which network researchers can configure and control the simulation parameters and visualize the simulation results at runtime is significant in that it will allow fast prototyping and first-hand validation of network models. Furthermore, the interface will support real-time interactions with the virtual network environment (in terms of directing real-world network traffic though the simulated network.)

Project Goal

The goal of this project is to develop a user-friendly graphical user interface that allows the modelers to create and parameterize the virtual network, to dynamically change network configurations in real time, and to visualize the state of the network during simulation in real time.

Skills Required
By the end of the field session, the students will acquire a good knowledge of GUI design, computer networks, and computer simulation. Your participation in the research group will for certain yield significant weight on your resume, especially if you are seeking a graduate school. Students who successfully complete this project will be recruited by the PRIME research group and funded for further research activities in the summer as well as during the following academic year.

CSM #4 - Geophysics Interactive Graphical Display

Client: Dave Hale, C.H. Green Professor of Exploration Geophysics, CSM

Project: Interactive graphical display and manipulation of 3-D triangulated surfaces.

Background:
The Mines Java Toolkit (http://www.mines.edu/~dhale/jtk/index.html) is open-source software with applications in science and engineering. Included in the Mines JTK are packages that provide the foundations for efficient 3-D graphics programming in Java. Specifically, the Mines JTK includes a package that provides the entire OpenGL 3-D graphics library in Java, and a package that implements a 3-D scene graph on top of OpenGL.

Our goal in this project is to build on these packages to design and implement one of the most fundamental components in interactive scientific visualization a 3-D triangulated surface.

Applications of such surfaces are universal. Computer games, computer aided design, scientific visualization, modeling of biological, geological, geophysical processe all of these applications require the display of 3-D triangulated surfaces. Many of these applications also require interactive manipulation of surfaces, and most existing software systems do not support this task well. We must take care in our software to support both interactive visualization and manipulation.

Requirements:
The central theme of this project is 3-D interactive graphics. In the course of this project we will learn We will learn these subjects while designing and developing software components to Along the way, we will document our work with

CSM #5 - Chemistry #1

Client: Dr. Kent Voorhees

A Ph.D. student in chemistry showed in his thesis research that a protein could be thermally degraded (heat) in a selective and reproducible process. The student also found that when the protein structure was known, he could reconstruct the sequence of the original protein based on the information from the thermal fragments. The following diagram summarizes the thermal degradation process:

                                                                heat
ABCDEFGHIJKLMNOPQRSTUVWXYZ -----------> Protein; letters represent amino acids

ABCDEF + BCDEF + EFGHIJKL + ABCD + ABCDEFGHIJKLMNOPQRSTUV +
ABCDEFGHIJKLMNOPQRSTU + ABCDEFGHIJKLMNOPQRS + ABCDEFGHIJKLMNOPQR +
GHIJKLMNOPQR + IJKLMNOPQ + JKLMNOPQR + plus many other combinations.

The problem in the case where the structure is not known, is can the fragment data be used to show that ABCDEFGHIJKLMNOPQRSTUVWXYZ is the structure of the original protein? Successful completion of the project will lead to a publication in a chemical journal. The project will not require knowledge of protein chemistry.

CSM 6 - Chemistry #2

Client: Dean Dickerhoof

Background:

In the 1996 MACS field session, a team of students worked for me and completed a very useful project.  It takes as input chemical formulas and then decides if a balanced chemical equation can be written using them and, if so, writes such an equation. Essentially, it balances complicated chemical equations. Unfortunately, after the students departed CSM, a small "bug" was discovered in their code. The code is written in Pascal, so I have been unable to find and correct their bug.  Furthermore, for distribution they have an "exe" file which must be installed on the user's computer.

Even as it is, the program has been widely used not only by CSM students but by others around the world (including high school students, college students, and professional people needing a balanced chemical equation).

Project Request:

The goal for this year is to create a web-based version of the original program, minus the existing bug (of course).  The program would involve:
  1. "parsing" a chemical formula so that all atoms are counted correctly,
  2. setting up the mass and charge balance equations as a matrix, and
  3. doing what I think is called "reducing it to a row echelon form".
    
I can show the students how to do parts (1) and (2), but they will need to solve the (3) task.

Skills:

Students should know how to do some web programming.  Interest and knowledge of chemistry a plus.

CSM 7 - MCS

Client: Reinhard Furrer

Background information:

Aerosols, particle matter or simply water vapor can be measured with many different techniques, based on, for example, LIDAR, satellites, surface and airborn in-situ devices. Although these various instruments have different sampling times, volumes/footprints and measurement errors it is commonly accepted that they agree to a certain extent. Despite the large diversity of mesurement types, sampling is often very sparse in space and/or time and it is almost impossible to to quantify their large scale behaviour. The latter is often studied with off-line transport models or even fully coupled atmosphere-ocean models. This reseach aims to assess quantitatively the difference between aerosol measurements and off-line transport models. We need to formalize a statistical model taking into account the different scales and uncertainties.

Project Goals
:

The first but indispensible step is to analyse the (surface) aerosol measurements itself. We will focus on data from (at least) two sampling sites to allow univariate and bivariate description of variables like single-scattering albedo, backscatter fraction, radiative forcing efficiency. The modeling need to take account seasonal, diurnal cycles, etc. Statistical keywords include: correlation analysis, multiple regression, (bivariate) time series models. The analysis is carried out with the interactive computing environment R.

Skills Required:

CSM 8 - MCS Parametric Model for Oil Production

Client: Reinhard Furrer

Background information:

The "Hubbert curve" empirically approximates the full cycle of the growth, peaking, and subsequent decline to zero of the "production" [(quantity/year) vs. year] of a finite, nonrenewable resource, like oil. Besides this most popular approach, there exists other parametric families, each with specific advantages and disadvantages. Yet, all try to answer questions like:
The importance of precise answers to question of the above type is perspicuous.

Project Goals
:

The project is three-fold. First, the rational and elementary properties of the Hubbert curve need to be acquired from existing literature. A second task is to find a parametric family to model the total crude oil production. The resulting parametric form should have low residuals with the observations as well as strong predictive capacities. The third task is to simulate simple oil exploration and test the predictive skill of the parametric model developed in the first part.

As data, we will use mainly the North Dakota dataset, but also the World Oil dataset.

Statistical keywords include: linear and non-linear regression, time series, marked point processes. The analysis is carried out with the interactive computing environment R.
 
Skills Required

eQUIZitive

Background:

eQUIZitive is a small software company located in Englewood.  Our core product is a web application called medQ, which is a system designed to help hospitals and medical staffing companies keep track of their employees' documents, tests, and certifications and prepare for a health care audit. The application was developed with php and mysql and runs on our linux-apache webserver. Have a look at our online tour for a more detailed explanation of our product:
http://medq.equizitive.com/tour

One of the biggest challenges a new company will have in using the system, and therefore a challenge for us in selling the system, is loading all of their pre-existing documents onto the web site. Presently, we have two ways of doing this: 1) They can scan their documents and upload them to our site one at a time using their web browser, or 2) they can use a process we developed called Incredifax, whereby they fax in a stack of pages to a staging area on the web site, and then indicate which documents belong to whom and enter any metadata for each document. Presently the second method is preferred by our clients because it is faster, but the main drawback is that the quality of the pages transmitted via fax is quite low.

The Project:

Our proposed CSM field session project is for the students to create a windows-based interface to scan documents, enter metadata, and click a button to have the documents directly uploaded to the site.  This program will use a common scanner interface (TWAIN, Windows Image Acquisition, etc.) to get images from the scanner and prompt the user to enter information about the document (who it belongs to, expiration date, whether or not it has been signed, etc.) Then, they will click "upload" and the program will send the pages directly to the web site and update the database with the metadata associated with the page. This will allow for much higher quality images and will save a step in the upload process when compared to the current way of doing it. This might not sound like a lot, but when clients are uploading thousands of documents, that time savings adds up.

Skills:

CSM Field Session Team members should have experience in windows programming (VB, C++, etc.) and have a basic understanding of web technology. Knowledge of php, linux, or mysql is not explicitly required, since the work will be exclusively on the windows interface. Members should also be adept in creative problem solving. We know what we want the program to do, but the team members should come up with the actual design and specific solution to the problem.

In Closing:

Students will get experience not only working on a real project that solves a real problem, but in working with a small company and seeing the challenges and rewards that come with a small workforce. The team will work with a CSM graduate who has gone through the field session process and will help the students get the most out of their field session experience.


ESE Today

Background:

MattSoft Publishing Incorporated (MPI) produces, publishes, and distributes the journal Explosives Science and Engineering Today (ESEToday). MPI offers short courses for training workers who use explosives.  Last year a field session team developed an on-line course environment similar to Blackboard for instructors to be able to set up courses.   The project included a wizard for setting up courses in a pre-determined structure, a login function to distinguish between students, instructors, and administrators, and the ability for students to view the course material and take quizzes.

The Project:

Last year's project was a success, but there is another component that  needs to be addressed. The website of the ESEToday journal to which the online courses would be attached is static.

We propose to make it dynamic by creating a database backend with the ability to collect detailed statistics about how the site is being used, with snapshots for daily, weekly or monthly views.  Also the ability to easily update news, archive, and have that archive searchable by users of the site would be advantageous.  Another valuable feature would be a section with login for data that isn't available to the general public but to select users.


Intrado


Background:

Intrado Corporation is a company located in Longmont Colorado. We currently provide Enhanced 9-1-1 Services for many large Local Exchange Carriers and other Wireline and Wireless carriers. These services include the collection and retrieval services for 9-1-1 calls that occur throughout the 50 states. To support these services as well as to support services in the future, Intrado has a software development department that is responsible for building and supporting existing software platforms.

The current 9-1-1 infra-structure in place today has technology that has been in place since the 1960s. Intrado is currently in the process of proposing changes to this infra-structure as well as building products to address needs in the future. As part of these changes and new products, Intrado has developed a platform that will support the next generation E9-1-1 systems. This platform is built around a new protocol that has been recently defined by a 9-1-1 standards committee made up of industry professionals.

The Intrado software engineering organization currently has a need to build an automated testing platform that can be used to build new tests to run against this new platform to validate functionality and verify the platform after enhancements are made to it in the future. The team has discussed using a testing framework like Fitnesse or build automated tests to provide the needed testing.

The Project:

The project that we would like to submit as our proposal involves the building of an automated testing platform to test out the new E9-1-1 system that was developed by Intrado. The system accepts a limited set of messages from outside entities and sends back in many cases information stored or collected by the system based on the message received. The automated test platform would create these messages and then verify that the information returned is correct. The test platform should be easy to program and provide the capability to support a large number of test cases. Tests could be kicked off manually and then left to run unattended. Results of tests should be available after the tests are run and should be easily summarized so that an individual can tell if all test passed within a minute or less. We don't think a complete tool could be built in the timeframe allotted for this project and feel that a tool like Fitnesse or other automated test tool framework could provide the building blocks needed to build a platform that would meet our needs within the time allotted.

Skills:

I have estimated that this project would require about 3 individuals if we hope to complete it in the time allotted. These participants should have experience in Java programming as they will be writing Java code to work with the framework. Other experience that would be applicable would be: the use and programming of ANT XML files for building software releases; prior experience reading and understanding of the HTTP protocol, writing software to create XML output; and any experience with other automated software test tools, including junit. Any prior experience with the SIP protocol would also be a plus.

The E9-1-1 system that the tool will be built for uses SIP and another protocol that is similar to HTTP. By developing the test tool, the students will be exposed to SIP (the protocol used to support VOIP calls) and will also learn some internals as to how HTTP works. This will be valuable experience as VOIP is gaining in popularity and HTTP is widely used in support of a variety of Web applications.

Automated testing has become a hot topic in the industry as companies are trying to cut development costs as well as build better quality products. Developers that have experience in this area are not only sought by development groups but can also work in the quality or testing organizations.


Medtronic

Localization Simulator (Project A)

Medtronic Navigation products rely on a variety of localizing technologies (optical from NDI http://www.ndigital.com/medical.php and electro magnetic - developed internally) to identify and track medical instruments. Localizing technology has grown and become more sophisticated and its relationship with applications has grown accordingly.

Moving forward, on-going product generation will require a development environment that includes sophisticated localizer simulation capabilities. This simulator must faithfully mimic the following localizer behaviors:
This simulator should have the ability to do the following:

Development of this simulator will provide the team an opportunity to

Medtronic Figure 1
Figure 1.

Software Reuse (Project B)

Software reuse is a deceptively difficult problem to solve but represents one of the key components to realizing the vision of application development based on a product line philosophy. Historically, software reuse beyond simple libraries and small components has been extremely difficult to efficiently achieve across a large development organization.

Difficult for developers to identify what is available for harvesting.  Rarely does a prospective software component supply exactly the functionality required. Contributing to this lack of success has been the fact that it is hard to catalog achieve, and retrieve reusable assets as the effort grows to span multiple projects and organizations within the business. Developers must be able to easily create potentially reusable components and locate suitable reusable assets when they exist.

Traditional approaches generate a hierarchical organization similar to the Java libraries.
Search engine technology (e.g., Google) takes the brute-force search view of data. No attempt is made to impose an organization to the information but success is based on the effectiveness of the search query provided by the user. Drill-down and back out (e.g., wikiwiki style) represents an attempt to overcome some of the problems associated with hierarchical organization schemes by providing link & jump capabilities to the author.
The software reuse issue is particularly interesting given the emerging ideas about how to organize and think about data/information. For example, www.flickr.com presents a scheme to associate meta-tags with photos as opposed to trying to organize them in folder hierarchies. Of course the variability in how humans think about things, (e.g., adding a meta-tag of "DOG" to a photo of a poodle while someone else would attach a meta-tag of "POODLE") presents an entirely new set of challenges.

This project will require the team to employ a mixture of research, data design, and programming to accomplish the following:
Medtronic Navigation Website
http://www.stealthstation.com/index.jsp

About Medtronic Navigation
Medtronic Navigation is the leading supplier of integrated image-guided surgery products in the world. Based in Boulder County, Colorado, Medtronic Navigation is focused on research to enhance current imaging systems and develop new image-guided surgery applications. Medtronic Navigation uses extensive research and development and strategic partnerships giving surgeons and their patients the safest and most effective imaging devices available in the world.



Toilers Research #1

Client: The Toilers Research Group

    http://toilers.mines.edu

    Colorado School of Mines
   
    Qi Han (CS Faculty)


Background:

With the advances in computational, communication, and sensing  capabilities, large scale sensor-based distributed environments are becoming a reality.  Sensor enriched communication and information infrastructures have the potential to revolutionize almost every aspect of human life benefiting application domains such as transportation, medicine, surveillance, security, defense, science and engineering. An integral component of such an infrastructure is a data management system that allows seamless access to data dispersed across a hierarchy of storage, communication, and processing units -- from sensor devices where data originates to large databases where the data generated is stored and/or analyzed.

Skills required:

    * Strong C++ programming
    * Ability/interest to learn new languages, API's, and packages
    * Basic knowledge in probability theory

Project Goal:

The project goal is to conduct simulation studies for a well-designed energy efficient sensor data collection protocol using a network simulator ns2. Since sensors are resource constrained, often sensor data is collected into sensor databases that reside at more powerful servers. A natural tradeoff exists between the sensor resources (bandwidth, energy) consumed and the quality of data collected at the server. Blindly transmitting sensor updates at a fixed periodicity to the server results in a suboptimal solution due to the differences in stability of sensor values and due to the varying application needs that impose different quality requirements across sensors. In order to adapt to these variations while at the same time optimizing the energy consumption of sensors, a data collection protocol has been designed.  Detailed performance evaluation plans have also been laid out.  By the end of Field session, you should finish the implementation of the proposed algorithms in ns2, and generate experimental results.  Depending on the project outcome, you may become a co-author of a high quality journal paper.  Furthermore, you should be able to strengthen your resume by proudly adding the following shiny points:

    * Research experience on wireless sensor networks
    * Proficient in the widely-used network simulator ns-2
    * C++ programming
    * Strong Object Oriented design

Toilers Research #2

Toilers Research Group Client: The Toilers Research Group

http://toilers.mines.edu Colorado School of Mines

Tracy Camp (MCS Faculty)

Stuart Kurkowski (MCS Ph.D. Student)
Tuli Mushell (M.S. Student)
Ed Krohne (B.S./M.S. Student)

Background:

The Network Simulator 2 (NS-2) is a popular and powerful simulation environment. The Toilers research group at CSM has developed a visualization and animation tool for use with NS-2 wireless simulations. Visual analysis of a wireless environment is important for three areas of NS-2 based simulation research: (1) validating the accuracy of a mobility model's output and/or the node topology files used to drive the simulation; (2) validating new versions of the NS-2 simulator itself; and (3) analysis of the resulting NS-2 trace files. Our interactive NS-2 protocol and environment confirmation tool (iNSpect) program can accurately handle all three of these areas. iNSpect is freely available to researchers to improve the accuracy of their simulations, and has already been shared with over 155 different research groups in 34 different countries. See http://toilers.mines.edu for more information about iNSpect and http://toilers.mines.edu/EXTERNAL/twiki/bin/view/Toilers/NsInspect for a small demo.

Skills required:

Technology:

Last Summer:
Last summer three students took iNSpect from a research tool to a teaching tool. They added support of image and movie capture from the OpenGL canvas. iNSpect images and movies are used in classroom and conference presentations.

Project Goal:
We have two goals/projects to add further enhancments to iNSpect. (1) The first project is to support more functionality in the iNSpect visualization core engine, including statistical calculations. (2) The second project is to add more functionality to the iNSpect OpenGL visualization window to support more coloring, texture maps, and lighting. iNSpect makes use of many object oriented design principles including multiple inheritance, operator overload, and large data structures. By the end of Field Session, you should be able to add some shiny bullet points to your resume and speak intelligently on:

Toilers #3: Simple Sensor Syndication

This project will create a publish/subscribe model for wireless sensor networks (WSNs), and deploy the system in the WSN testbed installed in BB 154 (known as the Casino Lab). The testbed has temperature, humidity, and light sensors, and it tests networking protocols for WSNs appropriate in environmental and industrial monitoring applications.

Sensor networks are good at gathering data across space and time, but those data are usually aggregated and stored in an offline database unseen by users unless there is a critical alarm that must be raised. This project creates a new way to make WSNs more interactive, in which a user can get a subset of the available data delivered to him or her online.

Users of the sensor network will specify events that they are interested in, such as when the temperature gets too cold or when the lights go out. Theses events are specified by writing short sections of code in a high-level language that serve as function detectors. The WSN evaluates these function detectors periodically over the region of interest, and it records events of interest to the user. Finally, the network will generate an RSS feed that is updated every time one of these events occurs. By subscribing to the RSS feed, the user gets periodic updates of the WSN's status inside his or her newsreader.

The project team will learn about the RSS 2.0 spec, programming in nesC/TinyOS on the wireless sensor motes to collect sensor readings, and programming in Python to aggregate and publish the data.

Because this software will be used by scientists and other consumers of WSN data, it must be easy for them to write code to detect interesting events, and it must be easy to use in general. Also, because WSNs comprise resource-constrained devices, most of which run on batteries, the software must be efficient and not add too much communication overhead. The final deliverable will be a demo to submit to ACM SenSys 2006, the one of the top conferences in sensor networks (which happens to be held in Boulder this year). The demo will involve walking into a sensor network with a laptop, specifying interesting events, and then monitoring those events in real time in a newsreader.