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

EPIC-2001: Extending EPIC to the Windows Desktop

Student

Mario Mitas, Slovak Technical University

Supervisors

Mario Antonioletti, EPCC

Hon Yau, EPCC


EPCC's Interactive Courseware (EPIC) has been a highly successful and visible component of the centre's educational activities. It enables browser clients to interact with installed packages on their own machines through a mixture of Perl, CGI-bin executions and HTML. This has allowed nearly all of EPCC-TEC's course material to be provided as an online distance learning resource.

At the time EPIC was first designed, there was practiaclly no alternative approach to achieve the same functionality. Moreover, as most of the applications and course material used by EPCC was Unix-based (editors: vi, emacs; compilers: make and f90, etc) these tools were built into the EPIC courses. Clients were thus exclusively restricted to being Unix based and this bias was exploited in EPIC's Perl driver codes, particularly in the use of system calls to Unix utilities and packages. Also, the original design led to a protocol whereby an EPIC command embedded in the HTML of an EPIC-friendly course activated an EPIC task that could potentially be used to fire up any desired (Unix) application. This necessitated the use of inelegant HTTP messages which had to be sent to the EPCC web server and back to the client browser; undesirable for generating extra communications but necessary to achieve the desired functionality.

For the SSP-1997 programme, a project was undertaken to investigate and rectify some of the above shortcominga, by rewriting the EPIC code in Java instead of Perl. This exploited the platform independence of Java bytecodes, and the rich networking class libraries bundled with the Java Development Kit. This work led to the idea of using a proxy server running on each client, which would intercept HTTP EPIC requests to the EPCC web server, examine whether the request could be handled locally (ie it is an EPIC command or a request for a web page), and perform the required action locally. This new design removed the prior version's communications with the EPCC web server to perform even the simplest EPIC command.

The 1997 SSP project in turn led to the writing of the Java package "EPIC-2001" by one of the project proposers, which contains a proxy server class, and an EPIC specific layer. This package has been written to minimise the use of operating system specific function calls, but as discussed above, is still limited by the use of Unix applications by the EPIC courses themselves.

It is increasingly important for EPCC to be in a position to be able to exploit new environments, such as Windows 95/98 or NT, if it is to be able to distribute its existing distance learning courses, and any new potential courses (even Windows NT/95/98 specific ones), to as wide a forum as possible. Moreover making EPIC available within this mainstream environment would enable other university courses to be ported to use the EPIC framework. Currently there is a strong drive within the University to provide electronic versions of taught courses or even part of a distance learning package.

The goals of this project then are mainly to investigate the use of the PC environment for the running of EPIC. In particular, it is suggested that two of the existing EPCC-TEC courses are ported to work on the PC environment using EPIC-2001. These two proposed courses are:

At one level, the availability of both MPI and AVS on the PC systems should make this theoretically possible. However, this is still not a trivial conversion, in the sense that it would be disadvantageous for the resulting product to be TOO dependent on Windows NT/95/98, but to make use of Java wherever possible, and to isolate the operating system-specific parts when not. The issues addressed in this project will be: It is hoped that by the end of this SSP project not only will we have two of the current EPCC-TEC courses available within the PC environment but also EPIC-2001 will be fully PC compliant enabling us to port more, and create new courses that will work within this environment.


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