SCRIPT, [1] any of a series of text markup languages starting with Script [2] [3] under Control Program-67/Cambridge Monitor System (CP-67/CMS) and Script/370 [4] under Virtual Machine Facility/370 (VM/370) and the Time Sharing Option (TSO) of OS/VS2; the current version, SCRIPT/VS, [5] [6] [7] is part of IBM's Document Composition Facility (DCF) [8] for IBM z/VM and z/OS systems. SCRIPT was developed for CP-67/CMS by Stuart Madnick [1] [9] at MIT, succeeding CTSS RUNOFF.
SCRIPT is a procedural markup language. Inline commands called control words, indicated by a period in the first column of a logical line, describe the desired appearance of the formatted text. SCRIPT originally provided a 2PASS option to allow text to refer to variables defined later in the text, but subsequent versions allowed more than two passes.
In 1968 "IBM contracted Stuart Madnick of MIT to write a simple document preparation ..." [10] [1] to run on CP/67. [11] He modeled it on MIT's CTSS RUNOFF. [12] [13] In 1974, William Dwyer at Yale University ported the CP-67 version of Script to the Time Sharing Option (TSO) of OS/360 under the name NSCRIPT. [14] The University of Waterloo rewrote and extended NSCRIPT as Waterloo SCRIPT, [15] also in 1974, making it available for free to CMS and TSO users for several releases before eventually charging for new releases.
By 1978, IBM's Script/370, running on VM/CMS, had evolved into Document Composition Facility (DCF), [16] supporting SCRIPT/VS on CMS, DOS/VS, OS/VS1 and OS/VS2, and supported the IBM 3800. [10] In addition, there was a PC/MS-DOS version called SCRIPT/PC. [17]
Native Script control begin with a period and have a space prior to operands. They normally begin in column 1, but you may code multiple control words, separated by semicolons, on a single line.
The description and table below refer to selected control words in DCF; older versions are similar.
SCRIPT allows space units in control words to be specified in a number of units including inches, centimeters, millimeters, picas, ciceros, m-spaces, or device units (pels at the current device resolution). Vertical space units are assumed to be lines unless otherwise specified.
control word | function | example | |
---|---|---|---|
.sp | Inserts blank vertical space | .sp1 | Inserts one blank line |
.ce | Centers following lines | .ce2 | Centers the following two lines on the current page or column |
.ez | Controls EasyScript | .ezPfoobar | Starts paragraph with text foo bar; equivalent to &P.foo bar after .ez on |
.im | Imbeds a file at the current location | .imBLRPLT | Inserts the file 'BLRPLT SCRIPT' |
.ju | Turn on/off justify mode | .juon | Requests that subsequent lines be justified until .ju off is encountered |
.rh | Specify running head information | .rh | Identify following lines as running head until .rh off is encountered |
.df | Define a named font | .dfexamptype('CenturySchoolbook'10light) | Specifies attributes for font named 'examp'. |
.bf | Specify font for following text | .bftitle | 'title' is the name of a font identified by a .df control word. |
.se | Assigns a value to a variable symbol | .semonth=January | Assigns a value to the variable &month that will replace every subsequent occurrence of &month in the input text until &month is redefined. |
Script includes a facility for user-defined macros and for automatically reading a profile containing macro definitions and other commands. Several packages for semantic tagging, including GML and EasyScript, are built on top of this facility.
IBM's Generalized Markup Language (GML) is a descriptive markup layer describing the logical structure of a document. Both SCRIPT/VS and the GML Starter Set are part of IBM's Document Composition Facility (DCF), used in the System/370 platform and successors. The tag sets of the BookMaster [18] [19] and BookManager BUILD/MVS [20] products are built on a foundation of the GML Starter Set syntax and implementation.
The Standard Generalized Markup Language (SGML) is a descendant of GML. While DCF does not directly handle SGML, there is an SGML translator available as a separate product.
EasyScript is a set of macro definitions and profiles included with Script/370 [21] Version 3 [22] [23] [24] that implements a primitive version of GML. Tags are variables whose values have been set to control words, allowing multiple tags in a single line.
.ez on &P.This is a paragraph. &N1.First item &N2.First subitem &N2.Second subitem &N1.Second item
is roughly equivalent to
This is a paragraph
The GML Starter Set (GMLSS) [25] [26] is a set of macro definitions and profiles that implements [27] a set of tags that has more of a semantic orientation than the raw Script/VS control words. Tags begin with a colon and end with a period, and may contain attributes between the name and the closing period; a line may contain multiple tags.
Bookmaster is an IBM product, "designed for high-volume in-house publishing applications", that extends the GML Starter Set of DCF. It consists of "a rich set of GML vocabulary for creating complex document layouts." Bookmaster runs under the z/VM and z/OS operating systems. [18]
BookManager is a family of products for producing and reading online books. BookManager BUILD/MVS and BookManager BUILD/VM are layered on top of SCRIPT and BookMaster and can run on z/VM and z/OS. [28] Other BookManager BUILD products for generating text run on Linux, Windows or OS/2 and convert files produced by various word processors to BookManager format. BookManager Read products for viewing text run on a variety of systems. BookManager BookServer is a multi-platform system to "serve your electronic books to HTML browsers." [29]
BookManager electronic documents typically have filenames ending with the extension .BOO. IBM offers several no charge tools to work with and read BookManager documents including a reader/viewer called IBM Softcopy Reader. [30] An independent developer, Ken Bowling, created and released software that uses IBM's BookManager code libraries to convert BookManager documents to PDF. [31]
IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the computer market with the 7000 series and the later System/360, followed by the System/370. Current mainframe computers in IBM's line of business computers are developments of the basic design of the System/360.
A markuplanguage is a text-encoding system consisting of a set of symbols inserted in a text document to control its structure, formatting, or the relationship between its parts. Markup is often used to control the display of the document or to enrich its content to facilitate automated processing.
The Standard Generalized Markup Language is a standard for defining generalized markup languages for documents. ISO 8879 Annex A.1 states that generalized markup is "based on two postulates":
The Conversational Monitor System is a simple interactive single-user operating system. CMS was originally developed as part of IBM's CP/CMS operating system, which went into production use in 1967. CMS is part of IBM's VM family, which runs on IBM mainframe computers. VM was first announced in 1972, and is still in use today as z/VM.
Typesetting is the composition of text by means of arranging physical type in mechanical systems or glyphs in digital systems representing characters. Stored types are retrieved and ordered according to a language's orthography for visual display. Typesetting requires one or more fonts. One significant effect of typesetting was that authorship of works could be spotted more easily, making it difficult for copiers who have not gained permission.
TYPSET is an early document editor that was used with the 1964-released RUNOFF program, one of the earliest text formatting programs to see significant use.
In computing, Interactive System Productivity Facility (ISPF) is a software product for many historic IBM mainframe operating systems and currently the z/OS and z/VM operating systems that run on IBM mainframes. It includes a screen editor, the user interface of which was emulated by some microcomputer editors sold commercially starting in the late 1980s, including SPF/PC.
VM is a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules emulator for personal computers.
CP/CMS is a discontinued time-sharing operating system of the late 1960s and early 1970s, known for its excellent performance and advanced features. Among its three versions, CP-40/CMS was an important "one-off" research system that established the CP/CMS virtual machine architecture. It was followed by CP-67/CMS, a reimplementation of CP-40/CMS for the IBM System/360-67, and the primary focus of this article. Finally, CP-370/CMS was a reimplementation of CP-67/CMS for the System/370. While it was never released as such, it became the foundation of IBM's VM/370 operating system, announced in 1972.
z/VM is the current version in IBM's VM family of virtual machine operating systems. z/VM was first released in October 2000 and remains in active use and development as of 2022. It is directly based on technology and concepts dating back to the 1960s, with IBM's CP/CMS on the IBM System/360-67. z/VM runs on IBM's IBM Z family of computers. It can be used to support large numbers (thousands) of Linux virtual machines.
Generalized Markup Language (GML) is a set of macros that implement intent-based (procedural) markup tags for the IBM text formatter, SCRIPT. SCRIPT/VS is the main component of IBM's Document Composition Facility (DCF). A starter set of tags in GML is provided with the DCF product.
VP/CSS was a time-sharing operating system developed by National CSS. It began life in 1968 as a copy of IBM's CP/CMS, which at the time was distributed to IBM customers at no charge, in source code form, without support, as part of the IBM Type-III Library. Through extensive in-house development, in what today would be termed a software fork, National CSS took VP/CSS in a different direction from CP/CMS. Although the two systems would eventually share many capabilities, their technical implementations diverged in substantive ways.
CP-40 was a research precursor to CP-67, which in turn was part of IBM's then-revolutionary CP[-67]/CMS – a virtual machine/virtual memory time-sharing operating system for the IBM System/360 Model 67, and the parent of IBM's VM family. CP-40 ran multiple instances of client operating systems – particularly CMS, the Cambridge Monitor System, built as part of the same effort. Like CP-67, CP-40 and the first version of CMS were developed by IBM's Cambridge Scientific Center (CSC) staff, working closely with MIT researchers at Project MAC and Lincoln Laboratory. CP-40/CMS production use began in January 1967. CP-40 ran on a unique, specially modified IBM System/360 Model 40.
Stuart E. Madnick is an American computer scientist, and professor of information technology at the MIT Sloan School of Management and the Massachusetts Institute of Technology school of engineering. He is the director of Cybersecurity at MIT Sloan (CAMS), formerly called the MIT Interdisciplinary Consortium for Improving Critical Infrastructure Cybersecurity ( ³).
This article covers the History of CP/CMS — the historical context in which the IBM time-sharing virtual machine operating system was built.
Document Content Architecture, or DCA for short, is a standard developed by IBM for text documents in the early 1980s. DCA was used on mainframe and IBM i systems, and formed the basis of DisplayWrite's file format. DCA was later extended as MO:DCA, which added embedded data files.
The history of IBM mainframe operating systems is significant within the history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers. IBM mainframes run operating systems supplied by IBM and by third parties.
Robert Jay Creasy was the project leader of the first full virtualization hypervisor, the IBM CP-40, which later developed into IBM's highly successful line of mainframe VM operating systems.
SGMLguid, also known as "CERN SGML", "Waterloo based SGML", and "Waterloo SGML", was an early SGML application developed and used at CERN between 1986 and 1990. It served as a model of the earliest HTML specifications.
SCRIPT was developed for CP-67/CMS by Stuart Madnick at MIT, succeeding CTSS RUNOFF.
1967: SCRIPT (Stuart Madnick). In 1967, Madnick ported the RUNOFF code to the IBM CP67/CMS at IBM as SCRIPT. The documentation of SCRIPT explicitly ...