Projects – Spring 2008

Click on a project to read its description.

Mobile Storage Management

Company Background

EMC Corporation is the world's leading developer and provider of information infrastructure technology and solutions. We help organizations of every size around the world keep their most essential digital information protected, secure, and continuously available.

We help enterprises of all sizes manage their growing volumes of information—from creation to disposal—according to its changing value to the business through information lifecycle management (ILM) strategies. We combine our best-of-breed platforms, software, and services into high-value, low-risk information infrastructure solutions that help organizations maximize the value of their information assets, improve service levels, lower costs, react quickly to change, achieve compliance with regulations, protect information from loss and unauthorized access, and manage and automate more of their overall infrastructure. These solutions integrate networked storage technologies, storage systems, software, and services.

Background for Project

Currently some of our management tools assume the use of a web browser running on a system with a fairly large screen (1024x768 minimum), a reasonably quick network connection, and the ability to run client side Java applets. This project will investigate how our management capabilities could be provided to system administrators via mobile technology.

Scope of the project for NC State students

EMC will provide a set of use cases describing how customers want to use a mobile management tool. These use cases will not cover all possible management functions, but will focus on general status/alert notification and alert information. We are asking the student team to:

  • Learn and understand how the use cases are displayed and handled with an EMC management product. For this effort we will use our Network Attached Storage (NAS) management tool, Celerra Manager.
  • Review a subset of current mobile devices and recommend one for prototyping work. EMC will help set the selection criteria, but it should involve at a minimum (for ease of project implementation), publicly available development environments, and Wifi network connectivity.
  • Select a set of existing management capabilities that match the use cases and design mobile implementations of them.
  • Develop a mobile prototype that demonstrates the management capabilities in a mobile environment.

Benefits to NC State students

This project provides an opportunity to attack a real life problem covering the full engineering spectrum from requirements gathering, to research, to design, and finally prototype implementation. This project will provide ample opportunity for creativity and innovation. EMC will work with the team closely to provide guidance and give customer feedback as necessary to maintain project scope and size.

Benefits to EMC

As storage becomes more prevalent in enterprise and mid-size companies, the ability to provide management information via lightweight, mobile devices becomes more important. This project gives EMC an opportunity to understand how mobile management could and should be implemented from the mindset of future storage professionals.

More About EMC

We are among the 10 most valuable IT product companies in the world. We are driven to perform, to partner, to execute. We go about our jobs with a passion for delivering results that exceed our customers' expectations for quality, service, innovation, and interaction. We pride ourselves on doing what's right and on putting our customers' best interests first. We lead change and change to lead. We are devoted to advancing our people, customers, industry, and community. We say what we mean and do what we say. We are EMC, where information lives.

EMC's mission is to help organizations of all sizes get the most value from their information and their relationships with our company.

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.

EMC where information lives

Tools & Reporting for Mainframe Cost Management


The Personal & Workforce Investing (PWI) – IT Cost Management group has been tasked with identifying & managing the drivers of ongoing support & maintenance costs within the PWI-IT environment. In support of this task, the Cost Management group has developed an infrastructure management tool that will be utilized to track, measure, and report on infrastructure costs.

In its current release, the Infrastructure Management tool is being used to track PWI servers. The tool is an MS Access based application that connects to various Fidelity databases to collect data and present server technical and cost information within a single application. The eventual goal of the application is to be able to report on server, WAN, software, and mainframe costs and to convert it to a web based application that is more easily accessible to users.


This project has two objectives. The first is to port the Infrastructure Management Tool from MS Access to the web. This objective would accomplish the following:

  • Setup the database for the tool, so that it is web accessible
  • Port the current MS Access functionality from VB for Applications to ASP or .NET
  • Design and implement the user interface

The second objective of this project is to expand the capability of the Infrastructure Cost Management Tool to include the reporting of mainframe cost & utilization. The student team will design the mainframe application that will be integrated into the web based Infrastructure Cost Management Tool. The basic functionality of the application would include:

  • Ability to connect and download data from various mainframe data sources
  • User interface to select and query data of interest
  • Set of reports that can be generated on demand by the user

A Durham, NC based PWI-IT Cost Analyst & Marlborough, MA based developer will be available as resources for the student team.

Monitoring Tool

Students will create a tool for monitoring files on servers and reporting when changes have been applied. The tool should be cross-platform, i.e. able to run on Unix, *nix, and Windows operating systems. This will allow the application support team that is responsible for these files to ensure all configuration changes are compliant with the Duke Energy SOX (Sarbanes-Oxley) change control process. Reporting will be done via email and (based on criticality) alerting; additionally, a web GUI will be required to allow users to create ad hoc reports of changes and view server files that they are monitoring. Technologies to be used include JAVA, SQL server, and Apache Tomcat (or related webserver). A user security module and full documentation of the application are also required.

Applications of Wireless Sensor Systems

New technologies from vendors include products from the field of Wireless Sensor Systems (WSSs). WSSs are small packages that house a processor, limited-range radio for communication (100-300 ft), and a sensor subsystem, all of which are battery powered. Sun Microsystems Laboratories has announced an entry into this field: Small Programmable Object Technology, i.,e., Sun SPOT (see SPOTs incorporate the above technologies in less than 4 cu. in., and are programmed in Java. Applications of this new technology are limited only by the imagination.

The project for this semester includes development of Sun SPOT applications to solve any or all of the following:

  1. Tracking via Cell Phone

    Use GPS as a sensor on a SPOT and develop a web application to report location and other GPS related data via a cell phone link to a web site. (Think of a running display of the location of a car or truck or person outfitted with this technology). Basic work on this project was started last semester by a previous team in which they successfully demonstrated these links.

  2. Wii Bowling

    Analyze the inputs and computations that feed the Wii Bowling Simulator. Reproduce them using SPOTs.

  3. Develop a code management system for A Network of SPOTs

    Imagine a network of WSSs installed at a farm, forest location, or other remote site. Assume a single point in the network that provides internet capability. As a practical matter, the software for this system will always need updates, bug fixes, better ideas, etc. Design and develop a remote code management system that will allow code updates without the need to visit the site.

Foreign Language Translation Tool

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

Translation of user interface messages and system information messages is an important component of the global market for Fujitsu retail applications. Previous Senior Design teams designed and implemented a set of language translation tools to assist translators in important tasks associated with the translation process. This tool kit parses input from various text files and presents the translator with an intuitive User Interface (UI). The translation tool kit is made up of 2 programs: TranslateUtil and TransEditor. TranslateUtil is a program to extract texts from Fujitsu’s GlobalSTORE product to intermediate text files. After translation, it applies these text files back to the GlobalSTORE product. TransEditor is a program that provides a UI to assist translation from English to a foreign language.

This version of these translation tools incorporates XML files whose format has been defined by the GlobalStore Application. A new version of GlobalSTORE will use Windows Presentation Foundation to improve user interface usability. The project for this semester is to augment the tool kit to incorporate these XML files as WPF resource files.

The project team will be given a release of GlobalSTORE to install on a lab system to enable testing. The source code of translation tools will also be supplied.

(Technologies Used: C#, Visual Basic.Net, Windows XP, XML, WPF)

Quality Control of Automatic Website Generation

Our company specializes in making medical data available to anyone at anytime. One product is a web-based PACS (Picture Archiving Computer System) that permits related patient data to be archived along with actual echocardiogram video clips. These clips, accompanied by patient-related data, permit the physician to observe cardiac function and record observations and/or a diagnosis.


Projects have been initiated to enhance the existing system by creating a customizable web interface to allow physician reporting of echocardiograms. This system would allow user physicians to customize their reports on the fly with preset patient info and study data fields. The reporting system must also be individualized for each physician group.

In previous semesters, we created prototypes of an enhanced system, based on the Ruby on Rails (RoR) development framework. This prototype demonstrated that RoR can be used to meet our needs and created a base system that can be used to move forward. The new system, based on Ajax and RoR development tools, allows for an accelerated development cycle and provides a more robust, upgradeable system solution.

The justification for this system is that iCardiogram employees spend approx 15-20 hours per new client to set up a customized web-based PACS. The majority of this time is spent in template customization and setup. The new system will position us above our competitors in the market place. Reducing the time to create a customized web site by automating template selection will save time and money for both the client and iCardiogram on future installations.

This Semester’s Project

iCardiogram is improving its quality control by adding technologies that will confirm and guarantee that the data import processes are not putting in erroneous data. For this semester’s project, there are two areas that we want to test. These will be imported data and video quality.

  1. For imported data, we want to verify that the raw measurement data (identified in the last project) is going through the iCardiogram system and outputting in the report in the correct place. This will allow us to periodically test the system by choosing a study and running this process.
  2. For Video data we want to identify test studies from our system and test their variance for us to know if the encoding process is within limits. This process will read test studies from devices and compare those images with the test images on the server. This will allow us to know if the compression scheme or computer settings are bad.
    1. Create a QA/QC Process for imported data
    2. Create a QA/QC project for MP4 and JPG still frames

A demonstration of a sample target system is available on line. A demo username and password to the web based system is included below. You will need the QuickTime player to view sample echocardiograms. Upload this free viewer software using the links below. You can also review the past project binders to view what was accomplished in previous semesters.

For Windows:

For Macintosh:

The URL for the iCardio site is

Username: demo
Password: ********

Once you login you will see a sample study list. For help on using the website go to

Executive Dashboard

  • Phase 1: An Executive Dashboard which enables Executives, Program Managers of strategic programs and organizational administrators to track progress of strategic initiatives globally.
  • Eventual Phase 2: leverage same infrastructure to deliver business intelligence info to Knowledge Services. (Data we can use to manage our business)
  • Figure 1 below depicts the suggest system architecture.

Figure 1. System Architecture

Requirements for Executive Dashboard

  • Latest levels of Oracle, MS.NET and MS Sharepoint are possibilities for the Architecture
  • Norpass authentication (password protected)
  • Ability to express criteria for target audience based on variety of HR data elements such as country, employee type, employment status, etc.
  • Ability to freeze target audience (or not) based on programs
  • Ability for users to view data as Employee (only see their own), Manager (see their direct reports all the way down their organization) or Executive and Program Managers (see all global data related to their program)
  • Ability for all users to download data from dashboard into Excel spreadsheet
  • Real-time or close to real-time data update frequency
  • May include pulling data from other external databases
  • Ensure security/legal requirements are considered

As an example of one potential element of the Dashboard, consider this problem:

A large number of employees are needed to maintain Nortel’s position in the global technological market. These employees are constantly required to upgrade their knowledge and skills. As a result, Nortel employees take training courses and managers need to track their progress. However, existing Nortel tools for this purpose are limited, do not provide uniform or complete tracking ability, and have differing or unusable presentation and reporting formats.

The Nortel Executive Dashboard should provide a single training reporting tool that includes desirable functionalities of the existing reporting tools and provides a single reporting format which has the potential to standardize reporting on any training program within Nortel.

Custom Menu Ordering System


Established in 1969, the Duke Diet and Fitness Center (DFC) has a long-established reputation among the most highly respected treatment centers in the world for individuals who are overweight and who have a sedentary lifestyle. The program at DFC is designed to teach clients about healthy eating and exercising. Ours is an “immersion” approach to lifestyle change. People seeking lasting changes in their lives join us for two to four weeks or longer to experience healthful eating and safe exercise.

The goal of this project is to design a menu ordering system for our clients. Our approach to menu management is not accommodated by any over-the-counter package. We believe there is future in the restaurant industry for a menu ordering system that will help consumers manage their diets.

About the Application

The goal of the proposed package is to automate our menu ordering system. Our menus run in a four-week cycle that changes twice annually. Each meal provides a different main entree with a constant selection of back of the menu items that are available at each meal. The menu system must be browser based with security features. Only clients who have been pre-cleared will have access to the system. We anticipate an average of about 130 people to be using the program at any given time, ranging from as low as 80 to as high as 160 people.

General Criteria for Use

  • Clients will obtain clearance from accounting and receive password to program.
  • Clients will enter their personal range of specific information about total calories and grams of food components for each meal/day.
  • Food components are broken down by Starch, Protein, Fruit, Vegetable, Dairy and Fat servings for each meal/day.
  • Upon entry, a client’s calories and food components will be tallied for each day.
  • If entries are out of range, some alert should be made.
  • The client will repeat this process for all seven days.
  • When the client has finished entering menu data for the week, the menu should be sent to the Nutrition Dept. where it is reviewed for accuracy.
  • Once approved, the menus are all sent in a package to the kitchen. Counts for each meal are tallied and can be printed.
  • When a client comes through for a meal he/she can swipe his/her badge and a readout of his/her selections for the meal will be produced for the kitchen staff.

A previous Senior Design Team (Fall 2007) has established an overall design and begun implementation of some of the system components. The task for this semester is to review requirements for the system in conjunction with the sponsor, and evaluate the existing design before proceeding with completion of the implementation.

Go Pack!

QChart Interactive Charting Package


Qualcomm has several web-based reporting applications that currently produce static charts. We would like to provide our customers with interactive charts, similar to how Google Finance ( charts work. The list of desired features will be listed below. The goal of this project will be to develop a standalone, interactive chart engine that can be easily integrated into existing web applications.

Students may choose an existing charting package for which they will develop a stand-alone interface. Examples of such packages include Yahoo User Interface library, any Google web tools, flash-based solutions, or other portable systems that can operate in a Unix environment, such as ChartDirector. The team will be responsible for developing an XML specification that will handle the desired features listed below. They will also code an API that will allow Perl programmers to easily integrate this project into existing applications. The chart should be very responsive, even with a large dataset. This means managing large datasets outside of the browser (JSON alone is not an acceptable solution).

Technical Details

The project team has the freedom to choose the best language they see fit for this project, but must provide justification for its use. This charting package must work on a Linux box running an Apache web server. This package should be as stand-alone as possible, meaning the team should shy away from using large frameworks.

Desired Features

  1. Develop a file format to describe the chart to be produced
  2. Charting package should support these file chart types (at a minimum):
    1. Line
    2. Bar
    3. Mountain (Stacked)
    4. Pie
    5. Composite
    6. Box-n-Wiskers (Candle Stick, using quantiles)
  3. Support X-axis zooming
  4. Support dynamic selecting/unselecting datasets
  5. Support clickable datasets
  6. Support annotating “significant” data points with HTML descriptions
  7. Support saving chart as image to user’s desktop
  8. Support user customizable dataset labels/colors, titles, axis labels
  9. Support large quantities of data
  10. Support an XML dataset
  11. Support multiple browsers (IE 6.0+ & Firefox 2.0+)

User Interface for a Transmission Electron Microscope Heating System


Protochips, Inc., located on Centennial Campus, is an early-stage company developing a breakthrough analytical tool that provides revolutionary capabilities allowing scientists and engineers to study materials at the nano-scale in real time. Using its own proprietary technology platform, Protochips is addressing this compelling market need by transforming the most widely used characterization tool in nanotechnology - the electron microscope - from a camera into a complete nano-scale laboratory. Our products will enable the study of materials for the life and physical sciences in ways currently not possible, and ultimately provide the solution that enables the development and commercialization of revolutionary new nano-scale materials.

Our initial product will be a system that controls the temperature of a sample in the transmission electron microscope (TEM). The major components of the system are: (1) a precision machined TEM holder, inserted into the microscope and used to hold the specimen as well as provide an interface for gases, liquids and electrical contacts and (2) a family of disposable semiconductor-based supports that generate heat when electrical current is forced through the semiconductor-based support.

Project Description

A Keithley power supply is used to precisely control the current through the devices (and therefore the temperature). While this power supply can be operated from its front panel, our collaborators would prefer a software interface. The use of software would also provide a mechanism for programming specific test vectors into the system, for example current pulses over time to allow for thermal cycling, and for recording experimental data.

This senior design project will involve developing an attractive, easy-to-use software control package for controlling the entire TEM heating system. This software control package should

  1. Automate the device calibration process – devices are calibrated by forcing specific current values while measuring their temperature using a thermal camera. The software should automate this process, recording current vs. temperature data while logging several other parameters.
  2. Generate a look-up table of current-temperature values from the calibration data.
  3. Use this calibration data to generate temperature waveforms – various temperature waveforms are desired such as discrete pulses, pulse trains, square/staircase/staircase/sinusoid waves, etc. The temperature and time parameters should be variables that can be set by the user.
  4. Allow advanced users to save/restore sessions, write scripts, and log data.

Open issues include definition and development of suitable check points so that Protochips staff can review interface values for correctness.