Global description of the project

The project we are describing here has many similarities with the W3Kit Object Library, in that it focuses on using WWW as a highly portable remote display interface. The first goal of the project is to make the book used in our department's Data Structure class available on-line in hypertextual form, to make it easier for the students to browse through it. The second goal of the project is to make it possible for the students to activate the execution of the algorithms described in the book, and to control the execution of these algorithms through some sort of control panel, as with a symbolic debugger.

The specification and the implementation of the system necessary for the project has been given as an assignment to the Software Engineering class, as a semester project. What is presented here is thus the result of a collaborative effort and shouldn't be considered the work of just the author of this document.

WWW was chosen as a support system for this project as it allows for remote access and provides a highly portable display interface abstraction. This includes the Mosaic viewer, as the system we have implemented makes heavy use of forms as they are implemented since version 2.0 of Mosaic for X. This approach should make it easy for a student to use this on-line facility from any personal computer or workstation on campus, or even anywhere else in the Internet world.

Since the book was available in electronic form, putting it in hypertextual form was not much of a problem and will therefore not be discussed in this paper. The main problem that had to be solved was to monitor the execution of Pascal programs through WWW, taking into account the fact that the http protocol is stateless, that is, the server does not remember former queries when it processes a new one (see note).

This problem can be further decomposed into:

  1. How to run a WWW-activated program step by step.
  2. How to display the intermediate states of the program, including its data structures.
  3. How to manage user interactions with the model to view or modify the content of variables or set breakpoints in the code.
  4. How to minimize client-server traffic.
A few solutions were considered to allow the execution of Pascal programs from within an HTML document.

Screen design and user interface


This is a section of a copy of the paper World-Wide algorithm animation
by Bertrand Ibrahim, Computer Science Department, University of Geneva, Switzerland.