next up previous
Next: Success of ARCADE Up: Managing Coursework: Wringing the Previous: Management aspects

Architecture of ARCADE

ARCADE is implemented under UNIX, and currently only runs on SUN4 hardware, although there is a hope to port it to LINUX in the very near future. There are no plans to develop a Windows version.

It has grown considerably since 1993, and now consists of 29,000 lines of 3GL code and 7000 lines of shell script. Due to its humble and prototypical beginnings, it is not built on a commercial database package. At present, an M.Sc. project is investigating the use of ORACLE to re-implement (part of) ARCADE.

The system is designed to be used directly by a small number of trusted and trained users - these being, for example, the laboratory manager, data entry clerk, year tutor, etc.. These users can safely access the system concurrently, perhaps having to occasionally wait for ARCADE to release a resource lock. It has an open architecture based on the UNIX philosophy of powerful tools which can be used directly or composed together at the command line. Hence, with the exception of the data entry and student detail editing programs, which both have a sophisticated and efficient interface, there is no user interface for ARCADE: each job is a UNIX command.

There are two reasons for this. Firstly, the development effort has concentrated on functionality rather than posh-looking GUIs that in any case slow down the expert user. Secondly, and more importantly, a command line interface gives the more flexibility in use. As an example of this, figure 5 shows a simple shell script to produce particular results required by some other department for all students registered for the degree `ABIS'. This was was written by the author, but acting as an ARCADE user rather than it being part of ARCADE.


 
Figure 5: Example user-defined shell script to sit above ARCADE
\begin{figure}\begin{tex2html_preform}\begin{verbatim}1 stud '' ABIS '' -Email \...
...i
15 done
16 rm /tmp/jtl-$$\end{verbatim}\end{tex2html_preform}
\par\end{figure}

Line 1 identifies the ABIS students, using the ARCADE command `stud', and makes an ARCADE selection named `ABIS' using the command `select-specific'. Line 3 starts a loop, setting the value of `Module' to each of the modules managed by ARCADE, as output by the command `list-arcade-modules'. Line 5 uses the command `table' to produce the final details for the particular module for all students in the selection, placing the possibly empty results in a temporary file. Line 12, which only executes if the table produced was non-empty, has the command `absence-summary' producing the attendance data for the given module for the selected students, but using `stud' to replace the email names with real names.


next up previous
Next: Success of ARCADE Up: Managing Coursework: Wringing the Previous: Management aspects
John T. Latham
1998-08-21