Projects – Spring 2006

Click on a project to read its description.

Merger – Acquisition IT Application Inventory Database

Develop an SQL database that integrates the inventory of applications, application interfaces and infrastructure for each business unit and company involved in a merger-acquisition process. The database will include the relationship mapping of applications to infrastructure groups, application to application interfacing and application to business processes. The database and a supporting tool will include a webpage user interface, the ability to compare and assess similar applications and infrastructure groups for go-forward merger decision-making as well as mapping validation using Java and other standard tools. Data elements will include metrics of costs and support of each application and infrastructure group to be used in the comparison and assessment.

Clearcase VOB Churn Tool (VCT)

Project Description

This project will complete a tool that began development with the spring 2005 Senior Design team and extended in scope by the fall 2005 Senior Design team. Our goal is to develop a tool that can visually represent the areas of change in EMC’s software repository and analyze the code repository. The analysis helps determine historical patterns of software defects relative to software churn over many years and will allow us to better forecast software defects for future products.

To provide historical context: the first team developed the framework necessary to parse, view, and summarize information stored in a Clearcase VOB. The second team developed a graphical user interface to portray the contents of the source code and the amount of churn as a visual image that allows managers and developers to drill into areas of interest.

The team this semester will develop methods and enhancements to improve the searching methods, data analysis, and correlation of source change and defect data to make the product ready for production use.

Some background about the environment: Our software is stored in a Rational Clearcase database (called a VOB for Versioned Object Base). This database contains all relevant information about the source code files in it to support quantitative analysis of the changes in the source code base. We have hundreds of developers who submit work to our VOBs every day – hundreds of changes, check-ins, and deletions. This high level of churn makes it difficult to determine what areas of the product are more susceptible to defects. This tool, when complete, will allow developers to analyze our large code based by a number of parameters (time, size, etc.) and visually along with correlating change data with defect data to hone in on problem spots.

Implementation Notes

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. We expect the student team to perform unit testing of their code. Testing within a Clearcase environment will be performed by EMC on behalf of this team. Regular interaction (via e-mail & phone) with EMC engineering will be provided to ensure success.

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
  • Copies of the manuals, specification, and source code completed by the previous project teams

  • Requirements definition document
  • Design specification(s) for construction of the actual software. This specification must outline the graphical interface layout changes, analysis engine changes, construction methodologies for each module, and interface specifications for all modules added to the product.
  • Test plan (developed in conjunction with EMC engineering – to be executed by EMC engineering)
  • Weekly written status reports on progress
  • Source code and scripts for the actual tool(s), any tool or test software sources, and documentation (user’s guide) for the implementation.
  • User’s guide to teach the engineers who will use this tool.
  • Overview presentation and written report outlining the requirements, the methodology, software components, implementation, results, and lessons learned based on the work done.

Value to EMC

EMC software development managers and architects will be able to use this completed tool to visualize software development defect patterns in the EMC source base. The visualization, analysis, and correlation of defect data with source code will provide a top-level view of software activities and allow us to both analyze what is happening with problem areas, but also provide data that will allow accurate prediction of defects in future development work.

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

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 Nordstroms and Payless Shoe Source are able to customize.

The goal for the Spring 2006 senior design team is to build on an existing design and implementation for OPOS Device Simulators created by a previous senior design team (Fall 2005) and create additional OPOS Device Simulators. The team will use state of the art development tools such as Visual Studio.Net. The OPOS Device Simulators are used by developers when developing Point-of-Sale applications (e.g., credit/debit card readers, receipt printers, barcode readers, etc.).

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

Legend PDF Briefcase


Computer Aided Design/Drafting (CAD) systems are complex software suites used to guide products from their initial stages as abstract intellectual property all the way through manufacturing and maintenance. Besides enabling engineers to generate both 2D and 3D representations of or designs for a product, CAD systems must address security concerns inherent in the development, maintenance, and distribution of valuable intellectual property and also promote efficient collaboration between those involved in a project. Two types of third party software can make these latter tasks much easier for a CAD system and its engineers, Product Data Management (PDM) systems and Product Lifecycle Management (PLM) systems. The relationship between these two types of systems and a CAD system is analogous to the relationship between source control software (VSS, CVS, etc.) and a software engineer’s development environment.

Enabling Technology

Adobe eXtensible Metadata Platform (XMP) is an XML labeling technology for Adobe’s PDF file format; XMP allows one to package compressed metadata (data about a file) into the file itself.

Project Requirements

There are several scenarios in which a CAD document may need to be sent offsite. Some examples of such situations include the need for an engineer to telecommute, the submission of work for third party consultation, or a product preview intended to satisfy the requirements of a major customer. In each of these scenarios, it is necessary for the documents sent to remain secure and for any offsite changes made to the documents to be successfully reintegrated into an enterprise’s PDM and/or PLM systems upon receipt.

The overall goal of this project is to augment the capabilities of such a remote engineering design scenario by developing an application that will create a “PDF briefcase”. This briefcase will encapsulate a CAD file, its metadata, and an image that is representative of the model contained within the briefcase – in essence a PDF that both displays a picture of a model and contains the model itself.

The specific goal of this project is to add security information to this metadata, such as the level of access granted to the recipient of the briefcase (e.g., read-only vs. read-write). Additional information to be packaged will include a document lifecycle state (e.g. Under Review) and a work assignment (e.g. “Review and Comment”).

Technology developed by Integrated Industrial Information, Inc. is available for extracting metadata from a CAD model.

Test Data Generation Tool

About Itron

Itron is a leading technology provider and critical source of knowledge to the global energy and water industries. More than 3,000 utilities worldwide rely on Itron technology to provide the knowledge they require to optimize the delivery and use of energy and water. Itron creates value for its clients by providing industry-leading solutions for electricity metering; meter data collection; energy information management; demand response; load forecasting, analysis and consulting services; distribution system design and optimization; web-based workforce automation; and enterprise and residential energy management. To know more, start here:

The goal of the project is to build a tool that can build targeted datasets that could be used to test our enterprise application.

  • The tool would ideally let the user choose characteristics of the data to be produced via a graphical user interface or a configuration file.
  • The tool would use the desired characteristics and build a dataset directly against a relational database (either SQLServer 2000/2005 or Oracle 10g).
  • The tool should be easy to use, and relatively fast in building and inserting the data.
  • The tool should be able to produce targeted data scenarios and combinations of scenarios. It should be able to produce good and 'bad' data so we can ensure our enterprise application handles a wide variety of data gracefully.
  • The tool could produce a report or save some metadata in the database that describes the results of the data generation run so a developer can, at a glance, know what kind of data exists in the database.

Previous Senior Design Teams for John Deere worked on a project that provided job seekers access to job postings for John Deere Dealerships. John Deere publicly released the resulting application last year. John Deere would like to continue the development of a related website application this semester.

The project for this semester will be to give job applicants the ability to post resumes online at for dealers to review.

This project has several challenges:

  • Only dealers will be able to access this information; outside parties must not be able to access resumes that are posted by job seekers.
  • The resumes will only be posted for a certain amount of time and then will be automatically deleted.
  • The system must verify that obscene or derogatory language is not used.
  • The system must verify that people do not submit SS#, etc.
  • The job seekers should be able to designate areas that he or she is interested in posting resume to (perhaps by dealer, state, city, etc.)

Other requirements:

  • Generate a survey that goes out on a periodic basis to the dealer contact email address asking for feedback on the site. Have they hired anyone from the site, suggestions, etc.
  • Add a confirmation box for the email box on the contact screen (many dealers are entering in email addresses that are incorrect).

A detailed business requirements document will be provided to the team by John Deere.

The “dealerjobs” website is implemented using Java J2EE technology and a relational database. You will use: Java, Java Servlets, JSPs, JavaScript, relational database, and SQL. The senior design team will have access to (i.e., be able to consult with) the local John Deere web application development team.

Mobile Client Application API

Lucent Technologies is involved in the development and integration of 2G and 3G applications that support the “on the go” lifestyle of Mobile Handset users. Our goal is to make theses applications rapidly available to the mobile client end users through the major carriers of fixed, mobile and converged (3G and IMS) networks. Factors affecting this goal include the number and variability of the handsets available to consumers today and in the future. In order to meet our goals, these applications will need to run on current “limited capability” handsets as well as newer handsets which have Pocket PC, High Speed Data and Multi-Media capabilities.

The goal of this project is to design and document an API, which will support the rapid deployment of internally developed and 3rd party applications on multiple handsets. These handsets support the Symbian, JME, and Brew and Windows operating systems. The API will allow communication with the applications via XML/XCAP, HTTP / HTTPS or XMPP. The API will also allow customization of the handset application GUI to support screen size, handset presentation capabilities and “branding”. The API will enable interface to the handset core operating system for capabilities such as communication and session control, floor control, and power management and ringer control. The output of this project shall be a reference architecture, which supports the development and test of the Mobile Client API and a prototypical implementation of the API. The exact requirements of this project and the deliverables will be jointly developed by Lucent Technologies and the NC State project team.

Work Item Notification Tool


Microsoft has been creating tools for software development on the Windows platform for 30 years. In 2006, Microsoft will release its first fully integrated software-lifecycle toolset. The new Microsoft Visual Studio Team System offers tightly integrated and extensible tools that enable software development teams to reduce the complexity of development and improve communication and collaboration throughout the development process. One of the major components of Team System is Work Item Tracking. Work Item Tracking brings order and consistency to the various task lists, project plans, issues and requirements that are part of any software project.

Project Overview

The Work Item Notification Tool will be a push-based application that allows end users of Team System to be notified of changes to work items that meet a set of conditions. Typical conditions would be “Assigned to Me”, “Active”, or “Changed Today”. The user interface for these notifications will be provided by a client application which proactively shows the end-user a notification when a change occurs and also allows viewing of the current list of work items that meets a specific condition set. This application will eventually be posted by Microsoft for download and use by any Team System customer as an unsupported “Power Toy”.

The Team Foundation Server provides interfaces that allow new tools and extensions to be built using Team System. These interfaces are exposed as Web Services and allow a developer to be notified of a wide variety of events within the system, including Work Item events. This event system will provide the “push” necessary to capture changes to Work Items which can then be evaluated against the set of conditions defined by each end-user. A protocol for communication to/from the client application will be designed. All coding will be with .NET languages.


  • Visual Studio .NET and C#
  • Web Services (Client/Server)
  • Client/Server Protocol Design
  • User Interface Design


  • Evaluator Service
    • Consumes Work Item events and sends notifications to a client
    • Supports basic configuration for Team Foundation Server connection
  • Client/Server Protocol
    • Supports Server push of events to the client
    • Supports Client retrieval lists of Work Items and Work Item details
    • Supports Client Authentication
  • Client
    • Supports end-user authentication
    • Allows configuration for Evaluator Service connection
    • Provides notification (visual and audio) to end-users that there are changes
    • Allows viewing of the current list of Work Items that meets a set of conditions

Microsoft Provided Support

  • An Internet accessible Team Foundation Server for use specifically on this project.
  • API and End-User Documentation for Team System and the Team Foundation Server.
  • Access to Microsoft engineers and program managers who can answer questions and provide guidance.

NCSU Interactive

This project is a continuation of a Fall 2005 project to construct an interactive 3D visualization of the NCSU campus for use by the new NCSU Visitor's Center. Team members will be responsible for working with the Visitor’s Center Director to determine details of the next phase of the NCSU campus visualization. Last semester’s project team created virtual images of the Brickyard, Court of Carolinas and Carter Finley Stadium with the option of playing mini-games (e.g., paintball, dodge ball, scavenger hunt) in these venues. Possible enhancements to the existing visualization include adding other areas of the campus, providing additional gaming options, or creating entirely new campus visualization scenarios.

Team members will be responsible for creating the game levels, textures and 3D geometry for the system, as well as the coding of specific game GUI(s) and internal game logic. Team members should have completed CSC481 and be familiar with both scripting and level design using the Unreal Tournament 2004 commercial game engine.

Underwater Ad-Hoc Wireless Networking


Develop an ad-hoc aware underwater RF network system.

This network should allow two endpoints to send messages to each other, provided enough nodes are currently present between the endpoints. The network should generally improve in reliability as the number of nodes increases. In this dynamic infrastructure process, each node should be aware of its surrounding nodes (and their health), and nodes should be able to relay messages.


Dynamic wireless networking has become a pivotal technology is developing expansive sensor networks for applications ranging from cellular phones to security systems. Now that ad-hoc networking has penetrated the COTS Internet market, we can create cost effective global networks for sensors communication.

This technology, however, hinges on high frequency RF transmission for high bandwidth connectivity. When you submerge a global wireless network, the signals rapidly attenuate in water, losing all connectivity. This is not to say that underwater RF communication is impossible, but we are looking for a way to effectively communicate in such a constrained environment.


Many of the details of this project will be decided at our first meeting, and will be based on the technologies you choose to employ. There are very few standards or interfaces necessary for this project, and we can work to get everything necessary to create an underwater computing environment. This is an opportunity to work on a project that is out-of-the-box, fun, and extremely applicable today.

Remote Software Application Install/Update

The Office of the State Auditor is responsible for guaranteeing that transactional data systems meet all business and regulatory objectives. This is accomplished through the use of software tools to assist financial auditing and fraud detection. Several such audit compliance software tool packages are in use by the Office of the State Auditor (e.g., ACL auditing software, AS2 auditing software). The main location of the Office of the State Auditor is in Raleigh. It coordinates nine regional offices and a total of approximately 60 state auditors dispersed throughout the state. Each auditor carries a laptop that is equipped with these software auditing application packages. These packages require updates at a frequency of approximately once per quarter.

The current procedure for this update is manually intensive: each auditor must schedule a return trip to the central office for this update. The overall goal of this project is to automate these updates and permit them to be done remotely, thus saving time and travel costs. Specific tasks for this project include an evaluation of available open source remote update systems that are scriptable (i.e., permit user interaction necessary during some software update procedures to be scripted). The project team must evaluate these tools, determine which of these systems will best accommodate the needs of the Office of the State Auditor, and develop a customized remote update package.

RFID Tag Placement Analysis

Radio Frequency Identification (RFID) has the potential of replacing barcoding in the future. As the first step of this process, major retailers such as Wal-Mart, Target, and Best Buy, are requiring their suppliers to place RFID tags on products sold in their stores. One of the issues that these suppliers have to deal with while tagging the product is that not all products are RFID friendly and it takes some analysis to determine placement of the tag on the product for the best readability.

The goal of this project is to design and develop an application that will capture the readability of a tag on a product in different locations, graphically display the results, and recommend the best position of placement of the RFID tag. The application can be developed using either .NET or Java using APIs supplied by the RFID reader provider.

Tools needed for this project are listed below and will be provided by RedPrairie.

  • Alien RFID reader (9780 or 9800)
  • Alien antenna
  • 20-30 Alien RFID tags, preferably different antenna designs

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

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.

A Senior Design Project team started this project last semester and their documentation will be provided to this semester’s team. The new team will have the option to launch from this existing code or start fresh, if so desired.

Preserving, Protecting and Enhancing the Environment

The goal of the Seventh Annual Computer Society International Design Competition (CSIDC) is to advance excellence in education by having student teams design and implement computer-based solutions to real-world problems. The theme of this year's CSIDC is Preserving, Protecting and Enhancing the Environment. This theme covers any aspect of the environment. The spirit of the competition is ingenuity and originality in using PCs or handheld computers to create a computer-based system that performs a socially useful function. Teams are encouraged to take a PC, laptop, hand-held computer (or similar device) and use additional low-cost hardware and software to create a computer-based solution to a problem that is of benefit to society (for more information, Google CSIDC 2006). First Prize of $20,000 is to be distributed among the students on the team. Last year, one of our very own Senior Design Center teams placed First in the World at the 2005 CSIDC!

This year’s CSIDC project will focus on the application of ray tracing to modeling distribution of solar energy and visualizing effects of UV radiation on the human anatomy. The team can decide if the energy model should include sound as well as solar (this generality would be a major plus in the competition). The visualization may be extended to include games intended to teach children about the dangers of too much sun or sound exposure.

Modify/Re-Write the Health Care Center Primary Care Patient Application system to meet the ongoing business needs of the Health Care Center. Allow the system to be data driven, so that it is reusable from one application period to the next. Link the system to the A4 data sources that contain the provider names and utilization rates. Provide the necessary reporting for the HCC staff to be able to efficiently manage the primary care patient applications.

Fellowship Advising Office Web Application

This project involves designing and implementing a fully functional web application for the Fellowship Advising Office (FAO) at North Carolina State University. The Fellowship Advising Office helps students apply for competitive fellowships and scholarships. The office informs students about fellowship opportunities, oversees the selection of candidates for awards that require university nomination and, with the assistance of fellowship advisors, guides students through the complicated application process. This website will be used and viewed by potential candidates for fellowships, the FAO staff, the NCSU faculty mentors, and the selection committee members.

The web application should allow a potential candidate to register with the FAO office and allow the student to research fellowship programs, identify appropriate opportunities, and learn how to create a plan to apply. As a student gets more interested in a specific fellowship, they should be able to submit drafts to FAO staff and mentors, submit campus-level applications for review, communicate with FAO staff, make appointments with advisors, check FAO calendars, and sign up for FAO events all through the FAO website. A key tool on the website for potential candidates will be a searchable database to aid students to find programs that are appropriate and suitable for their profile. The database of programs must be managed by the FAO staff in an efficient manner.

Faculty mentors should be able to receive training through the website and be able to review all information provided by the student they are mentoring. The mentor should also be able to submit recommendations that can be seen by selection committee members, but not by the applicant. Selection committee members should be able to view all information regarding the specific programs for which they are doing the review, as well as access to the completed “campus application” that each applicant submits.


The web application will be created using HTML and PHP. PHP, which stands for Hypertext Preprocessor, is an open-source, reflective programming language used for developing server-side web applications and allows interaction with many relational database management systems. PHP runs on all major operating systems and all major web servers. The underlying framework for this web application will be Mojavi, which is an open-source MVC (model-view-controller) framework for PHP that enables developers to easily divide web application into tiers. Pangloss, an extension to Mojavi will be used to provide data validation and rights to groups and users. Application development will be done in Eclipse using the phpEclipse plug-in.