Jump Over Left Menu
FR80 Logging System
J M Rushby
25 September, 1975
An automatic accounting system is being constructed for the FR80. This system collects data on the usage of the FR80 and will eventually produce punched card output for subsequent analysis. The products of this analysis will be the generation of an amount for each FR80 user, and also a statistical summary of the user and performance of the FR80.
2. OVERVIEW OF THE SYSTEM
The major component of the accounting system is the FE80 logging program. This program, callled SYSLOG, runs in the FR80 and uses information provided by FR80 jobs and the FR80 operator, together with additional data which it generates internally, to construct LOG RECORDS which are then stored in a special LOGFILE maintained on the FR80 disc.
Periodically, the log file is dumped onto magnetic tape and transferred to the 1906A where it is processed by another program, called LOG ANALYZER,. which generates the required punched card output.
3. AN INIRODUCTI0N TO SYSLOG
SYSLOG's function is to maintain a log of the activity of the FR80. This function is provided by means of two complimentary sub-functions, called the EXTERNAL LOGGING FUNCTION and the INTERNAL LOGGING FUNCTION.
In its external logging capacity, SYSLOG simply acts as a centralised collecting point for externally supplied data. As jobs pass through the FR80, they provide SYSLOG with information about themselves - for example, their identity (username and jobname), and the type of output they are generating. It is no part of SYSLOG's task to analyse or process this externally supplied information in any way it mostly stores the information away on the FR80 disc in an orderly and secure manner.
In its internal logging capacity, SYSLOG ects as a generator of information about FR80 jobs. The idea here is that each FR80 job informs SYSLOG when it starts and also when it finishes execution. SYSLOG notes the time which elapses between these two events, together with the amount of output produced. It then stores this internally generated information in the log file in just the same way as externally supplied information. When a job tells SYSLOG that it is about to start execution, it is said to LOGIN to SYSLOG, and conversely, when it notifies SYSLOG that it has finished, it is said to LOG OUT. The internal logging function of SYSLOG is invoked only when either of these two events occur.
4. MORE ABOUT SYSLOG
SYSLOG is an ordinary FR80 monitor program - just like the various displayers and print programs. Besides the usual monitor commands, SYSLOG provides two additional sets of commands which we may call the LOGGING COMMANDS and the LOG UTILITY COMMANDS.
The only way of invoking either the internal or external logging functions of SYSLOG is by means of the LOGGING commands. The LOG UTILITY commands mostly provide for the setting of certain switches in SYSLOG's private data area. These switches control such functions as the echoing of commands and the dumping of diagnostic information.
In order that they are able to communicate information to SYSLOG, all FR80 jobs are in fact composed of three sub-jobs. The job proper (that is the part of the job which actually produces the required graphics output) is called the PLOTTING JOB and appears on the FR80 data tape sandwiched between two LOGGING JOBS. These logging jobs cause the FR80 LOADGO system to pass control to SYSLOG which then processes the logging commands contained in them. The logging job which precedes the appearance of the plotting job is called the LEADING logging job, while that which follows the plotting job is called the TRAILING logging job. While any logging job may invoke the external logging function of SYSLOG, the leading logging job must also invoke the LOG IN function. Conversely, the trailing logging job must always invoke the LOG OUT function. Other logging jobs may appear anywhere on an FR80 data tape for the purpose of invoking (only) the external logging function.
The FR80 operators may communicate with SYSLOG for the purpose of logging jobs by hand, or in order to enter additional information about jobs which have been logged automatically.
The rest of the paper gives details of the various log commands. The system was written at Atlas by John Rushby using the Dimensional Flowcharting software later used to rewrite the complete FR80 Driver software and generate a graphics package called FINGS. This was an innovative software system that defined robust structured assembler-level programming with step-wise refinement. Full details are written up in Rob Witty's PhD Thesis, Small Scale Software Engineering, Brunel 1981.
The FR80 SYSLOG design was treewalked into Assembler and the finished program of 8000 executable instructions ran unmodified for the life of the FR80.