Douglas T. Ross

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Douglas Taylor "Doug" Ross (21 December 1929 – 31 January 2007) was an American computer scientist pioneer, and Chairman of SofTech, Inc.[1] He is most famous for originating the term CAD for computer-aided design, and is considered to be the father of Automatically Programmed Tools (APT) a language to drive numerically controlled manufacturing.


Ross was born in China, where his parents both worked as medical missionaries, and he grew up back in the States in Canandaigua, N.Y.[2] He received a Bachelor of Science cum laude in mathematics from Oberlin College in 1951, and a Master of Science in electrical engineering from the Massachusetts Institute of Technology in 1954. Afterwards he started but didn't complete his PhD at MIT due to his pressing work as Head of the MIT's Computer Applications Group.[3]

In the 1950s, he participated in the MIT Whirlwind (computer) project. In 1969, Ross founded SofTech, Inc., which started as an early supplier of Pascal compilers. Ross lectured at MIT Electrical Engineering and Computer Science Department and was chairman emeritus. He retired at Softech, having served as the company's president from 1969 to 1975, when he became Chairman of the Board of directors.

Among his many honors are the Joseph Marie Jacquard Memorial Award from the Numerical Control Society, in 1975, and the Distinguished Contributions Award from the Society of Manufacturing Engineers in 1980, and Honorary Engineer of the Year Award from the San Fernando Valley Engineer's Council, 1981.[3] At MIT in the Department of Electrical Engineering and Computer Science they named the Douglas T. Ross Career Development Associate Professor of Software Development after him. The D.T.Ross Medal Award of the Berliner Kreis Scientific Forum for Product Development of the WiGeP Academic Society of Product Development Berliner Kreis & WGMK was named in his honor.


Ross contributed to the MIT Whirlwind (computer) project, which was the first to display real-time text and graphics. Many consider him to be the father of APT—Automatically Programmed Tools—the language that drives numerically-controlled manufacturing. Also he originated the term CAD for computer-aided design.

MIT Whirlwind project[edit]

Ross came to MIT in the fall of 1951 as a Teaching Assistant in the Mathematics Department. His wife, Pat, was a "computer banging away on a Marchant calculator" at Lincoln Laboratory before it officially took over the Whirlwind computer. Her group used the Servomechanisms Labs analog correlation computer, built by Norbert Wiener. It had ball-and-disk integrators and arms used to hand trace strip chart curves of radar noise data. When the machine was in use, variables in equations were represented by rotations in its shafts. These were connected with mechanical pens which plot an accurate curve worked out by the shafts continuous movement. Interpreted correctly, this curve gave a graphic solution to the problem. This initiated Ross's entry to the Servo Lab with a summer job in June 1952 in the field of airborne fire control system evaluation and power density spectra analyses.

The first programming language Ross designed was one in which the "computer" was a collection of people, six or eight part-time students. It was suggested that Ross could use Whirlwind in his work. Whirlwind at that time had exactly one "k" (1024 words) of sixteen bit memory. He taught himself to program it in the summer of 1952. His masters thesis related to Computational Techniques for Fourier Transformation.

Automatically Programmed Tool[edit]

He worked on numerous projects around the Whirlwind secret room of the Cape Cod System SAGE air defense system and at the Eglin Air Force Base ERA 1103. Around 1954 Ross wrote the first hand-drawn graphics input program to a computer. He stated it was "One of the few programs that I ever wrote that worked the first time"[4] The Air Force was interested in continuing beyond MIT's Numerical Control Projects objective of standardizing the control of machine tools.

Beginning in 1956 MIT had a contract for a new program in numerical control, this time emphasizing automatic programming for three-dimensional parts to be produced by 3- and 5-axis machine tools. Ross stated his work with radar vector handling led naturally to his defining tool paths as space curves rather than points in APT II. And allowed him to conceptualize their realization in a machine tools rectilinear framework. The Servo Lab would receive Air Force sponsorship for numerical control hardware, software, and adaptive control, followed by computer-aided design, computer graphics hardware and software, and software engineering and software technology, from 1951. This would continue for almost 20 years.[5][6] In 1957 the last of Ross's original three research assistants, Sam Matsa,[7] left for IBM to develop AUTOPROMT, a three-dimensional APT derivative and later (1963–64) co-found, with Andy Van Dam the ACM SICGRAPH.

The APT project largely finished in February 1959, and was turned over to the public domain.[8][9][10] The legacy of this work can be found in next generation NC programs of the 21st century.

Computer-aided design[edit]

At the conclusion of APT I, Ross and John Francis Reintjes were interviewed for MIT science reporter television by Robert S. Woodbury. There was considerable public interest in the increasing sophistication of numerically controlled machine tools. The interview is illustrative of Ross's long stated belief in the graphics potential of the computer. He showed the audience a photograph of a vector sweep image from a display scope in the form of a Disney cartoon character coupled in a coordinate space with a canonical gnomon.[11]

The next few years would see the completing of APT's influential Arithmetic Elements and then the broad collaboration pioneered in the APT project was repeated in building the computer-aided design system AED (Formally called Automated Engineering Design but which Ross would sometimes call The Art of Engineering Design or "ALGOL Extended for Design").

Early industry practitioners of computer aided drafting and manufacturing visited MIT in formal exchanges of the developing technologies. Ross organized many standards making conferences (ANSI/BEMA), solidifying his place as a touchstone in any future discussion of CAD.[12] The next decade brought a refining of his philosophy of systems design.[13] He was a founding member of SIAM

MIT's Electrical Engineering and Computer Science[edit]

He was an early active IFIPS participant. In 1968 Ross taught what he suggested was the world's first software engineering course at MIT. He participated in the foundational 1968 NATO Software Engineering Conference . A large number of MIT project users built their systems under AED. Post Assembly revisions of Jay Wright Forrester's famous Dynamo feedback-modeling, System Dynamics simulation language were written in AED-0, Ross's extended version of Algol 60 and used into the 1980s.

Structured Analysis and Design Technique[edit]

SADT basis element.

As the inventor of SADT, Structured Analysis and Design Technique, Ross was an early developer of structured analysis methods.[14] During the 1970s, along with other contributors from SofTech, Inc., Ross helped develop SADT into the IDEF0 method for the Air Force's Integrated Computer-Aided Manufacturing (ICAM) program's IDEF suite of analysis and design methods.[15]

He was a member of the IEEE IDEF0 Working Group which produced the IEEE IDEF0 standard[16] in 1998. The IEEE IDEF0 standard superseded FIPS PUB 183,[17] which was retired in 2002.

See also[edit]


Doug Ross has written dozens of articles and some reports.[18] A selection:

  • 1961. "Computer-aided design". in: Commun. ACM 4(5): pp. 235.
  • 1961. "A generalized technique for symbol manipulation and numerical calculation". in: Commun. ACM 4(3): pp. 147–150
  • 1968. Investigations in computer-aided design for numerically controlled production. With John Erwin Ward. Electronic Systems Laboratory, Electrical Engineering Dept., Massachusetts Institute of Technology
  • 1968. "Automatic generation of efficient lexical processors using finite state techniques". With Walter L. Johnson, James H. Porter and Stephanie I. Ackley. In: Commun. ACM 11(12): pp. 805–813.
  • 1975. "Software engineering: process, principles, and goals". With John B. Goodenough and C.A. Irvine., In: IEEE Computer, 8(5): pp 17–27.
  • 1976. "Structured Analysis for Requirements Definition". With Kenneth E. Schoman Jr. In: ICSE 1976: p. 1.
  • 1976. "Toward Foundations for the Understanding of Type". in: Conference on Data: Abstraction, Definition and Structure 1976: pp. 63–65.
  • 1977. "Structured Analysis for Requirements Definition". With Kenneth E. Schoman Jr. In: IEEE Trans. Software Eng. 3(1): pp. 6–15.
  • 1977. "Structured Analysis (SA): A Language for Communicating Ideas". in: IEEE Trans. Software Eng. 3(1): pp. 16–34.
  • 1978. " Origins of the APT Language for Automatically Programmed Tools". In: ACM SIGPLAN Notices, Vol. 13, No. 8, August 1978
  • 1980. "Removing the limitations of natural language (with the principles behind the RSA language)". In Software Engineering, H. Freeman and P.M. Lewis (eds), Academic Press.
  • 1985. "Applications and Extensions of SADT". in: IEEE Computer 18(4): pp. 25–34.
  • 1988. Foreword to David Marca and Clement McGowan, SADT Structured Analysis and Design Technique, McGraw-Hill, 1988.
  • 1989. "The NATO Conferences form the Perspective of an Active Software Engineer". In: ICSE 1989: pp. 101–102.


  1. ^ Nigel Horspool (2007). "Douglas T. Ross (1929–2007)". In: Source Software—Practice & Experience archive. Vol 37, 7, p. 691
  2. ^ Bryan Marquard, Globe Staff (2007). Doug Ross, 77; developed important computer language, The Boston Globe. February 10, 2007.
  3. ^ a b Douglas T. Ross -- Chairman Emeritus, Ret., SofTech, Inc. Lecturer, Electrical Engineering and Computer Science, MIT. Retrieved 22 September 2008.
  4. ^ Ross, Doug (1989), Retrospectives 1: The early years in computer graphics, SIGGRAPH 89 Proceedings, pp. 27–28
  5. ^ Origins of the APT Language for Automatically Programmed Tools ACM SIGPLAN Notices, Vol. 13, No. 8, August 1978
  6. ^ Douglas T. Ross. Papers on automatic programming for numerically controlled machine tools. MIT, 1958.
  7. ^
  8. ^ Ross, Doug, oral history oh065, babbage inst
  9. ^ Douglas T. Ross. APT System Volume 1 General Description of the APT System, 1959.
  10. ^ D. T. Ross CBI oral history
  11. ^ Ross on MIT TECH TV 1959
  12. ^ Computer-Aided Design: A Statement of Objectives MIT USAF 8436-TM-4 Douglas T. Ross
  13. ^ Ross, algorithmic theory of language
  14. ^ David Marca and Clement McGowan, SADT Structured Analysis and Design Technique, McGraw-Hill, 1988.
  15. ^ Integrated Computer-Aided Manufacturing (ICAM) Function Modeling Manual (IDEF0), Materials Laboratory, Air Force Wright Aeronautical Laboratories, Air Force Systems Command, Wright-Patterson Air Force Base, June 1981.
  16. ^ IEEE 1320.1-1998. IEEE Standard for Functional Modeling Language—Syntax and Semantics for IDEF0, IEEE, 1998.
  17. ^ FIPS PUB 183 Integration Definition for Function Modeling (IDEF0), National Institute of Standards and Technology, 1993.
  18. ^ Douglas T. Ross List of publications from the DBLP Bibliography Server.

External links[edit]