RTL(ID:3222/rtl004)

 


for Real Tiime Lanugage


Related languages
SML => RTL   Successor
RTL => RTL/1   Implementation

References:
  • Barnes, J.G.P. "Real Time Languages for Process Control" view details Abstract: This paper describes in outline a programming language designed for the description and implementation of real time programs on medium-sized process computers. Extract: The birth of SML
    The Central Instrument Research Laboratory of Imperial
    Chemical Industries installed a Ferranti Argus 400 in 1966 for
    the control of multiple laboratory experiments. An operating
    system was devised and implemented by Cobb, Magee, and
    Williams (1967); the main purpose of this system was to provide
    each of several users with a pseudo multi-processor
    capability with storage protection from other users (see also
    Magee, 1970). The technique evolved by Cobb to provide
    storage protection by software in the absence of any assistance
    from the hardware involved the effective interpretation of all
    dynamic store and branch instructions in the users programs;
    these instructions were then costly in space and time. It is
    against the background of this operating system that the
    development of SML (Barnes, 1969), the laboratory's first
    attempt at a real time high level language, must be seen.
    SML (Small Machine Language) was a simple variant of
    ALGOL but with static storage allocation. It included a scaled
    fixed point facility in addition to the normal ALGOL types.
    Multi-tasking was provided via a set of standard procedures
    (activate, delay, waitfor, etc.) essentially as proposed by
    Benson, Cunningham, Currie, Griffiths, Kingslake, Long, and
    Southgate (1967). Normal ALGOL parameter mechanism was
    provided; this parameter mechanism was re-entrant but
    coding was otherwise not re-entrant except inasmuch that
    individual procedures could be executed in parallel.
    A compiler to translate SML text into Ferranti Argus Initial
    Orders Mk 3 was written in KDF9 ALGOL and programs
    were originally thus compiled off-line. The compiler was later
    rewritten in itself and bootstrapped to provide an on-line
    compiler.
    Experiences with SML on experimental plant in the author's
    laboratory were entirely successful (Brisk, Davies, and Jones,
    1969); subsequently the language was also used for programming
    the control software of production plant (Garside, Gow,
    and Perkins, 1969). In the latter case, however, the opxating
    system itself needed considerable modification and being
    written in an assembly language this was a non-trivial exercise.
    This earlier work provided the background to a new project
    whose objectives are to develop a language/compiler/package
    system for general use in process control and similar on-line
    applications. It was decided to undertake this project in stages,
    the language RTL/l, whose description now follows, is the
    result of the first stage. Extract: Criteria for RTL/1
    Criteria for RTL/1
    The following were seen as the main criteria for the design of
    RTL/ 1 :
    1. Algorithmic features available in high level languages such
    as FORTRAN and ALGOL should be available and should
    be implemented as efficiently as is usual in these languages.
    2. The dynamic creation and synchronisation of threads
    should be simple.
    3. Subroutines should be re-entrant so that multi-thread
    programming is simplified.
    4. It should be practicable to write large parts of a conventional
    executive in the language.
    5. It should be possible to change, in a modular fashion, parts
    of a program complex while it is actually running.
    6. No unpredictable timing problems should arise as might
    happen if a conventional garbage collector were used for
    storage control.
    7. An RTL program should be secure. Extract: Experiences
    Experiences
    The use of RTL/l to date has indicated that it has all the
    advantages normally associated with a high level language as
    compared with an assembly language. Features of RTL/l which
    have proved of great value are:
    1. Char type.
    2. Re-entrant code.
    3. Modular recompilation.
    On the other hand some aspects of RTL/l have not proved to
    be wholly satisfactory;
    1. The concept of a section as a type and the dynamic intersection
    linkage has caused the language to encroach on the
    system.
    2. The ALGOL block structure has imposed rather more overhead
    than is really desirable.
    3. The unpredictable stack size associated with dynamic
    storage caused difficulties for the system designer.
    4. The fixed point variables have not been useful.
    In the light of experiences with SML and RTL/1 a successor
    language (RTL/2) is being designed and is intended to be the
    final version of RTL. It differs significantly from RTL/I and
    is jud.ged to possess the correct balance of features needed for
    real time programming. It is planned to publish and implement
    RTL/2 during 1971.
          in The Computer Journal 15(1) February 1972 view details
  • Sammet, Jean E. "Roster of Programming Languages for 1973" p147 view details
          in ACM Computing Reviews 15(04) April 1974 view details