ORVYL and WYLBUR explained

ORVYL and WYLBUR
Developer:Stanford University
Source Model:Originally Open source; the later proprietary versions had licensed source
Supported Platforms:IBM S/360, S/370, and successors
Released:1967, 1968
Programmed In:360/370 Assembly language
Language:English
Working State:Discontinued
License:Originally public domain; the later proprietary versions had distinct licenses

ORVYL is a time-sharing monitor developed by Stanford University for IBM System/360 and System/370 computers in 1967–68.[1] ORVYL was one of the first time-sharing systems to be made available for IBM computers. Wylbur is a text editor and word processor program designed to work either without ORVYL, or in conjunction with ORVYL.[2] [3]

Overview

The names ORVYL and WYLBUR are often used interchangeably, but:

WYLBUR is not a full standalone operating system in the mold of Dartmouth Time Sharing System (DTSS) or Unix. Instead it runs on top of an IBM batch operating system (OS/360, SVS, MVS). It takes the form of an editor with a Remote Job Entry system and thus has much the same relationship to the IBM operating systems as Emacs does to Unix. For these reasons WYLBUR is often thought of as a text editor rather than a time-sharing system. However, whereas Unix does not need Emacs to provide text editing services, IBM's operating systems originally needed WYLBUR. Later innovations such as IBM's Administrative Terminal System (ATS), Conversational Remote Batch Entry (CRBE), Conversational Remote Job Entry (CRJE) and Time Sharing Option (TSO) made WYLBUR less relevant for IBM users and gradually replaced it.

This article will use the full upper case spelling for commands and keywords. All references to characters and string assume an EBCDIC code page.

Use

ORVYL and WYLBUR were used at the Stanford Linear Accelerator Center (SLAC), the European Organization for Nuclear Research (CERN), the U.S. National Institutes of Health (NIH), and many other sites. Retired from most sites in the late 1990s owing to concerns about Y2K issues, they remained in use at NIH until December 2009.[4] ORVYL and WYLBUR are still available as open source from Stanford.[5] There are also proprietary versions such as SuperWYlbur.

ORVYL and WYLBUR were much admired as shown by this excerpt from a 2004 article titled "Computing at CERN: the mainframe era":

[In 1976 the IBM S/370-168] also brought with it the MVS (Multiple Virtual Storage) operating system, with its pedantic Job Control Language, and it provided the opportunity for CERN to introduce WYLBUR, the well-loved, cleverly designed and friendly time-sharing system developed at SLAC, together with its beautifully handwritten and illustrated manual by John Ehrman. WYLBUR was a masterpiece of design, achieving miracles with little power (at the time) shared amongst many simultaneous users. It won friends with its accommodating character and began the exit of punch-card machinery as computer terminals were introduced across the lab.[6]

Advantages and disadvantages

ORVYL and WYLBUR first became available in 1967–68, before TSS/360, TSO, or any other official time-sharing solution from IBM. This was roughly the same time that third-party time-sharing systems such as MTS became available and the under the radar development effort of CP-67 at IBM's own Cambridge Scientific Center took place. WYLBUR had the additional advantage that it could be used in conjunction with IBM's mainstream operating system, OS/360.

WYLBUR is a single-address-space system, unlike TSO. This conserved memory in the days when memory was precious. So even when TSO was available, organizations seeking to minimize memory use would often keep some or even a majority of their users on WYLBUR rather than letting them use the TSO interactive environment.

WYLBUR provides compressed Partitioned Data Sets (PDSs, aka libraries) to save disk space. In MVS, source code is typically stored as a sequence of card images (80 character lines). If a line contained only one or just a few characters, 80 characters were still used to store that line. Even when data, e.g., source code, are stored as variable blocked (VB), space could be wasted on strings of embedded blanks. WYLBUR implements stream-oriented storage of text in PDSs, (and sequential data sets) so that a one character line might only take 16 characters (line length, offset, chunk length, character) rather than 80 to store. WYLBUR, or an external program run via JCL, was used to convert files to and from the WYLBUR EDIT format.

Although TSO allows a user to do more than a locked-down WYLBUR system did, it is possible to write WYLBUR Exec scripts that execute batch jobs to perform functions that ordinarily would have required a TSO account, filling a batch job skeleton out with parameters, submitting the batch job, retrieving the output and displaying it on the screen.

WYLBUR has some security advantages over TSO, and some disadvantages. Advantages include:

Disadvantages related to security included:

Data Management

Wylbur had a special edit format for Wylbur data sets, which are compressed and have a line number and revision flag for each line. In addition Wylbur supports standard FB and VB datasets. A Wylbur user normally specifies a default volume, which may be the special word CATLG. requesting a search of the catalogue for an existing dataset and requesting that a new dataset be cataloged. Wylbur has the ability to convert line numbers between edit and IBM data sets, either as scaled integers or with an explicit decimal point.

Editing

Wylbur provides a line editor that works with temporary data sets, similar to buffers in other editors. At any point in time one of the temporary data sets is designated as default. Wylbur maintains a current line pointer for each temporary data set. The user may specify an explicit working data set on a command; if he omits it, then the default temporary data set is used as the working data set.

The unit of operation is a set of lines (associative range) and individual lines are identified with a line number in the range 0.0 to 99999.999; leading zeros in the integer part and trailing zeros in the fractional part may be omitted. The user can specify a line number in any of the following ways

  1. Absolute line number: ddddd.ddd
  2. FIRST: first line in the working data set
  3. CURRENT: the current line for the working data set
  4. LAST: last line in the working data set
  5. END: a target for copies, following the last line in the working data set
  6. relative: line+ordinal or line -ordinal.
  7. macro variable containing a line

Wylbur libraries have a nonstandard format, however it allows the user to export to native OS files with integer sequence numbers and to import native OS files with integer sequence and rescale the line number by a factor of 1000.

A range can be specified as a combination of

  1. An explicit range, e.g.,
  2. A pattern, e.g.,
  3. A pattern with a column range, e.g.,
  4. An ordinal, e.g.,
  5. An ordinal relative to a match, e.g.,
  6. A sequence of lines following a match, e.g.,
  7. A Boolean operation, e.g.,
  8. A specification in parentheses prefixed by SET, e.g.,

A pattern is similar to a regular expression, but the syntax is closer to that of SNOBOL than to that of Unix or Perl, there is no backtracking and only the NIH Wylbur has capture of subpatterns. A pattern may be:

Sample commandsCHANGE 73/80 TO X10+10 IN EVERY 3RD LINE OF 'ABC' 1/3 in 1.5-2/3.7+2COPY 'BAL' 10/15 TO EMDCHANGE 73/80 TO IN EVERY 3RD LINE START 2 OF 'BAL' 10/15CHANGE '(' DIGITS*3 ')' TO SUBSTRING 2/4

The specification of base+increment means that the replacement text on the first line is base and is incremented on subsequent lines, so that X10+10 replaces the matched text on the first line with X10, on the second line with X20 and on the third line with X30. The specification of SUBSTRING 2/4 means columns 2-4 of the matched string; note that this is less flexible than captures.

Enhanced versions

Various organizations developed enhanced versions of Wylbur. These included

SuperWylbur

SuperWylbur has several enhancements over the original Wylbur. The most important are

  1. Supporting 3270, 3767 and NTO terminals via VTAM; as with other proprietary Wylbur versions, SuperWylbur does not use MILTEN for VTAM terminals.
  2. An enhanced macro facility.
  3. Supporting user-written full-screen panels

SuperWylbur macro Facility

The macro processor adds commands, constants, functions and expressions to Wylbur. Even when the command syntax does not include parameters defined to be expressions, the user can use the forms expression and expression to force evaluation. If the expression is a function with no argument or a variable then the parentheses may be omitted, e.g., instead of . A doubled % requests that the valued be quoted.

SuperWylbur constants

SuperWylbur has two types of constants:

Notes and References

  1. http://www.slac.stanford.edu/spires/explain/manuals/ORVMAN.HTML ORVYL/370 Timesharing System Functional Description
  2. WYLBUR Reference Manual, Stanford University, 1984
  3. Web site: WYLBUR, ORVYL (MILTEN and friends). . 2023-10-09 . hercules-390.yahoogroups.narkive.com.
  4. http://datacenter.cit.nih.gov/titannews/wylbur_retire-7apr09.html "WYLBUR Will Be Retiring"
  5. Web site: ORVYL, WYLBUR, and MILTEN source and documentation. Available for free as Open Source from Stanford University under a license modeled after the "Mozilla 1.1 License" certified by the "Open Source Initiative (OSI)"
  6. http://cerncourier.com/cws/article/cern/29150 "Computing at CERN: the mainframe era"