Flex machine
Encyclopedia
In computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

, there have been multiple systems named FLEX.

Alan Kay's FLEX system

Alan Kay
Alan Kay
Alan Curtis Kay is an American computer scientist, known for his early pioneering work on object-oriented programming and windowing graphical user interface design, and for coining the phrase, "The best way to predict the future is to invent it."He is the president of the Viewpoints Research...

 developed his Flex system in the late 1960s while exploring ideas that would later evolve into the Smalltalk
Smalltalk
Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...

 programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

.

RSRE FLEX Computer System

Ian Currie of Royal Signals and Radar Establishment
Royal Signals and Radar Establishment
The Royal Signals and Radar Establishment was a scientific research establishment within the Ministry of Defence of the United Kingdom, located primarily at Malvern in Worcestershire. It was formed in 1976 in an amalgamation of earlier research establishments including the Royal Radar Establishment...

 (RSRE) developed the Flex Computer System in Malvern
Malvern, Worcestershire
Malvern is a town and civil parish in Worcestershire, England, governed by Malvern Town Council. As of the 2001 census it has a population of 28,749, and includes the historical settlement and commercial centre of Great Malvern on the steep eastern flank of the Malvern Hills, and the former...

, England, during the 1980s. It used a tagged storage scheme to implement a capability
Capability-based security
Capability-based security is a concept in the design of secure computing systems, one of the existing security models. A capability is a communicable, unforgeable token of authority. It refers to a value that references an object along with an associated set of access rights...

 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
An extension of ALGOL 68 supporting function closures by the Royal Signals and Radar Establishment . It has been ported to Multics and VAX/VMS....

.

There were (at least) two incarnations of Flex, implemented using hardware with writable microcode
Microcode
Microcode is a layer of hardware-level instructions and/or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in special high-speed memory and translates machine instructions into sequences of detailed...

. The first was supplied by Logica to an RSRE design, and the second used an ICL PERQ
PERQ
The PERQ, also referred to as the Three Rivers PERQ or ICL PERQ, was a pioneering workstation computer produced in the early 1980s....

 http://stinet.dtic.mil/stinet/jsp/docread.jsp?K2DocKey=http%3A%2F%2Fstinet.dtic.mil%2Fstinet%2FXSLTServlet%3Fad%3DADA166398%40trA-search&Format=1F&Custom=&querytext=perqflex&AD=ADA166398&TI=PerqFlex+Firmware%2C&RD=December+01%2C+1985&DC=%26nbsp%3B+%26nbsp%3B+%26nbsp%3B+%26nbsp%3B+%26nbsp%3B+01+-+APPROVED+FOR+PUBLIC+RELEASE&XPC=&PAG=42+Pages%28s%29&MC=&PE=. 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.

Another 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 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.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK