SSP Project Summary:
EPIC 2000
[EPCC home] [SSP home] [2001 projects] [2000 projects] [1999 projects] [1998 projects] [1997 projects] [1996 projects] [1995 projects] [1994 projects] [1993 projects]

Student

Golestan Radwan, Cairo University, Egypt

Supervisors

Hon Yau, EPCC

Mario Antonioletti, EPCC

Martin Westhead, EPCC


The EPIC system has been widely used to provide access to EPCC's training materials, both internally (for TRACS visitors, staff development or classroom teaching) and externally (EPIC exists in the public domain, and can be accessed by anyone on the internet). EPIC has been met with a very positive response and provides access (both local and remote) for all EPCC's training materials. However, as training needs change and web technologies develop EPIC faces being left behind in exploiting the huge possibilities for collaborative learning.

This project proposes to extend the learning potential of EPIC through extensive use of Java technology (moving to EPIC 2000). In making this move, it is hoped that three things will be accomplished: EPIC's current functionality would be implemented in Java with a considerably simplified and more efficient implementation, the resulting system would be platform independent and so open up a huge potential for wider exploitation of the EPIC infrastructure and finally it would attempt to enable EPIC to make best use of developing technologies, such as Java systems for collaboration (e.g. NCSA Habanero). All of these aspects to the project would produce a considerable amount of "future proofing" to EPIC, keeping EPCC's training provision at the leading edge.

As it stands, EPIC is a collection of simple Perl scripts, combined with various UNIX applications. The initial stage of the project would be a reimplementation of the core functionality of EPIC in Java, with a view to collaborative learning extensions. This basic functionality includes the ability to edit, execute (restricted) local shell commands, tailor the client configuration and access remote course materials (via internet protocols). This Java implementation would be completely self-contained (including console and command windows, with a default Java editor provided), and an essential part of the project is to produce a PC compatible package. In addition is would be preferable if much of the existing EPIC courseware could be adopted with little or no change to work with this Java implementation.

Implementation:

At present, EPIC relies on the "helper application"/"remote viewer" mode of use. EPIC 2000 based on this model would be the simplest to implement - simply rewriting the client side scripts in Java.

However, such a model suffers from unnecessary network traffic - with connections to a distant server. A more suitable model would be to extend EPIC to make use of a "surrogate server", which would run a lightweight (Java) server on the local machine, which would serve the EPIC requests in addition to executing the EPIC actions. Java is ideally suited to such an implementation (Java based servers exist) and this is the preferred model for this project, as is illustrated below:

Design:

Clearly there are a number of issues in the design of this application. It is essential that the student be involved in this design process. In preparation however, a number of pieces of related software will be collected to act as a starting point for the project.

Further Work:

Many tools exist to facilitate collaborative learning, with the number and range of these hugely expanded since the rise of Java. These include systems for one-to-one talk sessions, chatrooms, and whiteboards. An emerging infrastructure for many of these is provided by NCSA's Habanero system. This consists of a collection of Java class libraries which can be used to produce collaborative learning structures. With EPIC 2000 written in Java, it is hoped to be able to buy into the Habanero technology to extend EPIC beyond solitary learning. Other scope includes integrating EPIC with the HotJava browser in a single package and also providing EPIC as a Netscape plug-in.


The final report for this project is available here.
Webpage maintained by mario@epcc.ed.ac.uk