Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Rational Software

Rational Software

Discussion
Ask a question about 'Rational Software'
Start a new discussion about 'Rational Software'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia
Rational Machines was founded by Paul Levy and Mike Devlin
Mike Devlin (entrepreneur)
Mike Devlin is a U.S. entrepreneur who co-founded Lexington, Massachusetts-based Rational Software Corporation, a software development company...

 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 to IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 on February 20, 2003.

Rational Environment


First released in 1985, the Rational Environment
R1000
R1000 is an integrated development environment created by Rational Software for the design, documentation, implementation, and maintenance of large software systems written using the Ada programming language...

 was an integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 for the Ada programming language, which provided good support for abstraction
Abstraction (computer science)
In computer science, abstraction is the process by which data and programs are defined with a representation similar to its pictorial meaning as rooted in the more complex realm of human life and language with their higher need of summarization and categorization , while hiding away the...

 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
DIANA (intermediate language)
DIANA, the Descriptive Intermediate Attributed Notation for Ada, is an intermediate language used to represent the semantics of an Ada program. It was originally designed as an interface between the front end and middle of the compiler on the one hand and the back end on the other...

), 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
R1000
R1000 is an integrated development environment created by Rational Software for the design, documentation, implementation, and maintenance of large software systems written using the Ada programming language...

, 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
Virtual address
In computer technology, a virtual address is an address identifying a virtual, i.e. non-physical, entity.-Description:The term virtual address is most commonly used for an address pointing to virtual memory or, in networking, when referring to a virtual network address...

 presented to the memory system either immediately returned data, or triggered a page fault handled by the processor's microcode.

The company's name was later changed from "Rational Machines" to Rational to avoid emphasizing this proprietary hardware.

Rational provided code generators and the cross-debuggers for then-popular instruction set architectures such as the VAX
VAX
VAX was an instruction set architecture developed by Digital Equipment Corporation in the mid-1970s. A 32-bit complex instruction set computer ISA, it was designed to extend or replace DEC's various Programmed Data Processor ISAs...

, Motorola 68000
Motorola 68000
The Motorola 68000 is a 16/32-bit CISC microprocessor core designed and marketed by Freescale Semiconductor...

, and x86
X86 architecture
The term x86 refers to a family of instruction set architectures based on the Intel 8086 CPU. The 8086 was launched in 1978 as a fully 16-bit extension of Intel's 8-bit based 8080 microprocessor and also introduced segmentation to overcome the 16-bit addressing barrier of such designs...

; much of this was accomplished through a partnership with Tartan Labs, founded by Bill Wulf
William Wulf
William Allan Wulf is a computer scientist notable for his work in programming languages and compilers.Born in Chicago, Illinois, he attended the University of Illinois, receiving a BS in Engineering Physics and an MS in Electrical Engineering, then achieved the first Ph.D. in Computer Science...

 to commercialize his work on optimizing code generators semi-automatically produced from architecture descriptions (PQCC
PQCC
The Production Quality Compiler-Compiler Project was a long-term project led by William Wulf at Carnegie Mellon University to produce an industrial-strength compiler-compiler. PQCC would produce full, optimizing programming language compilers from descriptions of the programming language and the...

).

Organization


Rational's field Practices underlying the later Rational Unified Process
Rational Unified Process
The Rational Unified Process is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003...

 (RUP) - iterative development, component-based architecture, modelling, continuous developer-driven testing, requirements management, and automated testing—are all traceable to this experience base.

Second-generation products


In 1990, Rational launched three parallel development efforts: re-implementation of the Rational Environment (for Ada) to run on Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

-based workstations from Sun
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

 and IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

, development of a comparable Rational Environment for C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 to run on Unix-based workstations from Sun and IBM, and development of a workstation-hosted modeling tool called Rose that supported a graphical notation developed by Grady Booch
Grady Booch
Grady Booch is an American software engineer. Booch is best known for developing the Unified Modeling Language with Ivar Jacobson and James Rumbaugh. Grady is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments...

. Apex, the Rational Environment for Ada, was launched on Sun and IBM Unix platforms in 1993, and the Rational Environment for C++ followed on the same platforms a year later. A version of Apex that ran on Microsoft Windows NT was successfully developed and released by Rational's Bangalore team.

Rose 1.0 was introduced at OOPSLA
OOPSLA
OOPSLA is an annual ACM research conference. OOPSLA mainly takes place in the United States, while the sister conference of OOPSLA, ECOOP, is typically held in Europe...

 in 1992, but performed poorly in multiple dimensions and was withdrawn from the market.

The development of Rose 2.0 combined a Windows-based Booch notation
Booch method
The Booch method is a technique used in software engineering. It is an object modeling language and methodology that was widely used in object-oriented analysis and design...

 editor called Object System Designer (acquired from Wisconsin
Wisconsin
Wisconsin is a U.S. state located in the north-central United States and is part of the Midwest. It is bordered by Minnesota to the west, Iowa to the southwest, Illinois to the south, Lake Michigan to the east, Michigan to the northeast, and Lake Superior to the north. Wisconsin's capital is...

-based Palladio) with a new intermediate representation, and with new semantic analysis, code generation, and reverse engineering capabilities. The latter, which allowed prospective customers to analyze existing C++ code to produce "as-built" navigable class diagrams, helped overcome Rational's late re-entry into the market for object-oriented modeling tools. Rose 2.0 ran on Windows PCs and on several Unix-based workstations.

UML and RUP


In 1994, Rational merged with Verdix, a public company that produced a wide array of Ada compilers targeted to many architecture/OS combinations. The resulting entity was named "Rational Software", and promptly integrated the Rational Ada and C++ environments with the code generators and runtimes developed by Verdix.

In 1995, James Rumbaugh
James Rumbaugh
James E. Rumbaugh is an American computer scientist and object methodologist who is best known for his work in creating the Object Modeling Technique and the Unified Modeling Language .- Biography :...

 joined the company, and Rational acquired Ivar Jacobson
Ivar Jacobson
Ivar Hjalmar Jacobson is a Swedish computer scientist, known as major contributor to UML, Objectory, RUP and aspect-oriented software development.- Biography :...

's firm Objectory AB
Objectory AB
Objectory Systems was a software company based in Sweden that was instrumental in the development of Object-oriented program design. Founded in 1987 by Ivar Jacobson, the company developed ObjectOry, an object-oriented development method which was an extension of what is known as the Ericsson...

 from Ericsson
Ericsson
Ericsson , one of Sweden's largest companies, is a provider of telecommunication and data communication systems, and related services, covering a range of technologies, including especially mobile networks...

. With Grady Booch
Grady Booch
Grady Booch is an American software engineer. Booch is best known for developing the Unified Modeling Language with Ivar Jacobson and James Rumbaugh. Grady is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments...

 already aboard, this brought within one company three of the leading object-oriented software methodologists. These three experts attempted to unify their work. To eliminate the method fragmentation that they concluded was impeding commercial adoption of modeling tools, they developed Unified Modeling Language
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

 (UML), which provided a level playing field for all tool vendors. It was this collaboration effort that earned Rumbaugh, Jacobson and Booch the moniker "The Three Amigos" within the software engineering industry. At its 1.0 release, the Unified Modeling Language was contributed to the Object Management Group
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

, which has managed its subsequent development.

Philippe Kruchten
Philippe Kruchten
Philippe Kruchten is a Canadian software engineer, and Professor of Software Engineering at University of British Columbia in Vancouver, Canada, known as Director of Process Development at Rational Software, and developer of the 4+1 view model....

, a Rational techrep, was tasked with the assembly of an explicit process framework for modern software engineering. This effort combined the HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

-based process delivery mechanism employed by Objectory
Objectory
Objectory is an object-oriented methodology mostly created by Ivar Jacobson, who is also responsible for object-oriented software engineering....

 with Rational's 15-year experience base in working with customers developing significant software systems. The resulting "Rational Unified Process
Rational Unified Process
The Rational Unified Process is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003...

" (RUP) completed a strategic tripod:
  • a tailorable process that guided development
  • tools that automated the application of that process
  • services that accelerated adoption of both the process and the tools.

Acquisitions


The momentum generated by Rose and the UML enabled Rational to establish a partnership with developers to the Windows platform; Rational's aim was to secure Microsoft's public support for Catapulse—an independent company aimed at providing hosted software development services using products from Rational and elsewhere. Catapulse was later acquired by Rational.

Rational peaked at $850M in revenues and ~4000 employees. After the dot-com crash, its revenues declined to $650M, but it was dominant, profitable, and cash-rich (~$600M) when its founders chose to sell the company to IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 for $2.1B. The acquisition was announced on 6 December 2002 and was completed before the market opened 21 February 2003.

See also

  • IBM Rational Application Developer
    IBM Rational Application Developer
    IBM Rational Application Developer for WebSphere Software is a commercial Eclipse-based integrated development environment , made by IBM's Rational Software division, for visually designing, constructing, testing, and deploying Web services, portals, and Java Enterprise Edition ...

  • IBM Rational AppScan
    IBM Rational AppScan
    IBM Rational AppScan is a family of web security testing and monitoring tools from the Rational Software division of IBM. AppScan is intended to test Web applications for security vulnerabilities during the development process, when it is least expensive to fix such problems...

  • IBM Rational Asset Manager
    IBM Rational Asset Manager
    IBM Rational Asset Manager is a collaborative software development asset management solution that supports the Reusable Asset Specification and enables organizations to identify, manage and govern the design, development and consumption of software assets, including services as part of a...

  • IBM Rational Business Developer Extension
    IBM Rational Business Developer Extension
    IBM Rational Business Developer provides a powerful workbench for Enterprise Generation Language development, an innovative end-to-end rapid development approach.-Overview:...

  • IBM Rational ClearCase
  • IBM Rational ClearCase UCM
  • IBM Rational ClearQuest
  • IBM Rational Functional Tester
    IBM Rational Functional Tester
    IBM Rational Functional Tester is a tool for automated testing of software applications from the Rational Software division of IBM. It allows users to create tests that mimic the actions and assessments of a human tester...

  • IBM Rational Method Composer
    IBM Rational Method Composer
    The IBM Rational Method Composer is a commercial product for authoring, configuring, viewing, and publishing processes.The Rational Unified Process process framework within IBM Rational Method Composer includes:...

  • IBM Rational Performance Tester
    IBM Rational Performance Tester
    IBM Rational Performance Tester is a tool for automated performance testing of web and server based applications from the Rational Software division of IBM. It allows users to create tests that mimic user transactions between an application client and server. During test execution, these...

  • IBM Rational Purify
  • IBM Rational Quality Manager
    IBM Rational Quality Manager
    IBM Rational Quality Manager provides a collaborative application lifecycle management environment for test planning, construction, and execution.-Overview:...

  • IBM Rational Rhapsody
  • IBM Rational Rose XDE
    IBM Rational Rose XDE
    Rational Rose XDE, an "eXtended Development Environment" for software developers, integrates with Microsoft Visual Studio .NET and IBM WebSphere Studio Application Developer...

  • IBM Rational Service Tester
    IBM Rational Service Tester
    IBM Rational Service Tester for SOA Quality is a tool for automated functional testing of web services and service-oriented architecture software components from the Rational Software division of IBM...

  • IBM Rational Software Architect
    IBM Rational Software Architect
    IBM Rational Software Architect, made by IBM's Rational Software division, is a comprehensive modeling and development environment that uses the Unified Modeling Language for designing architecture for C++ and Java 2 Enterprise Edition applications and web services...

  • IBM Rational Software Modeler
    IBM Rational Software Modeler
    IBM Rational Software Modeler was withdrawn from marketing on August 17, 2010. IBM Rational Software Modeler, made by IBM's Rational Software division, is a Unified Modeling Language 2.0-based visual modeling and design tool...

  • IBM Rational SQABasic
    IBM Rational SQABasic
    SQABasic is the Rational Software Corporation language for building GUI scripts. It is an integral part of IBM Rational Robot, a tool used for developing regression tests....

  • IBM Rational Team Concert
    IBM Rational Team Concert
    IBM Rational Team Concert is a software development team collaboration tool developed by the Rational brand of IBM and was first released in 2008. The software is available in both client versions and a Web version...

  • IBM Rational Unified Process
    IBM Rational Unified Process
    The Rational Unified Process is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003...


External links