Projects – Fall 2004

Click on a project to read its description.

Performance Visualization Tool

Project Description

We provide customers with tools to collect a wide variety of information that is useful in analyzing the performance of our products. These tools generate a large volume of data over time, and in many cases it is dramatically simpler to isolate data of interest by viewing graphs of the data rather than inspecting it in text form.

The goal of this project is to design and implement a web application that would allow customers or internal employees to upload performance data files, then present the data in these files as graphs. Users should be able to navigate through the graphs in a user-friendly manner, and download the datasets behind any particular graph for further analysis using Microsoft Excel. Users should also be able to upload modified graph images for others to look at. This application should manage sets of uploaded performance data for sharing with other users, or should allow the data to be held privately.

The results of this project will be maintained and extended by NetApp in the future, and therefore the technologies used in the project, the project documentation, coding standards, and deployment standards will need to be approved with the project sponsor. The emphasis of this project will be on the analysis and presentation of the performance data; the project should leverage existing open-source components for generating the graphs from the data.

Technologies: Open Source, e.g., gnuplot

John Deere Dealer Job Site

Introduction

WebWorks is a part of the Information Systems department within John Deere's Commercial and Consumer Equipment Division (C&CE) that develops internet, extranet, and intranet applications for John Deere. They work as a set of internal consultants to the division. WebWorks focuses on providing cost effective solutions written using solid industry techniques and open standards. WebWorks is a small group of programmers practicing Extreme Programming.

Project Description

Build a recruiting website that will allow job seekers to search a database of current job openings at John Deere Dealerships. Users will be able to search this database based on position types and geographic locations. Dealers will have a set of tools to create and edit recruitment entries. The system will track interest metrics of the positions. The site will be available for use with over 3000+ John Deere Dealerships. It will be available from the JohnDeere.com website and will be advertised with placement firms (such as the US Military).

Technologies: This system will be a web based, thin client application using Java (including J2EE, JSP, JavaScript, HTML, CSS, JDBC, and SQL). It will require development of a database. John Deere WebWorks promotes the use of Extreme Programming. The project team will have access to John Deere WebWorks and close contact with our customer. The application will need to be production ready by the end of the semester.

Software for Ad Hoc Wireless Networks

Project Description

The goal of this project is to investigate and develop algorithms for transferring data through an ad hoc wireless network. The target technology for this project will be Berkeley "Mica Motes" (available through CrossBow Technologies). "Motes" are small, battery-powered (2xAA), power managed microprocessors with on-board wireless transceivers (916 MHz ISM band). The range of MICA2 transceivers is estimated to be about 1000 ft. Data to be transferred through the ad hoc network is sensor based. Multiple-packet data streams are sourced from sensors attached to mobile motes. The challenge is to build a system in which an ad hoc (but fixed) network of relay mote transceivers will recognize the presence of a mobile source mote transceiver, and permit a data stream relay operation to occur from the mobile sensor through the ad hoc relay network to a pre-specified target base station. The initial use envisioned for such a system is a wildlife tracking application [specifically, tracking endangered red wolves (rufus canis) recently re-introduced into the Alligator River Wildlife refuge in Eastern North Carolina].

Technologies: C programming background is desirable.

Vehicle Tracking via Inertial Navigation

Project Description

The DARPA Grand Challenge is a race that requires a fully autonomous vehicle (no driver, no external input) to traverse a pre-defined course over approximately 300 miles of the California/Nevada desert in under 10 hours. The winner receives a $2M prize!

A local enterprise, Insight Racing (insightracing.org), has been accepted as a competitor in this race. CISCO and NC State University College of Engineering are pleased to sponsor Insight Racing in their quest.

The goal of this project is to refine the software necessary to calculate vehicle position by integrating tracking inputs from a GPS (Global Positioning System), and tracking inputs from a MEMS INS (Micro Electro Mechanical System - Inertial Navigation System) to determine precise position (+/- 3 inches). This is a continuation of a summer 2004 CSC Senior Design project that laid groundwork for solving this problem.

Technologies: C, Java, real-time systems, basic physics, numerical calculations.

OPOS Simulators

Project Description

Fujitsu Transaction Solutions is one of the top three suppliers of retail systems and services worldwide. Its integration of Microsoft DNA (Distributed InterNet Architecture) creates a high performance yet open platform point-of-sale system that retailers as diverse as Nordstroms and Payless Shoe Source are able to customize.

When developing point-of-sale software applications, developers make use of device simulators. These simulators "act like" point of sale devices (scanner, receipt printer, display, etc.). The goal of this project is to create a user interface for one or more such devices. This technology is standardized by OPOS (OLE for Retail Point-Of-Sale) architecture and device interfaces. This architecture and these interfaces are described by sets of classes defined using COM technology and ActiveX controls. This project will use OPOS Release 1.6. This is a continuation of a Spring 2004 senior project.

Technologies: C#, Visual Basic.Net, Windows XP/2000.

Granule Weight Reporting Software

Project Description

CertainTeed produces asphalt residential roofing shingles in Oxford, NC. One step in the process of manufacturing these shingles is the application of different colored granules to the top surface of the shingles. There are over 200 different types of shingles made at Oxford and over 20 different colors of these granules.

Currently we are collecting the weight of the granules via a real-time process control system into a Microsoft Access database. We need assistance in developing a user-friendly reporting system for this information. We spend millions of dollars per year on this material and it is very important that we know how much we are using on each product.

The goal of this project is to design and implement a web-based application to permit online tracking of these granules.

Technologies: ASP, VB Script, Java Script, SQL Server.

XML-Based Authoring & Display Tools

Project Description

The goal of this project is to design and implement a set of authoring and execution tools that improve documentation of upgrade methodologies. In particular, this project intends to accomplish the following:

  • Improve the method for authoring documentation used by Tekelec engineers and support technicians in providing hardware and software upgrades to Customer systems
  • Provide a method for reuse of information in the form of steps or [sub] procedures
  • Provide a means to tag procedural steps with adjunct information that can be retrieved as needed (e.g., troubleshooting, observations, etc.)
  • Provide structured, tagged output (nominally XML) that can be formatted to a standard printed document as needed
  • Provide a display tool that will guide an operator in more error free execution of the procedure to include the following types of aids:
    • Display of a single procedural step
    • Forward and backward navigation
    • Automatic logging of procedure traversal
    • Means for retrieving adjunct information
    • Means for journal entries tied to individual steps
    • Copy and paste or composition mechanism for command entry
    • Hyperlinking or embedding of dimensioning or calculation tools
  • Provide structured, tagged output (nominally XML) that can be fed to tools for automated testing

Tekelec engineering and operations personnel execute over 1000 software and hardware upgrades at customer sites every year. Execution of these upgrades is a combination of Tekelec personnel activities and customer self-executed activities.

Current procedure documentation and execution present several challenges:

  • Procedures are currently written as Microsoft Word™ documents which are difficult to write, review and maintain given the complex shading and sequencing needed for such procedures
  • They are difficult to execute since the detail involved often leads to misreading the document or skipping steps, especially since most upgrades are during the midnight to six AM time frame.

There is little reuse of existing procedures due to the difficulties in using Word. Although we have not collected specific metrics, similar types of changes lead us to believe that we can achieve in excess of a 25% effort reduction in procedure generation and at least a 50% improvement in error rates during execution. The additional benefits of a more guided execution approach, although somewhat intangible at the moment are considered critical to support global expansion.

Expected Skill sets or technologies used include the following:

  • Web based application development
  • XML document generation

Configuration Management Subsystem

Project Description

The goal of this project is to develop a configuration management subsystem that allows Tekelec to extend its development environment, especially with offshore partners, in a cost effective way. In particular, this project intends to accomplish the following:

  • Provide a configuration management system that can be bundled for off-site operation.
  • Provide a means for this system to synchronize off-site source archives with local archives in an automated way.
  • Provide extensions to existing Tekelec tools and methodologies that maintain compatibility with both the local Clear Case archives and the remote archives.

Tekelec is extending its development environment by partnering with on-shore and off-shore companies. We currently use Clear Case, with extensive customization and tools integration, as our primary configuration management system. While we are initially extending this environment to our partners, the high license fees associated with Clear Case may render this approach less than viable with significant expansion.

The goal of this project is to build a compatible adjunct subsystem of open source-based tools that can be used by Tekelec customers and integrated into our mainstream CM system.

Expected Skill sets or technologies used include the following:

  • Web based application development
  • Some Configuration Management understanding
  • Scripting language experience (e.g, perl, python, etc.)

Automated Test Generation

Project Description

One of Tekelec's primary products is the Eagle packet switch. The goal of this project is to develop a tool that allows Tekelec engineers to execute Eagle packet switch tests automatically. This tool should build a set of CSV files identical to that produced by the command driven FTRA feature of the Eagle switch. The FTRA feature of the Tekelec Eagle allows users to export an Eagle database to a workstation in CSV file format. The manual feature test is labor intensive and tedious. Below are the steps in the testing process:

  • Tester builds an Eagle database with a known set of data for each table (using Eagle commands file)
  • Using FTRA feature, tester exports the database to a UNIX station in CSV file format
  • FTP the CSV files to a window operating system PC
  • Open each file using Excel application
  • Visually verify the file format
  • Visually verify each data field in the DB against the expected result (from Eagle commands parameter values). Some of these CSV files are very large, up to a million entry records, and each record contains multiple fields.

Manual test of this FTRA feature takes at least 2 engineering weeks by an experienced tester of the feature to complete, and regression test must be performed for every release.

The goal of this project is to build an automated test module that allows the test engineer to execute from a command line and get the result once the test is completed. This automated test module should also allow the current Tekelec Automated Test Suite to initiate the test module.

Expected Skill sets or technologies used include the following:

  • CSV file formatting (Tekelec will provide a document with examples for each table)
  • Programming/Scripting language experience. Tekelec's preference is to have the software written in Python. Python is easy to learn for someone with Java experience and is becoming very popular in the business environment.

3D Visualization of the Tekelec Eagle

Project Description

One of Tekelec's primary products is the Eagle packet switch. The goal of this project is to provide a computerized 3D model of the Tekelec EAGLE 5 SAS. In particular, this project intends to accomplish the following:

  • Provide a user the ability to view all aspects of an EAGLE through a computerized 3D model
  • Provide a basis to marketing for giving a virtual show of the product
  • Provide a means to expand into a complete simulator of the EAGLE
  • Provide a visual representation of EAGLE for training at remote sites

Tekelec currently does not have a good means for representing the product when at remote sites. A computerized 3D model will provide both training and marketing divisions an easy way to demonstrate the product to the customer.

A 3D model combined with a existing EAGLE simulator can minimize the number of real EAGLEs needed for training.

Expected Skill sets or technologies used include the following:

  • Open GL

Java-MS Office Interface

Project Description

Butler and Curless Associates, Inc. (BCA) has been in business in Raleigh, NC since 1985. BCA has been actively marketing its software package called Freedom Series to the Wholesale Distribution vertical market. The software was written in RPG and designed to run on the IBM S/38 and later on the IBM AS/400.

BCA made the decision in 2003 to move its software from a proprietary environment on the IBM AS/400 to an open environment based on Java so that its software would be hardware, operating system, and database neutral. This transition will allow BCA's Freedom Series software to be marketed to a larger segment of the Wholesale Distribution vertical market.

As a result of moving from a proprietary environment to an open environment, there is additional flexibility and functionality available for integrating external applications and functions to the Java version of the Freedom Series software.

The objective of this project is to research, design and implement Java interface support for Microsoft Office including Access, Excel, Word, PowerPoint and Outlook.

Technologies: Java 2 (minimum JDK level 1.3, JDK 1.4 preferred); Java Servlets; JDBC; ODBC; Windows 2000, XP, and 2003; Microsoft Office 2002 and 2003; Internet Explorer 6.1 and higher; and current versions of Netscape Navigator.

Insulin Pump Therapy Analysis Tool

Project Description

Diabetes is a serious medical condition that affects young and old. This project will contribute to current research into controlling the effects of this disease. The goal of this project is to develop a software tool to perform analysis to determine recommended changes to insulin dosing to achieve more stable blood glucose (BG) readings, using data collected from the insulin pump. Since calculations are not precise, the challenge will be to identify patterns, in spite of miscellaneous anomalies in the data. This software will not be used to directly change insulin dosage in any patient. It will be used to provide recommendations to the medical team in order to allow them to make more timely and accurate changes in insulin protocols.

In the past, insulin pump therapy data analysis was difficult because little data was available to the medical team. Few patients were willing or able to document their entire insulin and carbohydrate intake over an extended period of time. The only data easily available to the medical team was the BG readings, which could be downloaded from the BG meter and graphed. Unfortunately, this was not enough information to make intelligent decisions about changes in insulin pump therapy. Recent advances in insulin pump technology allow easy collection of BG readings, carbohydrate intake and insulin infusion data to a simple data file. This allows for creation of a more effective analysis tool to assist the medical team in their decision making.

The following assumptions apply to this project:

  • The project will be implemented by a team of four students.
  • An Extreme Programming (XP) style of planning will be used in order to effectively gather feedback from the intended users during development. This does not imply that all XP practices must be adhered to during the development. That decision will be made by the team of students.
  • An initial Planning Game session will be held to identify the high-level design of the software. Two-week iterations will be used to continuously enhance the design based on user feedback.
  • Medical consultants will be available to answer questions about the many factors that affect BG readings.
  • Richard Laurent will act as the interface between the team of students and the medical consultants on the project.
  • Actual data will be available from multiple unidentified patients for use in testing the software.
  • This tool will focus on programming and mathematical aspects of the data, not the medical aspects. Students will be taught some of the basic affects of various factors on BG readings, but only enough to understand the mathematics involved.

Expected Skill sets or technologies used include the following:

  • GUI development experience.
  • Knowledge of or interest in learning Fuzzy Logic, Neural Networks and/or Artificial Intelligence, as determined by initial project evaluation.

Asset Locator

Project Description

In a large enterprise, such as a hospital, keeping track of mobile equipment such as wheelchairs, various pumps and meters -- movable assets, in general -- is a significant problem. Given the large number of people involved (doctors, nurses, orderlies, etc.), and the frequent need for rapid access to such equipment, knowing the exact location of a given piece or type of equipment at any given point in time is problematic. Recent developments in wireless technologies such as RFID (Radio Frequency IDentification), infrared, signal strength based wireless triangulation, and combinations of these, permit a new class of asset tracking applications. The goal of this project is to investigate properties of such technologies, and design and implement a prototype database to permit asset location using inexpensive wireless tracking.

Technologies: To be determined by student team.

Scene Analysis

Project Description

The DARPA Grand Challenge is a race that requires a fully autonomous vehicle (no driver, no external input) to traverse a pre-defined course over approximately 300 miles of the California/Nevada desert in under 10 hours. The winner receives a $2M prize!

A local enterprise, Insight Racing (insightracing.org), has been accepted as a competitor in this race. CISCO and NC State University College of Engineering are pleased to sponsor Insight Racing in their quest.

Another key requirement to compete in the DARPA Grand Challenge is to have a capability to process video images captured by cameras mounted on the vehicle and to define a path that will avoid obstacles (or holes) in the immediate area of the vehicle. The goal of this component of the DARPA Grand Challenge is to define and implement software to be the 'eyes' of the vehicle. Software must be developed to find a clear path that can be traveled by a four-wheel drive vehicle. This software module must generate steering commands to avoid a detected obstacle and to suggest a maximum speed. This is a continuation of a summer 2004 CSC Senior Design project that laid groundwork for solving this problem.

Technologies: C, Java, experience/interest in digital video processing.

15. Entrepreneur Projectdescription coming soon