SabreTalk

Last updated

SabreTalk is a discontinued dialect of PL/I for the S/360 IBM mainframes running the TPF platform. SabreTalk was developed jointly by American Airlines, Eastern Air Lines and IBM. SabreTalk is known as PL/TPF (Programming Language for TPF). [1]

In 1973, Eastern Air Lines' computing division was selling the SabreTalk compiler for US$95,000. [2]

SabreTalk programs still run in the British Airways Flight Operations system (FICO) under ALCS, using a commercially available automatic converter to translate SabreTalk programs to C programs. Both the Reservations and Operations Support System (OSS) of Delta Air Lines were developed using both SabreTalk and IBM 360 Assembler. Although development is currently restricted to C++, the majority of Delta's programming platform remained in Sabretalk until recently in the 2010s.

Because of the availability of translators [3] [4] from SabreTalk to C and discontinued support by the original developers, several companies are beginning the move away from SabreTalk to purely C-based programs.

Code Sample:

SAMPLE:PROCEDURE;DECLAREARRAY(10)DECIMAL(5)BASED(POINTUR);DECLARECOUNTERBINARY(15)ALIGNED;DECLARETOTALBINARY(31)ALIGNED;START(POINTUR=#RG1);/* RECEIVE POINTER TO ARRAY IN REGISTER 1 */TOTAL=0;LOOP:DOCOUNTER=0TO10BY2;TOTAL=TOTAL+ARRAY(COUNTER);/* TALLY EVEN NUMBERED ITEMS */ENDLOOP;IFTOTAL=0THEN/* VALUE OF TOTAL COMPUTED? */ENTRCERRO;/* N=CHECK VALIDITY IN PROG ERRO W/RETURN EXPECTED*/BACKC(#RAC=TOTAL);/* BACK TO CALLING PROGRAM PASSING VALUE OF       */ENDSAMPLE;/*  TOTAL IN REGISTER RAC.                        */

Related Research Articles

<span class="mw-page-title-main">Assembly language</span> Low-level programming language

In computer programming, assembly language, often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence between the instructions in the language and the architecture's machine code instructions. Assembly language usually has one statement per machine instruction (1:1), but constants, comments, assembler directives, symbolic labels of, e.g., memory locations, registers, and macros are generally also supported.

<span class="mw-page-title-main">APL (programming language)</span> Functional programming language for arrays

APL is a programming language developed in the 1960s by Kenneth E. Iverson. Its central datatype is the multidimensional array. It uses a large range of special graphic symbols to represent most functions and operators, leading to very concise code. It has been an important influence on the development of concept modeling, spreadsheets, functional programming, and computer math packages. It has also inspired several other programming languages.

<span class="mw-page-title-main">Fortran</span> General-purpose programming language

Fortran is a third generation, compiled, imperative programming language that is especially suited to numeric computation and scientific computing.

PL/I is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has been in continuous use by academic, commercial and industrial organizations since it was introduced in the 1960s.

<span class="mw-page-title-main">Transaction Processing Facility</span> IBM real-time operating system

Transaction Processing Facility (TPF) is an IBM real-time operating system for mainframe computers descended from the IBM System/360 family, including zSeries and System z9.

<span class="mw-page-title-main">PL/C</span> Programming language developed at Cornell University

PL/C is an instructional dialect of the programming language PL/I, developed at the Department of Computer Science of Cornell University in the early 1970s in an effort headed by Professor Richard W. Conway and graduate student Thomas R. Wilcox. PL/C was developed with the specific goal of being used for teaching programming. The PL/C compiler, which implemented almost all of the large PL/I language, had the unusual capability of never failing to compile a program, through the use of extensive automatic correction of many syntax errors and by converting any remaining syntax errors to output statements. This was important because, at the time, students submitted their programs on IBM punch cards and might not get their output back for several hours. Over 250 other universities adopted PL/C; as one late-1970s textbook on PL/I noted, "PL/C ... the compiler for PL/I developed at Cornell University ... is widely used in teaching programming." Similarly, a mid-late-1970s survey of programming languages said that "PL/C is a widely used dialect of PL/I."

<span class="mw-page-title-main">Index register</span> CPU register used for modifying operand addresses

An index register in a computer's CPU is a processor register used for pointing to operand addresses during the run of a program. It is useful for stepping through strings and arrays. It can also be used for holding loop iterations and counters. In some architectures it is used for read/writing blocks of memory. Depending on the architecture it may be a dedicated index register or a general-purpose register. Some instruction sets allow more than one index register to be used; in that case additional instruction fields may specify which index registers to use.

<span class="mw-page-title-main">For loop</span> Control flow statement for repeated execution

In computer science a for-loop or for loop is a control flow statement for specifying iteration. Specifically, a for loop functions by running a section of code repeatedly until a certain condition has been satisfied.

<span class="mw-page-title-main">IBM Airline Control Program</span> Operating system developed by IBM beginning about 1965

IBM Airline Control Program, or ACP, is a discontinued operating system developed by IBM beginning about 1965. In contrast to previous airline transaction processing systems, the most notable aspect of ACP is that it was designed to run on most models of the IBM System/360 mainframe computer family. This departed from the earlier model in which each airline had a different, machine-specific transaction system.

Programmed Airline Reservations System (PARS) is an IBM proprietary large scale airline reservation application, a computer reservations system, executing under the control of IBM Airline Control Program (ACP). Its international version was known as IPARS.

Sabre Global Distribution System, owned by Sabre Corporation, is a travel reservation system used by travel agents and companies to search, price, book, and ticket travel services provided by airlines, hotels, car rental companies, rail providers and tour operators. Originally developed by American Airlines under CEO C.R. Smith with the assistance of IBM in 1960, the booking service became available for use by external travel agents in 1976 and became independent of the airline in March 2000.

Data structure alignment is the way data is arranged and accessed in computer memory. It consists of three separate but related issues: data alignment, data structure padding, and packing.

In computer science, stream processing is a programming paradigm which views streams, or sequences of events in time, as the central input and output objects of computation. Stream processing encompasses dataflow programming, reactive programming, and distributed data processing. Stream processing systems aim to expose parallel processing for data streams and rely on streaming algorithms for efficient implementation. The software stack for these systems includes components such as programming models and query languages, for expressing computation; stream management systems, for distribution and scheduling; and hardware components for acceleration including floating-point units, graphics processing units, and field-programmable gate arrays.

A transaction processing system (TPS) is a software system, or software/hardware combination, that supports transaction processing.

In computer programming, a branch table or jump table is a method of transferring program control (branching) to another part of a program using a table of branch or jump instructions. It is a form of multiway branch. The branch table construction is commonly used when programming in assembly language but may also be generated by compilers, especially when implementing optimized switch statements whose values are densely packed together.

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.

An instruction set architecture (ISA) is an abstract model of a computer, also referred to as computer architecture. A realization of an ISA is called an implementation. An ISA permits multiple implementations that may vary in performance, physical size, and monetary cost ; because the ISA serves as the interface between software and hardware. Software that has been written for an ISA can run on different implementations of the same ISA. This has enabled binary compatibility between different generations of computers to be easily achieved, and the development of computer families. Both of these developments have helped to lower the cost of computers and to increase their applicability. For these reasons, the ISA is one of the most important abstractions in computing today.

In computer programming, a function, subprogram, procedure, method, routine or subroutine is a callable unit that has a well-defined behavior and can be invoked by other software units to exhibit that behavior.

PL/SQL is Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle Database, Times Ten in-memory database, and IBM Db2. Oracle Corporation usually extends PL/SQL functionality with each successive release of the Oracle Database.

CALL/360:BASIC was an IBM dialect of the BASIC programming language for the System/360 and later platforms. It was based on mid-1960s versions of Dartmouth BASIC but added a number of extensions. Most of these were related to file handling, which, at that time, Dartmouth lacked. It also added support for the mathematical symbols found on some IBM terminals, so that <= could be entered directly as . Differences are otherwise minor.

References

  1. S. J. Hobson, "ALCS -- A High-Performance High-Availability DB/DC Monitor", p. 136 (footnote 2) in High Performance Transaction Systems, 2nd International Workshop, Asilomar Conference Center, Pacific Grove, California, USA, September 28-30, 1987, Proceedings. Lecture Notes in Computer Science 359, Springer 1989, ISBN   3-540-51085-0.
  2. "Sabretalk trimmed by 100K". Computerworld . 7 (18). IDG Enterprise: 17. 1973-05-02.{{cite journal}}: CS1 maint: date and year (link)
  3. S. Dhinakar Jacob, Madhuchhanda Das, "TALK2C: A Tool for Automatic Migration," icpc, pp.288, 11th IEEE International Workshop on Program Comprehension (IWPC'03), 2003
  4. Ira Baxter, "Approaches for Code Modernization", TPF Users Group meeting 2019