User Tools

Site Tools


plato:cdc.io:patching.notes

Patching System Lessons

Overview

Patching PLATO compass files is, in itself, a bit tedious because of the nature of how source is managed. The CDC1) style of managing code differed significantly from that of CERL2).

CDC used ''MODIFY'' to maintain the sources in Program Libraries. The model for applying patches was essentialy:

Built on the 'baseline' of sources contained within the “Old Program Library” (OPL), directives are applied to generate a local file which, in-turn, may be provided as input to any other processor, language compiler, etc.

PLATO's TUTOR files and their special structures present a significant hurdle in this process because the notion of source control functionality we have today did not exist in PLATO's time.

As a result a very simple change protocol was implemented:

When a system file is ready to be promoted to production, the OPERATOR lesson is used to copyover file contents. This procedure is different than copying over the entire file in that the security attributes (and other properties) are preserved on the destination files.

When the function is invoked, the operator has the option of which direction any given copy operation may flow. The normal flow of nver→ver→over may optionally be reversed, partially performed, or a completely different prefix character may be selected.

All of this works well enough within the confines of a single system. But when introducing changes to lessons from OUTSIDE, each option has its own limitations.

For example, the PF command is very flexible; operates at the block-level; cannot process individual lines as is done by MODIFY; files are usually transferred by tape; is very cumbersome to work with (as is MODIFY).

All of the options have the additional limitation of not being suitable for management under modern source control systems. While having limitations of its own, the B66 format was created to enable modifications of files at the block level for blocks of type charset, listing, source, common and text.

Further Exploration

The following articles describe:

1)
Control Data Corporation
2)
Computer-Based Education Research Laboratory
plato/cdc.io/patching.notes.txt · Last modified: 2023/11/26 12:06 by Site Administrator