Computer Science

Senior Design Center

Projects – Fall 2005

Click on a project to read its description.

Eagle Measurements Analysis Tool (EMAT) Enhancements


The goal of this project is to create a web-based tool to create HTML-based traffic reports based on existing Eagle Signal Transfer Point (STP) Measurements Platform data.

Business Justification:

The existing Eagle Measurements data is very large and cumbersome to work with. During testing of Eagle Measurements, the testers must analyze large amounts of traffic and measurements data in order to verify the functionality of the system. This takes a lot of time, and can be error-prone. A tool is needed that will simplify this task, and allow the testers to easily view traffic reports for comparison with information from the traffic generation tools. This tool could also be used by Tekelec's customers for generating traffic reports in a user-friendly manner.

Project Description

This project will involve the creation of a tool that will get measurements data from the Eagle STP, and create a web-based interface to generate useful reports from the data. This will include the following high level steps:

1. Define the schema for the measurements data.
2. Create mock-ups of the desired reports based on input from Tekelec.
3. Map the existing Eagle CSV files to the schema.
4. Map the schema to the desired reports.
5. Working with a Report Generator provided by Tekelec, generate the desired reports. Report definition will be done using the Python programming language.

This project is a continuation of a project started in the Spring 2005 semester. The Eagle Measurements Analysis Tool (EMAT) takes CSV files as input, stores extracted data in a database, and allows efficient viewing of this data via a web-based application. The goal for this semester is to verify requirements and design from last semester and to test and extend existing functionality of EMAT.

Expected Skill sets or technologies to be used include the following:

  • JAVA
  • J2EE
  • Python
  • MySQL

Development methodologies are up to the individual team. However, Tekelec encourages the use of agile development methods. Requirements at a concept level are immediately available for the team to study. It is expected that these initial requirements will be refined by the student team in cooperation with a Tekelec team prior to starting development. These refined requirements will constitute a formal requirements document or the basis for user stories in an XP development mode.

Automated Manufacturing Test Tool

The goal of this project is to create a tool to perform automated manufacturing acceptance testing of Tekelec's TekServer 2 platform. The TekServer 2 is a Linux-based PC with dual Xeon processors, 16GB of RAM, and mirrored hard drives. The current testing procedure is very labor intensive: A well-defined set of diagnostic programs must be manually executed. Results must be manually logged. Reports must be manually produced. The team will design and implement a script-based software architecture to automate the manual elements of this testing and design and implement a knowledge base that can be mined by testers to assist them in troubleshooting failures exposed by the testing procedure. The tool will test individual TekServer 2 shelves, as well as completed frame assemblies containing multiple shelves.

Expected Skill sets or technologies to be used include the following:

  • JAVA
  • J2EE
  • Python
  • MySQL

It is expected that the one-semester project will result in a working prototype of the tool. Documentation and coding practices must be such that the project may be extended to another team for follow-on enhancements or turnover to Tekelec for continued improvements.

Development methodologies are up to the individual team. However, Tekelec encourages the use of agile development methods. Requirements at a concept level are immediately available for the team to study. It is expected that these initial requirements will be refined by the student team in cooperation with a Tekelec team prior to starting development. These refined requirements will constitute a formal requirements document or the basis for user stories in an XP development mode.

OPOS Simulators

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 that retailers as diverse as Nordstrom and Payless Shoe Source are able to customize.

The proprietary software product that provides the code base for Fujitsu software solutions is called iStore™. iStore™ implementations use real devices appropriate to the retail market, such as a cash drawer, receipt printer, barcode scanner, etc. When designing and implementing custom point-of-sale applications based on iStore™, it is more convenient for developers to attach simulated devices. The OPOS standard sets out specifications for these devices. Software simulators must mimic physical devices in minute detail so that iStore™ code that communicates with a device cannot tell the difference between a real device and a simulated device.

The goal for the Fall 2005 senior design team is to build on an existing design and implementation for OPOS Device Simulators created by a previous senior design team (Spring 2005) and create additional OPOS Device Simulators. The team will use state of the art development tools such as Visual Studio.Net, including C#, Visual Basic.Net, Windows XP/2000.

Power System Visualization Applications


According to the "Final Report on the August 14th Blackout in the United States and Canada," which was issued on April 5, 2004 and conducted by the US-Canada Power System Outage Task Force, "A principal cause of the August 14 blackout was a lack of situational awareness, which was in turn the result of inadequate reliability tools and backup capabilities." In light of this conclusion, improving an operator's ability to visualize the status of the power system might aid an operator in making adjustments to his/her operations to mitigate potential problems. Visualization in a control room of the status of the power system during nominal and off-nominal system conditions would facilitate this improved operation. From these needs, the following challenges arrive:

  • How should data be presented?
  • What is the most effective way to present data so an operator can make quick, accurate decisions without information overload?

Project Description

The focus of this project is to investigate and prototype different visualization techniques (i.e., contouring, 3-D displays, etc.) utilizing commercial off the shelf software components. Among the software components to be investigated are Microsoft's Data Visualization Components and ESRI's ArcGIS 3D Analyst. This list may be expanded to a third component during the project if time permits.

Skill set required includes ODBC, SQL, COM, and .NET. The project team would provide

  • Requirements definitions.
  • Functional specification for integration of software components.
  • A prototype of the usage of the above software components with a specified set of data which would be provided.
  • Weekly status reports.
  • Overview presentation and written report outlining all work performed and lessons learned.

Company Background

ABB is a leader in power and automation technologies that enable utility and industry customers to improve performance while lowering environmental impact. The ABB Group of companies operates in around 100 countries and employs around 103,000 people. In the United States, ABB employs nearly 8,500 in 32 states. Our US headquarters is based in Norwalk, Connecticut and our Power Technology headquarters are based in Raleigh, NC on North Carolina State University's Centennial Campus.

Add Support for Ruby to Visual SlickEdit

The goal of this project is to add support for the Ruby language to SlickEdit as part of SlickEdit's version 11.0 release. SlickEdit is a commercial software package for software developers that supports over 30 programming languages.

Ruby is an object oriented scripting language.

The project would require the students to write a parser for this language within an object oriented parsing framework that we would provide, and implement language support within our macro language.

Support for Ruby includes the following:

  • Syntax coloring (e.g. keywords, literals, etc.)
  • Syntax expansion
  • Auto parameter information (including built-in functions)
  • Symbolic tagging (recognizing variables, functions, etc. for easy look up)
  • Smart paste/indent (indenting text according to nesting rules)

SlickEdit has a well-defined infrastructure for adding new languages with plenty of sample implementations. A similar senior design project (Fall 2002) added support to SlickEdit for Visual Basic and Verilog.

The programming languages used to implement this project are C/C++ and Slick-C (SlickEdit's macro language).

Data Warehouse Tools

Project Description

This project will develop online analytical search and archive tools for a data warehouse. The tools created will allow end-users to search through volumes of Request for Information (RFI) data stored on a central server via a user friendly web interface. The user will have multiple search and presentation options when retrieving this data. The web interface will also allow the user to archive project data to a DVD, and allow certified copies of the data to be created in a secure document format.


By providing an end-user interface to access the data, Field2Base's customers will have real time access to communications between their field based personnel and their business partners. Currently access to this data is restricted to a manual process and requires a system administrator to create the reports.

Skill Sets Needed

  • Microsoft .NET technologies (C#, ASP.NET)
  • SQL Server 2000
  • IIS 6.0
  • Ability to identify and use 3rd part components (Charting, DVD Burning)
  • General business reporting and analysis
  • User interface design
  • Ability to integrate with current APIs and framework


  • Web Interface
  • Search RFI data (query by)
  • Date
  • Sender
  • Recipient
  • Attachment type
  • Number of attachments
  • Subject
  • Display RFI data from search
  • Show attachment list, click opens up attachment in browser with proper viewer
  • Show text of messages
  • Links to related correspondence (responses)
  • Ability to report and graph usage by pre-determined values
  • Ability to create 'certified' document in PDF format
  • Time and date stamp of original message
  • Time and date stamp of certified document
  • Password protected and signed so it cannot be altered
  • Password and role protected using current scheme
  • Pages should match current look and feel
  • DVD Interface
  • Software ability to burn and label DVD by project
  • Search tool on DVD that emulates functionality of web interface
  • Autorun launched


The deliverables of this project should be both source and compiled code that perform the functionality described in this document. The code should be well documented and adhere to Microsoft .NET naming conventions and style guidelines. In addition to the inline code documentation the project should include stand-alone documentation and design artifacts, as well as installation and deployment guidelines.

Web-based Content Management Software

This project is to develop a web application to support back office operations for our marketing department. The project includes two major components. First, develop three to four web pages and one to two reports to support content management responsibilities in our marketing department. Marketing is responsible for managing most of the content that displays on our main web site found at This content is stored and rendered from an MS SQL database. It is currently edited in a back office environment using an MS Access and/or an ASP-based user interface solution. The second component of this project involves translating Excel files containing client contact information into Salesforce, our Customer Relationship Management (CRM) system via web services. In this translation, a data cleansing operation must be performed. A data cleansing operation requires that algorithms be developed to find and remove duplicates in addition to generating an error file to the originator. The cleansed data will have to be put into a valid XML format and uploaded to Salesforce.

The new application must be written on Microsoft's .NET platform in the Visual Basic language using our existing MS SQL database. Tools and a copy of the database design will be provided.

Rapid Collector

About Crispin Corporation

Founded in 1997, Crispin Corporation is a leading worldwide provider of broadcast automation software, equipment, services and support. Modular in design, Crispin's flexible systems help small to large-scale facilities develop and customize cost-effective solutions designed to connect elements from existing and new systems into one, integrated, easy-to-use solution. Based in Raleigh, NC, with regional sales offices located throughout the United States, Crispin offers automation solutions to over 360 broadcast facilities worldwide. For more information, contact Crispin at (919) 845-7744 or visit us on the Web at

Project Description

This new product will enable customers to quickly gather trace files / log files that are generated by the Crispin system and have them delivered to Crispin for analysis of automation-related incidents and problems that occur at television broadcast facilities. The product will need to quickly identify the several Crispin system components installed at a customer's broadcast facility, identify which applications are running on each server, collect, analyze, aggregate and compress these files for submission back to Crispin. This project will involve meeting with various members of Crispin staff to gather requirements, participate in the design and authoring of design specifications, followed by the development and testing of the solution. Skills required: C++.

Clearcase VOBImage Tool

Project Description

This project will develop a tool that can visually represent the areas of change in EMC's software repository. The information generated from this program will allow EMC Managers and Architects to determine pattern of software development activity, and identify potentially problematic modules.

Our software is stored in a Rational Clearcase database (VOB ). This database contains all the relevant information to support a quantitative analysis of change in the source code base.

The tool must be able to portray the whole source-base as a visual image. The image will be color-coded based on when the time a file was last modified. The user should be able to select an area on the image, returning a list of the files represented by that selection. From this point, the user should be able to select a file and review the changes that have gone into the file.

Unfortunately, it is not possible for legal and logistical reasons to provide a local instance of the Clearcase VOB for this project team. This team will leverage remote engineering concepts working in parallel with EMC engineering. The design work will be done to joint specifications with testing to be performed by EMC on behalf of this team. Regular interaction (via e-mail & phone) with EMC engineering will be provided to ensure success.

The program shall consist of a user interface and an analysis engine. The input element of the user interface must allow the user to enter path, date, and age parameters of interest. The output element of the user interface must present the software change visualization and permit several scrolling and file opening options. (Details to be provided later!). The analysis engine must provide backend processing to create the visual image and support scrolling and file opening options.

Resources needed

  • Desktop workstation

Recommended skill set

  • Knowledge of Graphical User Interface development
  • Knowledge of C/C++ or Java, string processing
  • Knowledge of ClearCase, RCS, or CVS could be helpful, but is not required
  • Knowledge of scripting

Resources Provided

  • Draft engineering requirements specification

Company Background

EMC Corporation is the world leader in products, services, and solutions for information storage and management.

We help customers of all sizes manage their growing information-from the time of its creation to its archival and eventual disposal-through information lifecycle management. EMC information infrastructure solutions are the foundation of this mission. An EMC information infrastructure unifies networked storage technologies, storage platforms, software, and services to help organizations better and more cost-effectively manage, protect, and share information.

EMC Automated Networked Storage combines SAN (Storage Area Network), NAS (Network Attached Storage), and CAS (Content Addressed Storage) environments into an integrated networked storage infrastructure. Combined with our open storage software products we unify networked storage technologies, storage platforms, software, and services to enable organizations to better and more cost-effectively manage, protect and share information.

Our vision is to create the ultimate information lifecycle management company-to help our customers get the maximum value from their information at the lowest total cost, at every point in the information lifecycle.

The Research Triangle Park Software Design Center is an EMC software design center. We develop world-class software that is used in our NAS, SAN, and storage management products.

Value to EMC

EMC software development managers and architects will be able to use the VOBImage tool to visualize software development patterns in EMC source base. The visualization of source code provides a top-level view of software activities, and adds an element of visual pattern recognition to software development and maintenance. Over time, the image will establish a baseline pattern, and any new or unexpected changes to the source base (new areas of software development) will be easily identifiable saving time in hunting down problematic code.

Scene Analysis

Congress has issued a mandate that 33% of all US military vehicles must be autonomous by the year 2015. DARPA, Defense Advanced Research Projects Agency, is the central research and development organization for the U.S. Department of Defense and is the organization responsible to develop autonomous vehicle technologies for the military. DARPA has been working with large defense contractors to accomplish autonomous vehicle operation but has been very unhappy with the results. In order to stimulate development, DARPA created a race that was open to anyone interested in developing autonomous vehicle technologies. The 2005 DARPA Grand Challenge is a race that requires fully autonomous vehicles (no driver, no remote control) to follow a predefined course across the desert. The race is billed by DARPA as Los Angeles to Las Vegas. The actual course is made available 2 hours before the start of the race. The race course is defined by a series of GPS waypoints and may be up to 150 miles in length. In order to win the $2 million prize, the course must be completed in 10 hours.

A local team with ties to NC State, Insight Racing, has reached the semi-final qualifications for the 2005 race to be held this October. Insight Racing has developed a prototype vehicle that uses GPS, video cameras, and a ladar unit for navigation and obstacle detection. Specifically, this semester, Insight racing is looking to advance obstacle avoidance algorithms using stereo video technology.

One of the key requirements of an autonomous vehicle system to be able to compete in the DARPA Grand Challenge is to have a real-time capability to process video images captured by cameras on the vehicle. These images must be processed to provide a means of detecting and avoiding obstacles in the immediate area of the vehicle. To be competitive, a vehicle must complete the course in 10 hours (i.e., average 21 MPH over the entire course). This average speed requirement places a constraint on video processing time.

Previous senior design projects have developed stereo scene analysis software to recognize obstacles and recommend a clear path. The overall goal of the Fall 2005 project is to evaluate and refine this software. The first goal for this semester is to design and implement calibration software that will allow stereo cameras (a pair of cameras and supporting software that calculates distance to an object in view of both cameras) to be properly aligned (aimed). A second goal is to improve the computational speed of these calculations in order to meet real-time requirements for vehicle speed. This can be accomplished by recoding scene analysis software to utilize vector processing instructions available on workstation processors.

Programming language is C on Red Hat Linux.

Dealer Service Metrics Project

John Deere spends significant resources measuring the success of different pilot programs with our dealer organization. Currently, to collect statistics about these pilot programs, the process consists of telephone calls and manual entry of data into a spreadsheet. The resultant spreadsheet is then rearranged and sorted into various reports for upper management. We would like to utilize the dealer's intranet system to collect this information automatically and to generate reports as needed. This would save hours of call center resources and time spent by personnel to manually create these reports. We also want to create reports that the dealers can pull to see their own statistics.

To assist with this strategic initiative, John Deere would like for the Fall 2005 students to develop a web-based application that will:

  • Allow dealers to directly enter statistics as defined by existing spreadsheets;
  • Generate reports derived from these data.

This project will involve full life cycle software development: it will include requirements gathering, design, implementation, and testing. Upon successful completion, this application will be deployed to Deere's production web environment.

The technology base is Java J2EE technology and a relational database. Specifically, students will use Java, Java Servlets, JSPs, JavaScript, relational database, and SQL.

Usability Test Logging Application

In our usability lab, the test administrator takes notes and categorizes user and system activity during the test. Currently, the logging application is only slightly more functional than Microsoft Notepad. Using the current tool, it is very difficult to summarize data across users, products, test sessions, etc. We need a full-feature logging application that facilitates data entry, data extraction, and simple analyses. As part of logging user activity, the tool should connect to a Sony DSR-20 digital tape deck to capture the DV-CAM timecode. This time code needs to be linked to each log activity that is recorded. After the test, the user should be able to query the log and create an edit decision list based on timecodes that can be imported into Adobe Premiere. Figuring out how to link it to SAS, to support more complex analysis (e.g., text mining), would also be helpful. The project will also involve developing a data model, instantiating that in some form, and developing data entry, query, and analysis GUIs.

The application should be a rich-client using Java and MySQL.

This project is a continuation of an effort to solve this problem that was started in the Spring 2005 semester. A senior design team has developed a design and started implementation and testing. The goal for this semester is to review the existing design and finish the implementation and testing of the system.

NCSU Interactive

This project will use a commercial game engine to construct an interactive 3D map for use by the new NCSU Visitor's Center. Team members will be responsible for working with the project mentor and the Visitor's Center Director to a) specify the design of the system, b) use existing GIS data to create a virtual map of the NCSU campus, b) acquire and incorporate images of campus buildings and physical terrain for use as texture maps and c) construct the overall user interface and control logic to provide an interactive map system for visitors to the NCSU campus. Team members will be responsible for creating the game levels, textures and 3D geometry for the system, as well as the coding of the specific game GUI and internal logic. Team members should have completed CSC481 and be familiar with both scripting and level design using the UnrealTournament 2004 commercial game engine.

Project Archives

2017 Spring Fall
2016 Spring Fall
2015 Spring Fall
2014 Spring Fall
2013 Spring Fall
2012 Spring Fall
2011 Spring Fall
2010 Spring Fall
2009 Spring Fall
2008 Spring Fall
2007 Spring Fall Summer
2006 Spring Fall
2005 Spring Fall
2004 Spring Fall Summer
2003 Spring Fall
2002 Spring Fall
2001 Spring Fall