Conversational Programming System

Conversational Programming System or CPS is an early Time-sharing system offered by IBM which runs on System/360 mainframes circa 1967 through 1972 in a partition of OS/360 Release 17 MFT II or MVT or above. CPS is implemented as an interpreter, and users can select either a rudimentary form of BASIC or a reasonably complete version of PL/I. A third option provides remote job entry (RJE) features allowing users to submit JCL job streams for batch processing. A fourth option is called control mode. Normally, only the system operator would be permitted to use control mode. The available features in control mode include:


 * Send a message to an individual user or all users.
 * Clobber (today it would be called re-boot) a specific user's virtual CPS machine.
 * Monitor the activity of an individual user.
 * Terminate the entire CPS system.

CPS provides a highly interactive user experience. It accomplishes this by giving an immediate syntax error (when necessary) as soon as each line of a program is entered.

CPS was also offered with a firmware-assisted interpreter, on the IBM System/360 Model 50, only, but few Model 50 installations elected to install this RPQ. This RPQ executed the EVAL function of CPS's programming stack using a firmware assist.

The IBM-released version of CPS was designed to run on the IBM 1050 terminal and the IBM 2741 terminal with the "break feature". User groups later added support for the IBM 2260 video display terminal.

CPS support for the IBM 2741 "break feature" most likely influenced the eventual user group support for the "break feature" and the IBM 1050 terminal on IBM Administrative Terminal System (ATS/360), as many IBM customers which operated CPS also operated ATS/360.

CPS was ultimately superseded by TSO. An IBM program product was offered which provided limited CPS functionality under Time Sharing Option (TSO), intended mainly as a "bridge" between CPS and TSO.