Computer Science

Senior Design Center

Projects – Fall 2009

Click on a project to read its description.

Intelligent ScoreCard & Reporting Tool

Background

AT&T’s Global Technology and Tier 3 (GT3) organization is responsible for developing tools and automation for its Managed Network Services product line. The number of client networks and devices has been progressively growing over the past 10 years. As new large deals come in we need to ensure that all of the appropriate systems and tools have been updated to manage the new customer. Currently, this is being done by Excel Spreadsheet and e-mail which is becoming cumbersome.

Project Description

This project will create an Intelligent ScoreCard and Reporting tool that will assist three groups of users: it will enhance the ability of (1) new customers to manage updates, (2) Project Managers to more easily define necessary steps in the update process, and (3) the Report Development team to report progress to the Migration community at large. The tool will need to be user friendly, interactive, and security conscious. It will also need to be easily administrable by developers.

Preliminary Project Requirements

  • Run on Linux/Fedora Operating System
  • Perl/PHP/AdobeFlex/Web
  • Must be modular in nature
  • Easy Administration
  • User Friendly Interface
  • Web-Based/Excel-Based reports and Charts
  • More Detailed Requirements to follow after Demonstration/Discuss

Benefit to NC State Students

This project will provide an opportunity for students to look at modifying an existing manual process and create a new web-based tool that can be utilized to create multi-use Intelligent Tracking forms and Score Cards. It will allow them to utilize web development, database development, and programming languages all in one project. They will be able create a tool that is user-friendly which is easy to modify and administer.

Re-creation of Problem Tracking Database

The Nuclear Division at Duke Energy has a tool they use to track problems all through the division. Not just technical problems (apps not working, a system that needs updating, etc) but also general problems with plants (a valve needs to be repaired, an employee injured himself on site, etc). This tool is called PIP: Problem Investigation Process.

A manager wanted the ability to run reports and trending off of the PIP tool’s database, as well as archive those reports. An engineer created a Microsoft Access database with the requested functionality. However, the Access database has grown to an enormous size. Also, several other groups wanted to use the tool so they got their own copies of the database. With multiple versions, it is difficult to make changes to the reports and push the changes out to all the people with copies of the Access database.

This is where the purpose of the Senior Design project comes in:

The students will develop a reporting tool that will read the tables in the PIP database and render the reports. To generate those reports it will be necessary to perform calculations on the data read from the database. The tool will also be required to archive the report data so it can be reported on. The students will be given the database schema to recreate the PIP database with the necessary tables on an SQL database as well as create a table to archive the reporting data. The reporting tool should be web based and created in C#/ASP.NET.

GreenLogo (Placeholder!)

Every day our habits contribute to the creation/generation of carbon dioxide, which as we all know, is affecting our climate. How warm or cool our homes are, how much we travel, what we eat, etc., all have an impact. It’s pretty complicated…no, actually, it’s really complicated. We all need to work together to make a difference. It’s social, it’s technical, and it needs our attention.

This project will utilize the Facebook API to create a Facebook application that works in conjunction with mashup technology to periodically acquire a user’s power consumption data, and have it become part of the dynamic information used to create Facebook newsfeeds, notifications and comparisons that will be engagingly displayed on the Canvas.

Saving energy is something we need to be doing every day. In order for that to happen, we actually need to enjoy talking about it. How many Kilowatts did you save? What are you doing to reduce your carbon footprint? Together, that is, if there are enough of us, we can make a huge impact. That is where Facebook social network comes in. Initially the application will have a Profile page requesting the user’s power company customer number. From that information the project will utilize a mashup server such as Convertigo, Kapow, Jackbe or Dapper to “screen scrape” user consumption information and input into GreenLogo’s Database.

Once a user’s consumption information is captured from their power company, it provides a source of information that can be placed in Facebook newsfeeds and notifications. Some users may elect to compete and see who can reduce their carbon footprint the most in a given period of time. This will be displayed on the Canvas in a creative two dimensional leader board. Groups can form leagues to compete among their members or collectively against other leagues. All of this information can be used to navigate the canvas to see what you and your friends are doing to help save the planet.

Unique leaderboard displays who is saving more while inviting users to see what their friends are up to. The power company feed makes knowing your carbon footprint easy.

In order to keep the dialog fresh, daily tips and images will be pushed from the GreenLogo Server to users’ newsfeeds. Users will also have the ability to submit their own tips and images to be reviewed for distribution to other users.

The project will require the group to learn the Facebook API and a mashup Server API and create an application that combines these two services into one seamless interface.

Facebook users expect their user experience to be clean, engaging, and visually stimulating. This project is an extension of a summer internship with students from the College of Design. They developed the look and feel of the application – the computer science team will have access to this prototype.

Project Proposal A: Implementation and Performance study of iSCSI Extensions for Remote Direct Memory Access (iSER)

With increased focus on 10G Ethernet, vendors have begun to develop specialized Remote Direct Memory Access (RDMA) hardware to offload processing and reduce the copy overhead in the TCP/IP network stack. We know that iSER assisted iSCSI implementation does have a clear performance advantage for specific workloads, but we would like to have independent performance numbers. This project will involve reading research papers on iSER, comparing and modifying existing open source Linux code (C) and gathering performance numbers for different workloads.

Project Breakdown:

  1. Understanding iSCSI, iSCSI with TOE, iWARP, iSER and comparative advantages of iSER. There are quite a few research papers on iSER but they are long on research and short on providing information that could be useful for commercial solutions in the market.
  2. Analysis of different open source initiator/targets: Look at different iSCSI & iSER implementations such as the iSER target implementation from the Ohio Supercomputer Center, UNH Reference Target and initiator and other Linux iSER implementations. Students will also study the functionality provided by the OFED stack. Most of these open source implementations need some rework. Modify one of these implementations to support iSER with 10G Chelsio RNIC's.
  3. Create workloads using sio or other tools that mimic high CPU intensive workloads. Consider areas such as decision support systems, data mining, server consolidations (Hyper-V). These and other similar apps might benefit from iSER/RDMA by way of lower server CPU usage and full utilization of 10Gig capacity.
  4. Gather performance numbers especially server side throughput/latencies for these different workloads with traditional iSCSI (Linux) initiators/target and iSCSI with TOE and compare these results with iSER assisted iSCSI. Use the workload characteristics to suggest the type of applications that would benefit from iSER and provide tuning guidelines.
  5. Work to define the business benefits of iSER with the NetApp team.
    1. Relationships
    2. Technology leadership

3D Rendering Library for Flex

Several SAS solutions have a need to do a true 3d rendering in Flex. Currently, Flex does not support a true 3d rendering engine library that can be utilized to accomplish this. This project will involve developing a basic 3d rendering engine library in Flex. As part of this project, you will need to enhance the basic application to display a 3d object (like a cube) and display it on a 2d screen.

Here are some of the basic parts of a 3d rendering engine library:

  • Geometric transformations applied to objects e.g. translation, rotation, scaling
  • Projective transformations, i.e. mapping 3D objects to a 2d plane, e.g., orthographic, perspective, etc.
  • Field of view or view frustum calculations involving
    • Clipping to viewport
    • Depth ordering algorithms like painter's algorithm, z-buffering
    • Hidden surface removal for better performance
  • Possibly lighting and shading models for visually pleasing appearance - Bonus

A test application will be provided that does basic 3d rendering with one of the projections mentioned above. Final deliverable should include

  • At least one other projective transform.
  • Two field view calculations.
  • Performance numbers based on different rendering options that Adobe offers in the flash player.
  • A graph (bar, line etc) that should show the performance numbers using the test application with the library.

Algorithms from this project will be used to render 3d surface, histograms and planograms in SAS solutions.

Media Management Dashboard

Project Description

Background

Currently we have over 500K tapes of different types. We would like to get a web site going with the help of some of our staff that allows us to manage the tape media across the distributed hosting enterprise. We have several locations where tapes are stored and we would like them all linked into a database that will allow us to manage and search more efficiently.

Description

The project is to create a central database by pulling information from different sources of records and allow for centralized management. This database should have a web based interface with canned reports and the ability to customize reporting based on several variables.

Scope of the project for NC State students

Fidelity will provide written requirements/use cases for the GUIs to be developed. The student team and Fidelity will discuss and agree on how to develop the database and web tools. Fidelity will work with the student team to provide guidance and technical help as needed.

The student team will be responsible for:

  • Designing appropriate visual displays
  • Building the combined database
  • Producing a prototype dashboard or other application to display the selected data, using either the XML API or existing CLI commands
  • Building canned reports
  • Providing capability of ad hoc reports

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. Fidelity will work with the team closely to provide guidance and give customer feedback as necessary to maintain project scope and size. The project will give team members an exposure to commercial software development.

Benefits to Fidelity

  • A state of the art reporting and management facility for removable storage devices.
  • This will allow Fidelity one view into its entire tape inventory.
    • Delivery of ad hoc and scheduled reporting
    • Enhanced scratch management
    • Enhanced cost containment

JAVA MODULES FOR INITIALIZING QIDDITCH METADATA

Summary

Problem Statement

Business Intelligence (BI) related software tools are used in gathering, analyzing, and reporting facts and trends related to domains of interest. For example, if a healthcare analyst has defined a report, BI tools can be used to resolve the report into queries on a data repository without the need for the analyst to formulate and execute SQL queries necessary to extract required data. If the tool suite itself is written in a domain specific context, resulting data collected and reports generated can be more sophisticated than if the tool were generic (i.e., non-domain specific). The goal of this project is to replace an existing domain specific BI tool suite with a more robust Java-based approach.

The “Query Improvement via Domain Dependent Information” Tool Chest (QIDDITCh) is part of the SQL Query Transformer (SQT) web service. This Java web service belongs to the query generation infrastructure of the Decision Analyst application, which is one of several applications of Medstat Advantage Suite, one of the flagship products of the Healthcare Business of Thomson Reuters.

QUIDDITCh takes as input a fact query constructed by the Decision Analyst report generator, and attempts to re-write it into a semantically equivalent query (i.e., one that delivers the same results as the original) which runs faster. When it initializes itself, it reads metadata from the database that describes the tables, columns, views, and their attributes.

The current version of the software actually parses certain text files from which the metadata was originally constructed. The mechanism is not production quality, and needs to be replaced by a more robust approach.

Specific tasks for writing the Java software modules that interface with the Teradata relational database management (RDBMS) system and pull the requisite metadata include: (a) Understand and extend the existing interface that is used to set up the QUIDDITCh internal data structures related to metadata in the database; (b) determine how the relevant metadata can be obtained by querying the Teradata database; (c) develop and unit test the software modules, and integrate them into the SQT web service.

Student Insights Gained

Students will learn the following: working in a product development environment, working on a data warehouse related product, interacting with subject matter experts, presenting findings to company representatives.

Required Skills and Experience

Java programming in Windows and Unix, basic knowledge of SQL-92, basic knowledge of Unix commands, ability to work with subject matter experts.

Development and Test Environment

Students will initially develop software using the Teradata RDBMS in a Windows environment. For integration activities, they will also have access to a Unix server running Decision Analyst and the SQT web service, and a database server running the Teradata RDBMS.

Embedded Real-Time Software for an Insulin Pump

“Diagnostic Devices, Inc. (DDI) is an innovative company committed to providing the newest technology by offering high quality diabetes products with great features at an affordable cost to help people manage their disease. This passion to go above and beyond when creating our diabetes products resonates from the company’s president, as well as other top management who have diabetes. We realized the lack of technology that addressed the needs for the blind or low vision, the Latino community and children who have diabetes.” [From their website www.prodigymeter.com]

DDI is developing a dispensing pump for the delivery of insulin in minute amounts for use in a new medical product. This product will be the first of its kind in that it will be designed to cater to the needs of individuals with special needs, such as children, blind, or the visually impaired. We require assistance in the development of embedded real time software for this purpose.

Deficiencies of Existing Products

It has been determined through market research that there are deficiencies with existing pump delivery systems, especially for users that are sight impaired. These deficiencies are listed here for the purpose of insuring that the Diagnostic Devices pump addresses these needs:

  • Limited Audio Output – Difficulty in understanding
  • Lack High-Contrast Displays – Difficult to see under all lighting conditions
  • Consistently Large Fonts – Difficult to read results
  • User manuals offer little guidance for usage
  • Lack Speech Output – The biggest positive improvement

Product Variations / Feature Set

There will be three variations of the Pump for three different markets as follows:

  1. Variant 1 – For use by children
  2. Variant 2 – For use by adequately sighted adults
  3. Variant 3 – For use by inadequately sighted persons

Project Breakdown

This project will be tightly coupled to our development team. Project participants will:

  1. Have sufficient knowledge of C/C++ coding and/or assembly languages
  2. Be familiar with microcontroller architectures (RISC based) -- an embedded micro processor from Microchip will be used
  3. Use the Microchip MPLAB IDE for software development (check out //www.microchip.com)
  4. Be able to create flow charts from a product specification (provided as state diagrams)
  5. Create code from the aforementioned flowcharts
  6. Test code thoroughly
  7. Be meticulous in their coding with well defined code entry/ exit points, modularization, and excellent comments and documentation
  8. Meet the project timelines
  9. Work well in a team environment

Hardware for pump will be provided in approximately two months or less. Until then the MPLAB IDE can provide a reasonable level of testing and debugging.

Signing a Non-Disclosure Agreement is required.

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