Computer Science

Senior Design Center

Projects – Spring 2002

Click on a project to read its description.

Produce an online tool/repository that displays a Conceptual Architecture Taxonomy, and enables the user to drill down and display documents on each of the Domain Architectures (principles etc.), to find out what products/technologies are in each Architecture Domain, who is using these technologies, and who is responsible for these evolving domain architectures.

This will be an extension of the SME (Subject Matter Expert) Matrix developed about 12 months ago that makes it easy to ensure the right people are involved in some of the architecture decisions through next year.

The taxonomy is a graphic with different hotspots and when you select one of the layers (domains), it drills you down into more specifics.

Imagine the ability to click on the Middleware Domain for example, and being able to at a glance see all the guidelines, principles, contacts, technologies in this space.

It is preferred that this application is database driven (SQL Server 2000), using MS IIS and using NT Security so we can bring it back to Duke and integrate it into existing Knowledge Management systems. It is important that updating information in the taxonomy must be easy.

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 Best Buy and REI Sports are able to customize.

The team will develop applications to capture and report diagnostic information. The Capture Diagnostic Information (CDI) application is a standalone Windows application to be used by development, quality assurance (QA) and in-store personnel to capture diagnostic information. The CDI application will gather diagnostic information via WMI services. The second component of The Report Diagnostic Information (RDI) application is a standalone Windows application to be used by development personnel. This application should provide reports for developers to view diagnostic information captured by the CDI application.

(VB, VC++, Windows 2000/XP, XML)

This is a continuation of a Fall 2001 project. The goal of the NovaGov project is to design & build a prototype of a website generation system whereby website content useful to local governments may be created, maintained & hosted. The idea is to design into the system a range of functionality which a local government might want & use a configuration wizard (WebSpawn) to set up actual sites. The system should provide an administrator function to define the target website by choosing from among the available options & configurations. Each participating local government (small city, town, county, etc.) should be able to specify values for a list of parameters that uniquely define the "look-&-feel" of a generated website and allow preselection of a subset of website functional units. Parameter values that define a website for a given local government should be stored in a database controlled by the administrator & be available to drive dynamic creation of website content for the given government unit. The system should comprise several different looks or "skins" for the website; a Wizard interface to allow the creation of websites (or, rather, to store the information defining each site into the database); a facility (to be called EZmod) whereby the user of the sites (the customer) can designate portions of his site to be maintained (modified & updated) via browser & password (this would also imply a "site administrator" function for each customer, also browser accessible); a website generation engine & appropriate database design. The project is expected to produce a working test version of a site for at least one alpha customer (Henry County, Virginia). The student team is encouraged to use their creativity & artistic skills in the design of alternatives & to make suggestions for enhancements to the project. We expect all the various "skins" to be clean & efficient in design & function without seeming dowdy, & to be generated & served rapidly.

Features to be Included (not necessarily in priority order) are:

  • An administrative function (EZmod) whereby the designated site administrator can allocate permissions (passwords), etc.
  • A calendar function, reproducible so that more than one department can have a calendar. (EZmod capable, to have links to event or meeting, etc.)
  • A capability to "webcast" events, meetings, etc.
  • A very robust email capability
  • E commerce capability (accept payments, fines, etc.);
  • A personnel/department directory section with photos, email addresses, links, etc.
  • On-line access to records, minutes, maps, etc.
  • Robust security.
  • An economic development section with appropriate links, data on the area, etc.
  • Sections on courts, schools, etc.


WebWorks is a part of the Information Systems department within John Deere’s Commercial and Consumer Equipment that develops internet, extranet, and intranet applications for John Deere. They work as a set of internal consultants to the division. WebWorks is focus on providing cost effective solutions written using solid industry techniques. WebWorks is a small group of programmers implementing an Extreme Programming environment.

This project involves writing a Java web application for tracking and budgeting of Information Systems projects. The Project Information Repository (PIR) tracks projects, budgeting, and allocation of resources. Project management is essential for an IS organization. This system will enable IS to better communicate with its customers. It will provide a means to forecast staffing needs. This application will enhance the process of gathering budgeting information for the department. It will be a valuable tool for any Information Systems organization.


The objective of this project is to create a tool to track and budget projects. Projects have descriptive information, such as titles, statement of work, dates, etc. The projects will be budgeted for capital, expenses, and staffing. Project expense is allocated to departments within the company. Projects will be tracked by starting dates, completion dates, and completion percentages. Staff are assigned to projects by roles and time estimates. The application will have the ability for IS staff to update project information. Users will be able to view project status through the web. The IS managers will be able to run reports on department staffing and budget spend rates.

The application should be written in Java, utilizing JSP (Java Server Pages) and Servlet technology. They should use thin client architecture so the users are only exposed to HTML and JavaScript. The servlets communicate with the domain, a layer of business objects. The domain communicates with the databases through a level of database brokers. The brokers must utilize JDBC to send data to and from the database.

As WebWorks works in an XP environment, we suggest that the Extreme Programming methodology be followed when developing this application:

  • Plan and scope out each release. Prioritize tasks.
  • Small releases – every release should be as small as possible and should contain the most important business requirements
  • Simple design
  • Testing
    • Test cases should be developed that can be used in acceptance testing.
    • Test first coding can be used to integrate Unit testing into the design.
  • Pair programming
  • Collective ownership – anyone can change any code anywhere
  • Coding standards – document code, format code so its easier to read and follow

Provided Materials:

  • WebWorks will provide the specifications for the application.
  • We will also provide assistance with the design and technologies, if necessary.


  • Project Information Repository web application
  • Documentation of the application

The project goal is to create a DAFS (Direct Access File System) User I/O API library, written in C, for FreeBSD. The library will interface to an existing Perl support module that allows DAFS API functions to be called from Perl scripts. This project is a continuation of a Fall 2001 project.

DAFS, is a network file system protocol developed to utilize remote DMA techniques provided by emerging network technologies like VIA (, Infiniband (, and iWARP ( User I/O has the potential to significantly reduce the number of CPU cycles spent doing I/O because, once set up, all operations can be executed w/o kernel involvement on either the client or the server.

For more information on the DAFS API see

Nortel Networks currently leverages external vendors to deliver streaming/webcasts to customers and partners. As an alternative, please plan the implementation of an external streaming/webcast solution to be provided directly by Nortel Networks. Your solution should focus on global distribution, infrastructure, hardware, and core streaming delivery tools using the RealNetworks format. You should consider development of reporting/metrics on webcast participation to determine global scalability/availability, also take into account any load balancing or caching/splitting required (and determine the most cost effective balance between serving/caching, centralization/decentralization of infrastructure).

Your solution can also include definition and/or prototyping of the following webstreaming applications and tools:

Online Webcast Registration (to include registration/confirmation/reminder email sent to registrant);

Question Manager Tool (so that participants can submit questions in real time during the webcast);

Post-Webcast Metrics Report (to track number of participants, names, emails, locations of participants as well as to track length of time each participant was logged on).

Many storage vendors are working on their own and with their partners to provide data replication services to aid with the explosive growth of data and moving it around within the enterprise. EMC is no exception to this. Currently most of our raw data replication strategies involved copying data through some host (server) to perform the data movement. We are in the process of adding this capability into our storage arrays in a general fashion.

To make the upgrade path easier for the customer when moving from one storage array product to another we want to provide an easier way to automatically perform the data copy. This project involves designing Perl scripts to obtain al the information about the data and layout of a source storage array (raid groups, Logical Units, storage groups, etc.) via the command CLI of the array management software; replicating this structure on the target storage array, and invoking our data migration facility to execute the data copy in the background, array to array.

Likely the result of this effort will be turned into a professional services tool that will be used as part of a service offering for customers with large, existing data environments to move when they make equipment upgrade purchases. The project involves gathering and refining the user requirements, learning about the management infrastructure of a CLARiiON array, developing a process for gathering the topology and RADI data, replicating this structure on the target array (with error condition checking), and then executing and monitoring the copy, reporting results when complete, & logging all activities.. This team will be responsible for defining how to test this tool for proper usage and executing a test plan to prove proper behavior of the tool.


  • User Requirements Document for the tool
  • Design specification for the tool
  • Source scripts, any support tool source, & user guide.
  • Test plan for the tool and results of the testing of the tool executed by the team.

Company Background:

More new information will be created over the next two years than over the entire history of humanity — more than 90 percent of it digital. EMC Corporation is the world leader in systems that store, protect, move, manage and access this explosion of content, enabling enterprises of all kinds to unite information as one resource, harness it as one source of value, and leverage it as one asset to reach the goals of the organization. Information is at the center of business. And only one business is at the center of information. EMC is where information lives.

The Research Triangle Park Software Design Center is a major EMC center. We develop world-class software for storage devices and storage management software that is used in our mid-range products for both the SAN (Storage Area Networking) and NAS (Network Attached Storage) markets.

Value to EMC:

The value is straightforward. This tool will ensure that migration of data between a customer’s existing storage array and the new one we sell them is not a gate to making the sale. More importantly we feel that this tool will allow us to provide this migration as a service we can charge for. The use of the tool will ensure we can accurately duplicate the structure and accurately copy the data for the customer at a low implementation cost to EMC. We do not have formal revenue estimates for this service yet, but conservative estimates suggest we could achieve an additional $1M in revenue from this service in a year.

CapTrust Financial Advisors is an independent investment consulting firm based in Raleigh. As a specialty financial services firm, CapTrust is dedicated to developing customized investment solutions for each client. As part of this commitment, CapTrust has developed a proprietary quarterly performance reporting system. This performance monitor consolidates a client’s multiple accounts into one overall portfolio value. As a result, a client is able to see the total dollar value of their investments and an overall percentage return.

Our goal is to automate this process. Currently we have to manually take information from a software package – Security APL – and enter this into an excel spreadsheet which calculates the combined portfolio values. We then have to present this information to the client via another more user-friendly Excel spreadsheet. The transition to a new system will take two steps:

  1. Find a solution that will pull the data from the APL software and calculate the portfolio performance values. This step should also have the flexibility to manually enter data from other outside accounts into the portfolio calculation.
  2. Once the calculations have been made a report engine needs to be designed which will present the information to the client in an easy to read format.

This is a continuation of a fall 2001 project. The current system is coded in Java and uses ODBC to an Access database. Most project functionality is complete. What remains is full testing and evaluation of the efficiency of the implementation and implications of moving from JDK 1 to JDK 2 or 3.

CapTrust offers a unique professional working environment and is located on Six Forks Road. For further information on our company please check the website ( or contact John Appleby for further details regarding the project.

Our goal is to have a tested, bug free, scalable, and easily deployable wireless classroom polling system that interfaces with a broad range of wireless devices from web-capable cell phones to laptop computers.

In order to do this your team will be extending and refining two classroom polling systems developed by Senior Design teams last semester (Fall 2001). You will evaluate customer needs, select a system based on those needs, and carry the selected system through the final stages of development. Your team will be assisted by a student advisor who worked on one of the development teams last semester. This student will provide knowledge,advice, and programming help throughout the semester.

Depending on your decisions this semester, you will have a chance to work with several exciting technologies such as the Apache Web Server, Perl, MySQL, WebAssign4, Java, and the PalmOS. We will be testing the system with Handspring Visors, wireless laptops, PCs,and possibly digital phones.

Hopefully, during the semester, you will have the chance to deploy your finished system as part of an ongoing classroom program and evaluate its use in a real scenario.

Modeling &Visualization of Sun Exposure Effects on the Human Anatomy

The goal of this project is to develop an Internet web site for dissemination of real-time surface solar radiation measurements. Real-time measurements from solar pyranometers that record minute-to-minute ambient flux in the ultraviolet part of the spectrum will be installed locally as part of this project. These measurements will be integrated into the material presented by the web site. This web site will employ computer graphics to simulate the illumination of the human form by the sun, producing easily recognizable 3D images that illustrate anatomically resolved exposure. The web site will display images of a simulated "sun-burned" baby. By interacting with this web site, a user could experiment with numerous what-if scenarios by varying geodesic, posture, and behavioral input parameters to discover the impact of sun behavior on exposure. Behavioral parameters include specification of skin type, use of sunscreens, selection of clothing, and other types of protective covering (sunglasses, hats, etc.). A session at the proposed web site will help a user (child or adult) plan appropriate attire and activity to minimize solar exposure risk. This information will be presented in an attractive, informative way and thus provide a powerful vehicle to create public awareness of these potential dangers.

This is a continuation of a project that has been developed by several generations of Senior Design students (over approximately three years).

Within the Product development environment several products have been developed on top of Oracle or other RDBMs, to create, control and collaborate engineering documentation. These products, classified as Product Lifecycle Management (PLM), are used via the WEB to track changes on CAD models, create Bill of Materials for design and manufacturing purposes and move documents through defined workflows among other things. Most developers of CAD systems have created products that tightly integrate their CAD systems to these PLM systems. Engineers spend most of their day using CAD systems. However, Microsoft Office is also used by engineers to document designs in addition to just using CAD systems. However, Office integration into PLM has not been widely adopted.

We would like for the spring team to create a set of integration Classes on top of Microsoft Foundation Classes. In addition we would like these Classes to be implemented into an existing set of Windchill integration classes, the largest PLM systems on the market. The project will use Together to model the PLM integration. This project will stress UML throughout. Emphasis will be placed on the analysis of the model and class diagrams which allows for easy integration between Foundation Classes and Windchill Classes.

The purpose of the project is to develop a software tool (M/S Access database + software) to automate the configuration of a complex Manufacturing Execution System (from Propack Data - field of application: pharmaceutical industry), using high level conceptual business requirements from customers. The structure of the tool that is envisioned would be a compiler where the user requirements are "compiled" into SQL statements or .INI files.

This project builds on the results of a previous student project where a user interface to define questions & answers and collect answers from customers has been built. The tool to manage user input will be improved and the "compilation" of customer answers into SQL statements or INI attribute-value entries will be performed.

The desired skill set/knowledge that is as follows:

  • Computer science students (2+):
  • Compiler technology (experience or OJT)
  • Database (Access for example)
  • Business application design experience (or OJT)

The deliverables of the project will be a software tool that generate SQL or INI file statements (+ design documentation)

Carolina Turkeys, located in Mt Olive, NC, is a major supplier of turkeys and turkey products to the North Carolina retail market. The company needs a Microsoft based application to assist in production scheduling. Our Further Processing Department fabricates approximately 350 to 450 different finished products (each identified by a unique Stock Keeping Unit – SKU). We would like a system the would allow our staff who interact with the sales of the different SKUs to input their projected case counts or pounds of product sold into a database. The database would then compile the information based upon such things as raw materials needed, spices, packaging, machine capacities, labor requirements, etc, and help develop efficient production schedules on timely basis. This could be a modeling system that allows for yearly forecasting, weekly production planning, and actual daily production schedules on a per production line/ per area basis. I envision a system where the various production supervisors go to their work station on a daily basis a print out a daily production run report that is based upon SKU sales and in pace with daily production output. This system would be flexible enough to be a useful tool in production planning and budgeting, daily production scheduling, and production tracking for yields or recalls.

Continue development of the ePartners website. The purpose of this website is to facilitate interaction between industrial epartners of the Computer Science Department and students and alumni. The site maintains a resume bank, job postings, calendar of events, and other membership related components. Improvements to the site are expected through extensive usability studies and the development of additional functionality.

This project is a continuation of the work initiated by the Senior Design Center Team last semester and focuses on evolving and enhancing the functionality of the ePartners Web Site. Target enhancements are primarily focused on expanding the online "Resource Center" functionality to include an online discussion forum, contact forms and electronic communications capability between faculty and ePartners, capability to deliver webcasts and streamed audio and video content, alumni records update form, linkages to other university databases & systems (Alumni Association, Career Planning & Placement), and expanded functionality to the resume database (batch reports, batch emails to students, time limits & auto purges, student's visa status, desire/willingness to relocate, etc.).

NCSU Fermentation Manufacturing Execution System

The specific objective is to execute a preliminary engineering design of a process, automation and controls system, and paperless manufacturing execution system (MES) for the production fungal fermentation using Aspergillus niger for the production of citric acid and its purification using acid precipitation. Students will perform experiments to determine necessary technical and operating specifications, and will use the apparatus to evaluate the Manufacturing Execution System (MES) developed by the design team.

Citric acid is used in a variety of industries such as food, pharmaceuticals, cosmetics, plastics, and biodegradable detergents. Citric acid was originally produced in the early 19th century using fruits and the technology has since advanced to using the liquid submerged tank method. This more recent method of production has a shorter fermentation time and higher yield compared to other recent methods such as the Koji process and liquid surface process. As a result, the most accepted method of production uses the submerged tank fermentation of Aspergillus niger to produce citric acid.

Aspergillus niger is a filamentous fungus that grows in a wide-range of temperatures. This organism is used most frequently for industrial production in the submerged culture system in the West because of its ability to grow under lenient temperature conditions. However, other factors such as water, pH, and gas composition also have a large influence on the growth of this fungus. Therefore, these conditions must be monitored carefully during the fermentation process.

The production of citric acid in a facility is complex due to the many operating conditions that must be monitored during the process. A manufacturing execution system (MES) and automated control system provide a solution to effectively regulate the fermentation cycle. The manufacturing execution system documents validation protocols and equipment, batch records and reports, maintenance logs, and standard operating procedure (SOPs), thus maintaining a comprehensive history of the production of citric acid. An automated control system improves product quality by regulating the process parameters and adjusting them closely to optimal conditions. It can also lower production costs because of decreased labor requirements.

Automation is helpful in regulating the fermentation process because it is continuous. The NCSU Fermentation MES project will focus on designing a manufacturing execution system and control system for the fermentation of citric acid using Aspergillus niger. Isolating and purifying the citric acid, however, is a more difficult task to manage using automation because it is a discrete process. The NCSU Fermentation MES project will investigate control technologies associated with this portion of the process, but currently, the data collected from the purification will be manually entered in the manufacturing execution system.

Real time and embedded applications require high performance operating system kernels.

Examples of high performance kernel functions include scheduling of threads with guaranteed deadlines, interfaces for wireless devices, a protocol for distributed scheduling, and numerous other characteristics. The goal of this project is to investigate these issues and implement prototype operating system elements to demonstrate operation of guaranteed performance operating systems in various real-time and embedded applications. Existing code (OSKAR) is written in "C".

This CSC492 project consists writing a language translator and a specification document for a new high level language.

The starting point for your team is a semi-formal specification of the high level language "Pascava". The deliverable items from your team are:

  1. A language reference document. This document describes the features of the language. It will be used by programmers who wish to write code in the language. It will also be used by programmers that wish to write a language translator for this language in order to create machine code for a specific hardware platform.
  2. A an operational language translator (compiler). Your compiler will need to create machine code for a given new computer architecture. You will be given the machine code specification for the target computer as well as the format of the output file that your translator must create.

Distributed Video Segment Micro-casting

Mr. Aguayo is currently President and CEO of Media Arts & Images, a commercial video production corporation in Matthews, NC. He presently holds several patents in the realms of video broadcasting and data transmission technologies. He currently has submitted a patent application for review to the World Intellectual Property Organization titled "Video Data Management, Transmission, and Control Systems and Method Employing Distributed Video Segments Microcasting".

The project proposed here requires a proof of concept study and selected video data transmission experiments to further define the technical hurdles to be resolved in reducing the potentially patentable idea to practice. Students will be required to study the patent application, in depth, determine feasibility of modeling the system in the university environment, and produce software to accomplish rudimentary tests of the proposed methodology.


Ever since early Qube Cable TV experiments by Warner Amex Cable Communications, Inc. in the mid 1970’s, efforts have been made by the communications and telecommunications industries to provide interactive TV (iTV) and Video on Demand (VOD). iTV is a process that allows viewers to interact and choose from a differentiated menu of programming content. VOD describes a type of service offered by video distributors that allows viewers to choose "when" and "what" they view. Various technologies have been invented and are being utilized that attempt to accomplish iTV and VOD. However, these technologies have met with very little success.

Distributed Video Segments Microcasting (DVSM) technology provides a cost effective, fundamental or root technological solution. DVSM greatly reduces the amount of bandwidth and video transmission capacity needed, thereby reducing the costs to offer iTV and VOD. By segmenting the data stream according to predetermined user profiles, DVSM enables customization of the video programming being delivered to the end viewer.

Design and implement a system that allows our customers to search a knowledge base of known problems and solutions to our software packages via the web.

We currently have an internal Oracle-based relational database of problems and solutions. That database needs to be filtered and exported to be made available to customers via the web for searching. The objective is to allow them to perform their own searches to help them find and correct known problems with our software product without contacting us on the phone. Records also need to be kept as to the search results and success rates customers have using the knowledge base. The solution will have to integrate into our existing customer support web site that is running on a linux platform. We would like the solution implemented using Java servlets and/or jsp's generating standard html. The searchable data will be stored in a relational database.

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