Projects – Fall 2003

Click on a project to read its description.

Project Description

Investigate the feasibility of Queuing Network Modeling for predicting filer performance in multi-class transaction workload environments.

Background

Queuing network modeling can be viewed as a small subset of the techniques of queuing theory, selected and specialized for modeling computer systems. Much of queuing theory is oriented towards modeling a complex system using a single service center with complex characteristics. Sophisticated mathematical techniques are employed to analyze these models. Relatively detailed performance measures are obtained: distributions as opposed to averages, for example.

Rather than single service centers with complex characteristics, queuing network modeling employs networks of service centers with simple characteristics. Benefits arise from the fact that the application domain is restricted to computer systems. [Lazowska et al, Quantitative System Performance Computer System Analysis Using Queuing Network Models, Prentice Hall, 1984. http://www.cs.washington.edu/homes/lazowska/qsp/]

Project Description

Celerra Manager is a Web-based management tool for EMC's Celerra File Server, a Network Attached Storage product. It uses the latest web development technologies to provide an intuitive, easy-to-use interface for ubiquitous access to Celerra's management function. This project would develop a prototype of a recorder and playback tool for a typical management or setup session using Celerra Manager.

Deliverables

  • Requirements definition document which includes results from:
    • Understanding the type of information to be recorded
    • Investigation to determine the best way to record the session
    • Investigation to determine the best way to play-back the session to multiple ip addresses or hostnames with a single invocation
    • An architectural design definition
  • Functional specification(s) for construction of the actual software
  • Software tool to record keystrokes and other information during a Celerra Manager Session, coded to programming style guidelines which we will provide
  • Software tool to playback the recorded session to one or more ip addresses or hostnames, coded to programming style guidelines which we will provide
  • Source code and scripts for the actual tools, any tool or test software sources, and documentation (user's guide) for the implementation.

Resources needed: Desktop workstation, JRE, JDK
Recommended skill set: Basic web development, Java, JSP, Scripting

Company Background

EMC Corporation is the world leader in information storage systems, software, networks, and services and the only company 100% dedicated to automated networked storage.

EMC Automated Networked Storage combines SAN, NAS, and CAS environments into an integrated networked storage infrastructure. It unifies networked storage technologies, storage platforms, software, and services to enable organizations to better and more cost-effectively manage, protect and share information.

As a result, customers are able to reduce costs through consolidation of storage and server resources, centralize and automate manual storage management tasks, and improve overall business continuity and flexibility.

Value to EMC

Internally, we need a way to easily duplicate a system configuration multiple times across many lab systems at one time. The tools from this project will help us to save time and effort in performing these operations. This project provides a proof-of-concept for one way to meet this need.

Introduction

WebWorks is a part of the Information Systems department within John Deere's Commercial and Consumer Equipment Division (C&CE) that develops internet, extranet, and intranet applications for John Deere. They work as a set of internal consultants to the division. WebWorks focuses on providing cost effective solutions written using solid industry techniques and open standards. WebWorks is a small group of programmers practicing Extreme Programming.

Description

The product use database will be an online web application, implemented with java technology. The application will be used for our Field Engineers to enter descriptive information on how our product is being used by customers in the field. This information will be used to simulate similar mechanical loads in our testing facilities. Engineers will be able to input text about the usage, as well as pictures and video clips. The data will be stored and indexed to allow easy searching. The use of this database will facilitate a higher quality of communication from the field and reduce the amount of time and effort spent in travel.

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. Release often.
  • 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. (JUnit)
  • Pair programming
  • Collective ownership - anyone can change any code anywhere
  • Coding standards - document code, format code so its easier to read and follow

Wireless Troubleshooting Tools

We are looking for a solution to aid us in troubleshooting wireless networks. When clients experience connection issues we need to determine the cause of the interference. We need to be able to map the wireless reception within an entire building. We need to be able to pin point areas where interference is most likely.

We currently have sniffer type tools that offer suggestions. We need to take it to a next step with a device that will allow us to map the wireless network reception for an entire building. It should indicate quality of reception and help locate devices that cause interference.

This device should be small and portable. We should be able to easily walk around a building and build a map of the wireless network. It should work in 3 dimensions to check for floor to floor interference.

Welder/Brazer Qualification Product Description

Progress Energy utilizes an Enterprise Asset Management application (EAM) to manage their Electrical Manufacturing business processes. One Gap of the EAM product is the inability to track welding / brazing qualifications for employees. This project will develop a prototype Web Based tool utilizing Microsoft Development tools and SQL*Server to integrate welding / brazing qualifications into the EAM tool. The Welder Qualification application must have the ability to record the results of testing and qualifying welders/brazers per the American Society of Mechanical Engineering (ASME) code guidelines. The application will entail four main panels. These include: 1) Welder testing results by Employee, 2) Brazer testing results by employee 3) Update panel to ASME standards 4) Search function for who is qualified for a given ASME standard. The application requires multiples levels of security. Progress Energy will provide workstations and the development tools for the project. Specific tools to be used include: MS InterDev, HTML, ASP (VBScript Server Side; JavaScript or VBScript Client Side) and native SQL. In addition, resources will be made available for assistance in data base design and usage of the development tools.

Project Description:

The goal of this project is to investigate and develop algorithms for transferring data through an ad hoc wireless network. The target technology for this project will be Berkeley "Mica Motes" (available through CrossBow Technologies). "Motes" are small, battery-powered (2xAA), power managed microprocessors with on-board wireless transceivers (916 MHz ISM band). The range of MICA2 transceivers is estimated to be about 1000 ft. Data to be transferred through the ad hoc network is sensor based. Multiple-packet data streams are sourced from sensors attached to mobile motes. The challenge is to build a system in which an ad hoc (but fixed) network of relay mote transceivers will recognize the presence of a mobile source mote transceiver, and permit a data stream relay operation to occur from the mobile sensor through the ad hoc relay network to a pre-specified target base station. The initial use envisioned for such a system is a wildlife tracking application. Specifically, tracking endangered red wolves (rufus canis) recently re-introduced into the Alligator River Wildlife refuge in Eastern North Carolina.

Create a web-based paging registration module for outage management, web based. Users specify their own paging criteria and paging specifics. Additional investigation of pros/cons/technical issues of using company wide authentication (single sign on). Preferably developed using Oracle Application Server.

This paging module for CADOPS will allow customers to configure CADOPS to send out pages automatically to interested personnel when certain outage criteria are met. It is expected that the user interface design and implementation will be done by the student team. The backend part will be implemented internally.

Requirements

Several customers have expressed the need to have CADOPS page them when certain conditions are met. Typically, system operators need to be paged when certain customers are out or when the total number of customers out reaches a threshold number. Some operators are also concerned with the total number of outages in the system. These three conditions for paging will be covered by the first version of the paging module. The user will be able to specify the areas that they are interested in for the number of customers out and the total number of outages. Additional criteria may be added later, as requested by customers.

The interface to the paging module will be web based so that anyone with a browser can access it.

Remote Program Build Facility

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

The team will enhance the Remote Program Build Facility (RPBF) application. RPBF is a .Net client/server application used by development and logistics to control building GlobalSTORE products.

(C#, Windows 2000/XP)

Duke Energy is interested in using the Dallas Semiconductor, Inc. Tiny InterNet Interface (TINI) systems for use in various business data collection situations, such as temperature monitoring or weather station interfacing. These systems are small Ethernet enabled single board computers with a programmable Java runtime engine. Implementations of these systems are currently in various stages of prototyping within the Duke Energy businesses units.

To enhance the usefulness of the TINI systems, we need to reduce the support and maintenance associated with having many of these small distributed systems on a network. This support includes, in particular, the initial and ongoing device configuration, identification of where the device is on a network, periodic collection of device data, identification of non-working devices, management of the peer device network.

This project proposes the development of a TINI Adaptive Network: the software necessary to reduce the TINI support and maintenance. To this end, the project should develop the software that

  • Enables TINI devices on a network to gain and maintain knowledge of other TINI or server peers on a network.
  • Elects a master TINI or server node on the network.
  • Submits event based data collection to the master node for persistence and presentation.
  • Adapts to changes in configuration or performance of the peer TINI network.

For this project, temperature iButton probes will be used on all TINI systems as a data source. If time permits, other probes, such as a weather station, can be added

Duke Energy is interested in using the Dallas Semiconductor, Inc. Tiny InterNet Interface (TINI) systems for use in various business data collection situations, such as temperature monitoring or weather station interfacing. These systems are small Ethernet enabled single board computers with a programmable Java runtime engine. Implementations of these systems are currently in various stages of prototyping within the Duke Energy businesses units.

To enhance the usefulness of the TINI systems, we need to reduce the support and maintenance associated with having many of these small distributed systems on a network. This support includes, in particular, the initial and ongoing device configuration, identification of where the device is on a network, periodic collection of device data, identification of non-working devices, management of the peer device network.

This project proposes the development of a TINI Adaptive Network: the software necessary to reduce the TINI support and maintenance. To this end, the project should develop the software that

  • Enables TINI devices on a network to gain and maintain knowledge of other TINI or server peers on a network.
  • Elects a master TINI or server node on the network.
  • Submits event based data collection to the master node for persistence and presentation.
  • Adapts to changes in configuration or performance of the peer TINI network.

For this project, temperature iButton probes will be used on all TINI systems as a data source. If time permits, other probes, such as a weather station, can be added

Java Class Library

The goal of the project is to develop a multi-user navigation based class hierarchy browser for an extensive class hierarchy (i.e, a class hierarchy on the order of 50,000 Java classes, which typically cannot fit into an IDE class browser).

The browser tool will allow queries against the class hierarchy to analyze its complexity, look for patterns, or support an ad hoc impact analysis -- 'what if' scenarios - for example, 'What if I need to change the signature of a method in an interface - what will the impact be on the rest of the class library?' One must be able to navigate the system from various starting points: from a list of all jar files, from a hierarchy of all packages, or from a starting query. From each page/view, the navigation can branch out. For example, from a page which provides the details of a Java class, one can navigate up to its package to view all other classes in that package, or drill down into a method in the class, to find all classes which define, redefine (override) or invoke the method. From the view for method, there is a list of parameters and their types, from which the navigation can start all over. Also, from any feature (jar, package, class/interface, method, field, etc.) there will be a list of standard queries for that particular kind of entity, as listed below.

Information about classes should include such items as: primary jar file, additional jar files which contain this class, version (typically from the jar manifest) (more details to be provided).

Queries on a class (or interface) should include such items as: all interfaces which class C implements directly, base class from which class C extends from, classes which implement an interface C directly

Other Areas to Develop:

  • Queries on an interface
  • Queries about a method M (where M is a method name, parameters, and return type)
  • Simple statistics

Project Definition

The design and engineering of H-Web is TeleHealth's response to an emerging demand for a more efficient way for the sales force to receive product updates, pricing changes and to submit customer orders. H-Web will be a Web-enabled sales tool that will provide the following functions:

  • Ability to view updated product information and pricing offline
  • Ability to receive pricing and product updates automatically via the web
  • Ability to create and save quotations using an offline-enabled web interface

The scope of the project consists of two key elements:

  • H-Web Service Agent
    The H-Web service agent software is a MMC server component that will reside on an IIS web server and provide linkage between an H-Web client and SQL Server 2000. Its primary responsibility is to accept TCP connections from a client and, through a differential algorithm, download to the client a delta set of product information and pricing.
  • H-Web Client
    The H-Web client is an offline-enabled web client that provides a graphical user interface for managing quotations and sales orders. It is also a browser tool for the research of TeleHealth product information and pricing.

Skill Sets

Qualified candidate(s) will be engaged in the following technologies:

  • Microsoft Visual C++, MFC
  • HTML/ASP scripting.
  • SQL Server 2000, Microsoft Access 2000
  • Microsoft Management Console implementations
  • Messaging Application Programming Interface (MAPI)
  • Internet/TCP/UDP connections

About TeleHealth

TeleHealth Services is the largest provider of healthcare television products in the United States. TeleHealth is a division of Telerent Leasing Corporation, which has been headquartered in Raleigh, North Carolina, since it's founding in 1957. Telerent itself is a wholly-owned subsidiary of ITOCHU Corporation, one of the world's largest corporations and consistently on the Top Ten list of FORTUNE Magazine's Global 500.

Overview

Field Trip Earth (http://www.fieldtripearth.org) is a conservation education website operated by the North Carolina Zoological Society and designed for use in K-12 classrooms. The website focuses upon field-based wildlife research projects, and uses text, photographs, digital video, datasets, audioclips, and other materials to support teaching in all academic areas.

The Zoological Society wishes to add an online mapping capability to the current website. The goal is to allow users to gather satellite-based wildlife location data from the FTE site and, using a simple interface, upload that data to a mapping server, select various display options, and produce a visual representation of that data. That map could then be downloaded to a local computer as a graphics file (JPG or GIF) for use in a PowerPoint presentation, on another website, in a written report, etc.

Generic Mapping Tools (GMT), an open-source product maintained at the University of Hawaii, is the recommended platform for this project. A similar implementation of this product can be found in the MapTools section of the seaturtle.org website at http://www.seaturtle.org/maptool.

Students at North Carolina State University will work to develop the back-end functionality of the mapping site, as well as the public user interface. Initial specifications for the user interface will be provided.

Authentic Mail Service Project

Today:

Anyone can spoof their own identity. Inappropriate junk mail exploits this to avoid being blocked. People waste productivity spending time processing junk mail. People receive inappropriate e-mail.

With Authentic Mail Service (AMS):

When you receive e-mail, you know it is precisely from whom it claims it is from. When you transmit e-mail, you may only transmit using your registered e-mail address(es). For non-AMS e-mail, user may approve specific e-mail addresses to accept. For AMS e-mail, user may specify e-mail addresses to reject. There is accountability of e-mail sending, so receiver can meaningfully object to e-mail with consequences for sender.

Requirements:

  • End-user uses same e-mail client as today.
  • AMS subscribing individuals configure e-mail client to connect securely to AMS to SMTP/POP requiring user id and password (even for sending)
  • AMS subscribing corporations create intermediate (proxy) e-mail server, which is part of trusted network of authorized servers.
  • Communication among authorized servers is secure (certified) and restricted to only current authorized servers.
  • Inbound e-mail from Internet is passed untouched if end-user preference approves that address. Otherwise, e-mail is labeled suspect (so it is easy to filter in e-mail client).
  • Users may transmit e-mail (with user ID & password) only with registered From address. E-mail from unregistered From addresses is rejected.
  • E-mail must be clearly traceable to entry point into AMS network.
  • AMS e-mail server applies credentials to e-mail
  • Corporations reference an authority/service to know if destination address is inside AMS network or outside.
  • Servers reference an authority/service to know if destination accepts e-mail from a specific non-authorized From address, to determine e-mail labeling or not.

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.

The US Environmental Protection Agency is interested in raising public awareness of the dangers involved in sun exposure. There is a large body of scientific evidence that too much sun exposure, especially at a young age, can have drastic negative effects later in life. Depletion of the ozone layer exacerbates this problem. This project is a continuation of a three-year senior design effort to develop computer-based systems that contribute to raising this awareness.

The goal of this semester's project has three very distinct parts that will help to tie the larger project together.

Part 1: Previous projects have created a children's website. The first component of this project is to "clean up" this website. The website was developed in Dreamweaver and could use assistance in making it aesthetically pleasing and user friendly. Some usability testing of the existing site (with children) is recommended before further development.

Part 2 involves creating a website that will become home to the children's website and home to a related researcher's website. The researcher's website will present existing technical information to more sophisticated users. The existing technical information includes an interface to a solar pyranometer that will provide real-time data on intensity of ultraviolet radiation. Also, the researcher's website will contain links to an existing custom ray tracer that can calculate levels of exposure on specific portions of the human anatomy.

The final portion of this project involves advancing a Flash-based web game for kids intended to illustrate to children the dangers of too much sun. In past projects we have found that the Flash learning curve is substantial. The existing Flash game is very short and just a single level game. We would like to develop this into multi-level game play.

The basic idea that has been discussed (which can be used or not) is a 3rd person game looking down on a "baby" playing in the sun. The player guides the baby to pick up treasures and/or get to a goal location (i.e. the umbrella where "Mom" is) while the sun beats down. Over time the baby becomes more and more exposed to the sun (shown visually by coloring the baby in various shades of red). The sun exposure can be reduced in the game by having the baby put on a hat, slather on sunscreen and the like. The overall idea is to illustrate sun-savvy behavior that would include the effects of covering up, using sunblock, etc. The game should provide simple play for younger kids with lots of rewards to reinforce basic concepts. This game can be done in 2D or 3D.

Opscan Grade Book/Document Management System

The Computer Science Department is acquiring an Opscan instrument. This device includes equipment for Optical Mark Reading (OMR) and additional equipment for scanning written or typed pages to create a document image. Both types of scans are potentially useful for helping the CSC Department manage course evaluations and grade book data.

The goal of this project is to define, design and implement a database for storing/retrieving Opscan data. A detailed requirements specification needs to be developed along with a design for extracting files from the Opscan (online) and reducing and archiving OMR and scanned images into an appropriate database for subsequent retrieval. This design should lead to a prototype system that demonstrates basic functionality.

The Tablet PC represents another step in the evolution of computing. Features integrated into a Tablet PC include wireless network access and a notepad sized stylus-writable computer screen in addition to everything you expect in a laptop or notebook computer. The goal of this project is to define and prototype uses of this technology that enhance education in the University environment, especially considering the challenges of learning in large classes. Microsoft's "One Note" is a new software product that illustrates the potential of these devices. Two Tablet PC's will be made available to the team. Possible avenues for development include, but are not limited to, an evaluation of the features and facilities of "One Note," the development of the concept of a sharable whiteboard, real-time feedback to an instructor, classroom polling and voting, reliable identification and attendance. Another possible area of emphasis is enhancement of distance education using a Tablet PC.

The team assigned to this project will be expected to interview faculty and students to identify likely areas for exploration, prioritize these areas and define specific Tablet PC applications that enable learning, and demonstrate results in one or more of these areas by the end of the semester.

This project offers the opportunity for a team of computer science students to define, design and develop a project of the team's choice. Several constraints however, guide this project

  1. Your team project must focus on a marketable product.
  2. If you select this project, you, individually, or as a group must submit a one-page proposal with your CSC 492 Information Sheet.
  3. Resources for this project will be two PC's (shared development/target environment for the team) and a $400.00 additional budget. Expenditures against this budget must be pre-approved by the Center Director.
  4. Your team must log participation in the existing Engineering Entrepreneurs Program. This will take the form of attendance at lectures and seminars. Number of seminars/lectures to attend, dates and place to be determined.
  5. A business plan for your product must be developed.
  6. Your team can consider submitting your project to the annual IEEE Computer Society International Design Competition (http://www.computer.org/csidc/). Note: Winners that we are, we take this and *all* senior projects very seriously.

Develop iSCSI test suite as 'packaged software'

Background

iSCSI is a storage protocol that implement SCSI-3 over TCP/IP. It is an IETF standard, which was ratified in Feb'03, and it awaiting RFC number. With many initial products & test suites, people have focused on protocol compliance. While this is useful, they do not test the unique behaviors of the initiator & targets. The next step is to be able to test the solutions under real world stress & load.

However, many vendors and testing facilities have developed test suites that have leveraged proprietary QA & testing infrastructures for automation & logging. This is not conducive to interchange of tests between vendors or testing facilities. A test suite that would allow vendors to exchange tests & reproduce a behavior seen by the other would be useful to drive interoperability in the market.

Project Proposal

The project proposal is to develop a test suite that can be delivered & setup as a self-contained & portable packed software bundle. Tests should be able to be automated & logged in simplest method possible, but avoid proprietary software. If external software is required (i.e. Perl, Expect, etc.), preference is to choose something that is freely available, and that can be packaged with the test suite, so that correct versions of all tools for the test suite to run are included in the test suite bundle.

Initial focus will be on Linux host OS, where there is a freely available s/w initiator from SourceForge.net.