Information Technology

Consulting - RTL/2

RTL/2 - Real Time Language

Real Time Language is a small real-time language based on {ALGOL 68}, with separate compilation designed by J.G.P. Barnes of ICI in 1972 as a successor to RTL/1.

A program is composed of separately compilable modules called "bricks" which may be datablocks, procedures or stack. A stack is a storage area for use as a workspace by a task. The language is block-structured and weakly typed. Simple types are byte, int, frac and real. There are no Booleans. Compound types may be formed from arrays, records and {ref}s pointers. There are no user-defined types. Control statements are if-then-elseif-else-end, for-to-by-do-rep, block-endblock, switch, goto, and label variables.

The language is a combination of C and Pascal, is well structured and easy to use. The compiler compiles the code into Macro-11 source which is then compiled with the "MAC" command and the task is built with the "TKB" command.

One major feature of this language is its ability to drop into Macro-11 assembler code, just like in the C language, by using the statement "CODE". One could then write code in Macro-11 and return to RTL/2 by using the statement "*RTL;" Importantly, one had to ensure that the stack is returned to its appropriate state, before going back to RTL/2. This feature gave enormous benefits as one could use the entire set of "low level" MACROS that were supplied by DEC, as well as write higher level "code" within the same development module.

This was a major benefit over FORTRAN and other higher level languages that were written for the PDP, which where all restricted to the functions provided in that particular language. RTL/2 also had a very large functions libraries, of its own.

ICI also developed a series of real-time operating systems (MTS) which were largely written in RTL/2. The language definition became a British Standard, and the compiler front-end was itself written in RTL/2, ensuring common syntax across all platforms.

The compiler was licenced to a number of companies, such as SPL (Systems Programmimg Ltd) and Software Sciences and compilers were developed for the DEC (now Compaq) PDP/11 and VAX, the Motorola 68xx and the IBM 360. The early compilers ran on the IBM mainframe and cross-compiled code for the mini systems.

Unfortunately, the language never really took off commercially, and latterly was supported by RTC - Real-Time Consultants - and Natron. An RTL/2 to C translator was developed and marketed by Natron.

Introduction to RTL/2