Industry | Application development tools |
---|---|
Fate | Acquired by IBM |
Founded | 1981 |
Founder | Paul Levy and Mike Devlin |
Defunct | February 20, 2003 |
Key people
|
Mike Devlin (previous CEO) |
Website | www |
Rational Machines was founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. Rational was sold for US$2.1 billion (equivalent to current US$2.73 billion) to IBM on February 20, 2003.
First released in 1985, the Rational Environment was an integrated development environment for the Ada programming language, which provided good support for abstraction through strong typing. Its goal was to provide the productivity benefits associated with academic single-user programming environments to teams of developers developing mission-critical applications that could execute on a range of computing platforms.
The Rational Environment was organized around a persistent intermediate representation (DIANA), providing users with syntactic and semantic completion, incremental compilation, and integrated configuration management and version control. To overcome a conflict between strong typing and iterative development that produced recompilation times proportional to system size rather than size-of-change, the Rational Environment supported the definition of subsystems with explicit architectural imports and exports; this mechanism later proved useful in protecting application architectures from inadvertent degradation. The Environment's Command Window mechanism made it easy to directly invoke Ada functions and procedures, which encouraged developer-driven unit testing.
The Rational Environment ran on custom hardware, the Rational R1000, which implemented a high-level architecture optimized for execution of Ada programs in general and the Rational Environment in particular. The horizontally-microprogrammed R1000 provided two independent 64-bit data paths, permitting simultaneous computation and type checking. Memory was organized as a single-level store; a 64-bit virtual address presented to the memory system either immediately returned data, or triggered a page fault handled by the processor's microcode.