CSCI 6448

Object Oriented Analysis and Design

Course Location
   ECCR 150

Course Time
   Tuesday and Thursday
   9:30 AM - 10:45 AM

   What's New (Home)
   Course Schedule
   Course Lectures
   Outside Readings
   Contact Information
   Course Materials
   Grading Criteria


Additional Information
   Chimera Website
   UML Tools
   Related Links

   August, 1998
   September 1-9, 1998
   September 10-30, 1998
   October, 1998

Ideas for Group Projects

The following ideas for projects are presented for two reasons. The first is to coalesce teams around people with similar interests. The second is to inspire other ideas for projects from the class. If you have an idea for a project, send it to me and I will post it for others to view.

Please send me an e-mail message specifying the top two or three projects that interest you. I will list you as interested in the project below and we will use this information to form teams on Thursday.

Chimera-based Projects

Client Integration

The purpose of this project is to integrate a new client or set of clients into Chimera. This type of project will need to identify a client or clients, design a hypermedia user-interface for the client, and implement the first pass of an integration with Chimera. As mentioned in class, an alpha version of a Win32 COM object is being developed to function as an API to Chimera. Thus, you can choose to integrate Win32 applications for this project. Possible ideas for client integrations: Internet Explorer, Microsoft Office applications (for instance PowerPoint), an E-mail application, an MPEG (or other video format) application, a development environment, and a sound and/or music application. In past project classes, I have had students scan the Internet for public-domain software (with source code) to integrate.

Interested Students

Mark Bodmer <>
Edgar Roman <> (MS Office)
John Beckman <>
Christopher Bell <> (MS Office)

Link Traversal Handler

In Chimera, all clients must (re)implement services to handle link traversals. For instance, if a user selects an anchor that is attached to multiple links for traversal, the client should inform the user of the situation and allow the user to select among the possible destinations. The purpose of this project is to construct a new service of the Chimera server that implements these services for all clients. Thus a client would no longer to have perform these operations, it simply would hand the selected anchor to the new service for processing. This service would lend user-interface consistency to Chimera since a link traversal leading to multiple destinations would now be handled in a standardized fashion. This project would need to design the functionality offered by the service, its user-interface, and the API routines clients would need in order to invoke the new service.

Interested Students

Mark Bodmer <>
Van Lepthien <>
Kiana Matthews <>

Hyperweb Browser

The structure of a hyperweb evolves over time. As users access the hyperweb, a variety of viewers, objects, and views are registered and anchors and links are created over this content. As a hyperweb expands in size, it becomes difficult for users to maintain their context while navigating through the hyperweb's relationships. This is known as the "Lost in Hyperspace" problem. One way to mitigate this cognitive overload is to provide the user with a visualization of the current state of the hyperweb and their location within it. The purpose of this project is to develop a browser for Chimera hyperwebs. The team would need to design the functionality and user-interface for this browser. Chimera used to have an HTML interface provided by a CGI script for browsing the structure of hyperwebs, I will try to resurrect this browser to provide one possible example for this type of functionality.

Interested Students

Van Lepthien <>
Kiana Matthews <>
John Beckman <>

Configurable Hyperweb Server

There currently exists two versions of the Hyperweb Server. One version keeps its data structures in memory and makes them persistent by writing their state to a file in a filesystem. The second version stores all of its information in a Relational Database and retrieves information and manipulates the database using JDBC and SQL queries. The goal of this project would be to combine the two versions into a single server that can be invoked to run in either configuration. This project will involve re-engineering the Hyperweb Server and modifying its internal object-oriented architecture to support the two configurations.

Interested Students

Sandeep Karandikar <>

Object-Oriented Database for Hyperweb Server

An additional idea for a project concerning the Hyperweb Server is to replace the relational database with an object-oriented database and then generate a comparison of the two technologies.

Interested Students

Sandeep Karandikar <>

New API for Chimera

An application program interface provides access to Chimera's services within some domain. Thus, a Java API provides access to Chimera's services to Java applications. One idea for a project would be to develop a new application program interface for Chimera. In class, a CORBA-based API was suggested. Additional ideas for new APIs: C++, Smalltalk, and JavaBeans.

Interested Students

Eugene Yen <> (C++ API)
Sandeep Karandikar <> (C++ API)
Christopher Bell <>

User-Interface Redesign of Chimera Servers

Currently, the user-interface code of the Chimera servers are separated from the networking code through the use of the Mediator pattern. In fact, the servers can currently support three types of user-interface: gui, textual, and logging. The latter provides no user-interface but records its activities to a log file. The former two also log their actions but provide a graphical and textual user-interface respectively. The idea behind this project is to completely remove the user-interface code from the servers and instead allow a separate client attach itself to a running server and provide the user-interface for the server. This would involve developing a user-interface protocol for each server that would enable the attached user-interface to keep up to date with the actions of the server. This would reduce the memory footprint of the servers while allowing a user to manipulate the servers via a user-interface when needed.

Interested Students

Edgar Roman <>

Open Hypermedia Protocol

The subject of the papers for the second week of class is the Open Hypermedia Protocol (OHP). The OHP is an attempt to achieve client interoperability between open hypermedia systems. A first implementation of the protocol was demonstrated at the last Hypertext conference in Pittsburgh PA this past June. This implementation took a protocol-based approach defining the network messages that pass over the wire for the OHP. A second approach would be to create components that provide OHP services but utilize standardized protocols such as CORBA's IIOP or Java's RMI to handle the networking portion of the OHP. The goal of this project would be to design and develop both client-side and server-side components that implement the OHP. Teams interested in this project will be provided with URLs that describe the current status of the OHP and will be put in contact with other researchers working on the protocol.

Interested Students

John Beckman <>

Additional Project Ideas

Wide Area Collaboration: A Proposed Application

Read about John Caron's project idea here.

Interested Students

Eugene Yen <>
Sandeep Karandikar <>

WebGuide Proposal

Read about Rogerio de Paula's project idea here.

Web-Based Software Update Utility

Read about Walt Manaker's project idea here.

© Ken Anderson, 1998.
Last Updated: 8/16/00; 2:46:41 PM