Flex Machine
   HOME

TheInfoList



OR:

The Flex Computer System was developed by Michael Foster and Ian Currie of
Royal Signals and Radar Establishment The Royal Signals and Radar Establishment (RSRE) was a scientific research establishment within the Ministry of Defence (MoD) of the United Kingdom. It was located primarily at Malvern in Worcestershire, England. The RSRE motto was ''Ubique S ...
(RSRE) in
Malvern Malvern or Malverne may refer to: Places Australia * Malvern, South Australia, a suburb of Adelaide * Malvern, Victoria, a suburb of Melbourne * City of Malvern, a former local government area near Melbourne * Electoral district of Malvern, an e ...
, England, during the late 1970s and 1980s. It used a tagged storage scheme to implement a capability architecture, and was designed for the safe and efficient implementation of strongly typed procedures. The hardware was custom and microprogrammable, with an operating system, (modular) compiler, editor, garbage collector and filing system all written in
ALGOL 68RS ALGOL 68RS is the second ALGOL 68 compiler written by I. F. Currie and J. D. Morrison, at the Royal Signals and Radar Establishment (RSRE). Unlike the earlier ALGOL 68-R, it was designed to be portable, and implemented the language of the Revise ...
. There were (at least) two incarnations of Flex, implemented using hardware with writable
microcode In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a laye ...
. The first was supplied by
Logica Logica plc was a multinational IT and management consultancy company headquartered in London and later Reading, United Kingdom. Founded in 1969, the company had offices in London and in a number of major cities across England, Wales and Scotl ...
to an RSRE design, and the second used an ICL
PERQ The PERQ, also referred to as the Three Rivers PERQ or ICL PERQ, was a pioneering workstation computer produced in the late 1970s through the early 1980s. In June 1979, the company took its very first order from the UK's Rutherford Appleton La ...
. The microcode alone was responsible for storage allocation, deallocation and garbage collection. This immediately precluded a whole class of errors arising from the misuse (deliberate or accidental) of pointers. A notable feature of Flex was the tagged, write-once filestore. This allowed arbitrary code and data structures to be written and retrieved transparently, without recourse to external encodings. Data could thus be passed safely from program to program. In a similar way, remote capabilities allowed data and procedures on other machines to be accessed over a network connection, again without the application program being involved in external encodings of data, parameters or result values. The whole scheme allowed
abstract data types In computer science, an abstract data type (ADT) is a mathematical model for data types. An abstract data type is defined by its behavior (semantics) from the point of view of a '' user'', of the data, specifically in terms of possible values, ...
to be safely implemented, as data items and the procedures permitted to access them could be bound together, and the resulting capability passed freely around. The capability would grant access to the procedures, but could not be used in any way to obtain access to the data. Another notable feature of Flex was the notion of shaky pointers, more recently often called
weak reference In computer programming, a weak reference is a reference that does not protect the referenced object from collection by a garbage collector, unlike a strong reference. An object referenced ''only'' by weak references – meaning "every chain of ref ...
s, which points to blocks of memory that could be freed at the next
garbage collection Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclabl ...
. This is used for example for cached disc blocks or a list of spare procedure work-spaces. COMFLEX, a packet switching network capable of transmitting data at magnetic-disc speed, was developed alongside Flex. It made feasible the use of remote file-stores, remote capabilities, and
remote procedure call In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal (l ...
s.


See also

* Royal Radar Establishment Automatic Computer *
Ten15 Ten15 is an algebraically specified abstract machine. It was developed by Foster, Currie et al. at the Royal Signals and Radar Establishment at Malvern, Worcestershire, during the 1980s. It arose from earlier work on the Flex machine, which was a ...
*
PS-algol PS-algol is an orthogonally persistent programming language. PS-algol was an extension of the language S-algol implemented by the University of St Andrews and the University of Edinburgh, Scotland. S-algol was designed by Ron Morrison and extend ...


References


Further reading

* Martin C. Atkins
An Introduction to Ten15 - A personal retrospective.
(includes a section about RSRE's Flex) {{DEFAULTSORT:Flex Machine Computers designed in the United Kingdom Capability systems Malvern, Worcestershire Mainframe computers Science and technology in Worcestershire