Jump to content

CANDE

From Alfawiki
CANDE
Company typeSoftware
IndustryComputer software
Founded1973
FounderDarrel F. High
Key people
Randall Gellens (developer from 1984)
ProductsCommand-line interface, text editor, administrative control system (CANDE MCS)
ParentBurroughs Corporation (originally)

CANDE (Command AND Edit) is a command-line interface and text editor designed for the MCP operating system, which runs on Unisys Clearpath mainframe systems. Initially created for Burroughs large systems, it facilitates tasks such as program execution, editing, compilation, and file management.

Referred to as CANDE MCS (Message Control Subsystem), its role extends beyond simple text editing by providing administrative control over multiple users within the Burroughs system framework.

Although its editing functionalities predate contemporary full-screen editors, CANDE continues to be utilized on Burroughs CMS minis maintaining similar command syntax. Presently, it operates primarily through ODT (Operator Display Terminal) and MARC (Menu Assisted Resource Control) interfaces on terminal emulators, alongside other traditional mainframe tools like ISPF.

Features

CANDE combines a command interpreter with a line-based editor; however, its commands are compiled into the CANDE MCS, while shell operations are managed by WFL. Its principal business-oriented capabilities include:

  • File and program handling: creating, editing, copying, moving, deleting, printing, and renaming
  • Program compilation and execution
  • Real-time monitoring and dynamic control of communication networks, including terminal lines and remote devices
  • Access to detailed job and task status information
  • Utility tools such as calculators and system diagnostics

Furthermore, CANDE incorporates an interactive help system to assist users during operation.

Implementation

To achieve improved performance, CANDE employs user context switching by swapping a designated block located at the top of the stack. This method challenged several foundational assumptions in Burroughs large systems, particularly concerning virtual memory descriptor management. Consequently, CANDE was developed in DCALGOL with elevated system privileges.

The architecture of CANDE consists of two primary elements: a single-instance main process called BUMP that supports up to 255 concurrent users, and one or more worker stacks. BUMP manages all incoming messages by immediately processing straightforward non-I/O requests while queuing more complex tasks for worker processes named GRIND. Multiple GRIND instances operate simultaneously, each running five pseudo-threads to execute assigned functions.

Its internal threading mechanism switches execution context by copying the chosen pseudo-thread onto the top of the stack. When a GRIND process initiates I/O or asynchronous operations, it marks itself as waiting and transfers control to another thread.

CANDE avoids using internal locks through meticulous data segregation. Each user session is assigned an index within the station array (STA), storing state information that allows indexing via addition instead of multiplication—an optimization tailored to the hardware capabilities of that period.

Originally created in 1973 by Darrel F. High, CANDE's development was later overseen by Randall Gellens starting in 1984. Gellens enhanced library maintenance procedures to broaden functionality, introduced numerous utilities accessible during program execution through the "?" command syntax, and implemented structural improvements. The system was eventually moved first to the Santa Barbara facility and later relocated to India.

The "?" command syntax evolved from offering control during program runs to encompassing a wide variety of utilities, significantly expanding CANDE's operational effectiveness.

See also

External links

  • Quick CANDE Reference Card for Burroughs B5500 TSS 1042710, circa 1970, related to Burroughs B5500
  • CANDE Reference Card 5001050 from July 1975 for B6700 and B7700 systems, available at bitsavers.org
  • CANDE Reference Card 5011349 dated October 1979 for B7000 and B6700, accessible via bitsavers.org