Douglas T. Ross

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Douglas Taylor Ross
Born(1929-12-21)December 21, 1929
DiedJanuary 31, 2007(2007-01-31) (aged 77)
CitizenshipUnited States
EducationOberlin College (B.Sc., 1951)
Massachusetts Institute of Technology (MIT) (M.Sc., 1954)
Known forAutomatically Programmed Tools (APT)
Computer-aided design
structured analysis and design technique
AwardsJoseph Marie Jacquard Memorial Award
Distinguished Contributions Award, Society of Manufacturing Engineers
Honorary Engineer of the Year Award, San Fernando Valley Engineer's Council
Scientific career
FieldsComputer science
InstitutionsMassachusetts Institute of Technology (MIT)
SofTech, Inc.
ThesisComputational Techniques for Fourier Transformation (1954)

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 programming language to drive numerical control in manufacturing. His later work focused on a pseudophilosophy he developed and named Plex.


Ross was born in China, where his parents both worked as medical missionaries, and he then grew up in the United States in Canandaigua, New York.[2] He received a Bachelor of Science (B.Sc.) cum laude in mathematics from Oberlin College in 1951, and a Master of Science (M.Sc.) in electrical engineering from the Massachusetts Institute of Technology (MIT) in 1954. Afterward, he began but didn't finish his Ph.D, at MIT due to his pressing work as head of MIT's Computer Applications Group.[3]

In the 1950s, he participated in the MIT Whirlwind I computer project. In 1969, Ross founded SofTech, Inc., which began as an early supplier of custom compilers for the United States Department of Defense (DoD) for the languages Ada and Pascal. 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] The MIT Department of Electrical Engineering and Computer Science named after him the Douglas T. Ross Career Development Associate Professor of Software Development. 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 I computer project, which was the first to display real-time text and graphics. Many consider him to be the father of Automatically Programmed Tools (APT), the language that drives numerical control in manufacturing. Also he originated the term CAD for computer-aided design.

MIT Whirlwind project[edit]

Ross came to MIT in the fall of 1951[4] 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 I 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 group 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 kilobyte (k, 1024 words) of 16-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"[5] The Air Force was interested in continuing beyond MIT's Numerical Control Projects objective of standardizing the numerical control of machine tools.

Starting 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 tool's rectilinear framework. The Servo Lab received 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 continued for almost 20 years.[6][7] In 1957 the last of Ross's original three research assistants, Sam Matsa,[8][9] left for IBM to develop AUTOPROMT, a three-dimensional APT derivative, and later (1967) co-founded, with Andy Van Dam, the ACM SICGRAPH.

The APT project largely finished in February 1959. It had the copyright status of works by the federal government of the United States, and thus was released into the public domain.[10][11][12] 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.[13]

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 named Automated Engineering Design (AED). Ross sometimes called it informally 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 for the American National Standards Institute (ANSI) and Business Equipment Manufacturers Association (BEMA, renamed Information Technology Industry Council), solidifying his place as a touchstone in any future history of CAD.[14][15] The next decade brought a refining of his philosophy of system design.[16][17] He was a founding member of Society for Industrial and Applied Mathematics (SIAM).

MIT's electrical engineering and computer science[edit]

He was involved with developing international standards in programming and informatics, as an early active participant in the International Federation for Information Processing (IFIP). He was a member of IFIP Working Group 2.1 on Algorithmic Languages and Calculi,[18] which specified, maintains, and supports the programming languages ALGOL 60 and ALGOL 68.[19] In 1968, Ross taught what he suggested was the world's first software engineering course at MIT. He participated in the foundational NATO Software Engineering Conference in Garmisch, Germany, 7–11 October 1968.[20][21] Many MIT project users built their systems on AED.[22] 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.

Ross wrote the only ALGOL X compiler known to have existed, with the AED-0 system.[23][24]

SofTech's work on airborne and other instrumentation systems involved building software development tools. By the late 70's microprocessors like the 8086 were starting to be used for these embedded systems. The University of California at San Diego Pascal System (UCSD p-System, see UCSD Pascal) was developed in 1978 to provide students with a common operating system to use on various machines like the PDP-11 minicomputer. Versions of p-System were freely exchanged between interested users. The p-System was brought to Ross's attention by a developer at their San Diego branch [who had an Apple I computer]. Ross visited UCSD and was smitten by a college operation building a system he recognized as kindred to his AED efforts. SofTech licensed the p-System and established a Microsystems subsidiary in 1979. SofTech's compiling, dynamic loading, and linking tools helped make the p-System a powerful development environment. UCSD p-System was used on IBM Personal Computer, Apple II, and other Zilog Z80, MOS Technology 6502, Motorola 68000 based machines. Ross later bought the PDP-11 based Terak 8510/a "graphics workhorse" computer of Ken Bowles which now resides in the Computer History Museum collections.[25][26]

Structured analysis and design technique[edit]

SADT basis element.

As the inventor of structured analysis and design technique (SADT), Ross was an early developer of structured analysis methods.[27] 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.[28]

He was a member of the Institute of Electrical and Electronics Engineers (IEEE) IDEF0 Working Group which produced the IEEE Icam DEFinition for Function Modeling (IDEF0) standard[29] in 1998. The IEEE IDEF0 standard superseded FIPS PUB 183,[30] which was retired in 2002.


Ross' Structured Analysis grew out of his "philosophy of problem-solving", which he named Plex in the late 1950s.[31] Later in Ross's life, this became something of an obsession. In the 1980s, he minimized his role at SofTech to concentrate on developing Plex[31] into a wide-ranging pseudophilosophy touching on epistemology, ontology, and philosophy of science.[32] Ross wrote a wealth of material on Plex,[31] delivering lectures at conferences and holding an abortive seminar at MIT in 1984.[32] However, he was unable to find the audience he believed Plex deserved, and by the late 1980s he considered it an "intolerable burden of responsibility"[31] to be its sole proponent and prophet.

See also[edit]


Ross wrote dozens of articles and some reports.[33] A selection:

  • Ross, Douglas T. (1961). "Computer-aided design". Communications of the ACM. 4 (5): 235. doi:10.1145/366532.366554. S2CID 1266004.
  • Ross, Douglas T. (1961). "A generalized technique for symbol manipulation and numerical calculation". Communications of the ACM. 4 (3): 147–150. doi:10.1145/366199.366256. S2CID 17097487.
  • Ross, Douglas Taylor; Ward, John Erwin (1968). "Investigations in computer-aided design for numerically controlled production" (PDF). Electronic Systems Laboratory, Electrical Engineering Department, Massachusetts Institute of Technology. Cite journal requires |journal= (help)
  • Ross, Douglas T.; Johnson, Walter L.; Porter, James H.; Ackley, Stephanie I. (1968). "Automatic generation of efficient lexical processors using finite state techniques". Communications of the ACM. 11 (12): 805–813. doi:10.1145/364175.364185. S2CID 17253809.
  • Ross, Douglas T.; Goodenough, John B.; Irvine, C. A. (1975). "Software engineering: process, principles, and goals". IEEE Computer. 8 (5): 17–27. doi:10.1109/C-M.1975.218952. S2CID 206566975.
  • Ross, Douglas T.; Schoman, Kenneth E. Jr. (1976). "Structured Analysis for Requirements Definition". ICSE: 1.
  • "Toward Foundations for the Understanding of Type". Conference on Data: Abstraction, Definition and Structure: 63–65. 1976.
  • Ross, Douglas T.; Schoman, Kenneth E. Jr. (1977). "Structured Analysis for Requirements Definition". IEEE Transactions on Software Engineering. 3 (1): 6–15. doi:10.1109/TSE.1977.229899. S2CID 2407903.
  • Ross, Douglas T. (1977). "Structured Analysis (SA): A Language for Communicating Ideas" (PDF). IEEE Transactions on Software Engineering. 3 (1): 16–34. doi:10.1109/TSE.1977.229900. S2CID 17126376.
  • Ross, Douglas T. (August 1978). "Origins of the APT Language for Automatically Programmed Tools". ACM SIGPLAN Notices. 13 (8): 61–99. doi:10.1145/960118.808374. S2CID 17069101.
  • Ross, Douglas T. (1980). "Removing the limitations of natural language (with the principles behind the RSA language)". In Freeman, H.; Lewis, P.M. (eds.). Software Engineering. Academic Press.
  • Ross, Douglas T. (1985). "Applications and Extensions of SADT". IEEE Computer. 18 (4): 25–34. doi:10.1109/MC.1985.1662862. S2CID 8174103.
  • Ross, Douglas T. (1988). "Foreword to David Marca and Clement McGowan, SADT Structured Analysis and Design Technique". McGraw-Hill. Cite journal requires |journal= (help)
  • Ross, Douglas T. (1989). "The NATO Conferences form the Perspective of an Active Software Engineer". International Conference on Software Engineering (ICSE): 101–102.


  1. ^ Horspool, Nigel (2007). "Douglas T. Ross (1929–2007)". Source Software: Practice & Experience archive. 37. p. 691.
  2. ^ Marquard, Bryan (Globe staff) (February 10, 2007). "Doug Ross, 77; developed important computer language". The Boston Globe.
  3. ^ a b "Douglas T. Ross – Chairman Emeritus, Ret., SofTech, Inc.; Lecturer, Electrical Engineering and Computer Science, MIT". Computer Science & Artificial Intelligence Laboratory. Massachusetts Institute of Technology. January 8, 2000. Retrieved 22 September 2008.
  4. ^ Doug Ross, A Personal View of the Personal Work Station: Some Firsts in the Fifties. Computer History Museum. Association for Computing Machinery Video Presentation. 1986.
  5. ^ Ross, Doug (1989), Retrospectives 1: The early years in computer graphics, SIGGRAPH 89 Proceedings, pp. 27–28, doi:10.1145/77276.77279, S2CID 1653345
  6. ^ "Origins of the APT Language for Automatically Programmed Tools". ACM SIGPLAN Notices. 13 (8). August 1978.
  7. ^ Ross, Douglas T. (1958). "Papers on automatic programming for numerically controlled machine tools" (PDF). MIT. Cite journal requires |journal= (help)
  8. ^ "ACM SIGGRAPH: History of the Organization". ACM SIGGRAPH. The Association for Computing Machinery. Retrieved 2020-08-12.
  9. ^ Machover, Carl (February 1998). "CG Pioneers". 32 (1). Archived from the original on 2015-09-24. Retrieved 2020-08-12. Cite journal requires |journal= (help)
  10. ^ Ross, Doug, oral history oh065, babbage inst, hdl:11299/107610
  11. ^ Douglas T. Ross. APT System Volume 1 General Description of the APT System, 1959.
  12. ^ D. T. Ross CBI oral history
  13. ^ MIT Science Reporter: "Automatically Programmed Tools". Massachusetts Institute of Technology. 1959.
  14. ^ Ross, Douglas T. "Computer-Aided Design: A Statement of Objectives MIT USAF 8436-TM-4" (PDF). Massachusetts Institute of Technology.
  15. ^ Stotz, Robert H. (March 1963). "Specialized Computer Equipment for Generation and Display of Three Dimensional Curvilinear" (PDF). Electronic Systems Laboratory, Massachusetts Institute of Technology. Work done on IBM 709 and TX-2.
  16. ^ Ross, Douglas T. "Algorithmic Theory of Language" (PDF).
  17. ^ Ross, Douglas T. (August 1991). "From Scientific Practice to Epistemological Discovery". In Floyd, Christiane; Zulligho, Heinz; Budde, Reinhard; Keil-Slawik, Reinhard (eds.). Software Development and Reality Construction (PDF). Berlin: Springer-Verlag. pp. 60–70. A personal note 2.5.3 (page 64).
  18. ^ Jeuring, Johan; Meertens, Lambert; Guttmann, Walter (2016-08-17). "Profile of IFIP Working Group 2.1". Foswiki. Retrieved 2020-10-13.
  19. ^ Swierstra, Doaitse; Gibbons, Jeremy; Meertens, Lambert (2011-03-02). "ScopeEtc: IFIP21: Foswiki". Foswiki. Retrieved 2020-10-13.
  20. ^ Haigh, Thomas (August 2010). Dijkstra's Crisis: The End of Algol and Beginning of Software Engineering, 1968-72 (PDF). Thomas Haigh. UW-Milwaukee & Universität Siegen (Report). Retrieved 2020-08-17.
  21. ^ Naur, Peter; Randell, Brian; McClure, Robert M., eds. (January 1969). "5.3.2. Concepts". Software Engineering: Report on a conference sponsored by the NATO Science Committee (PDF). Scrum Manager. Brussels: Scientific Affairs Division. pp. 32, 41, 44, 57, 95, 96, 98, 99, 121, 124, 127, 151, 216.
  22. ^ Ross, D. T.; Ward, J. E. (1 December 1959 – 3 May 1967). "Investigations in Computer-Aided Design for Numerically Controlled Production: Final Technical Report". Electronic Systems Laboratory, Electrical Engineering Department, Massachusetts Institute of Technology. Retrieved 2020-08-12.
  23. ^ Ross, Douglas T. (October 1966). "An Algorithmic Theory of Language (AB26.2.2)". Defense Technical Information Center. Massachusetts Institute of Technology. p. 6. Retrieved 2020-08-12.
  24. ^ Ross, D. T. (August 1967). "AB26.2.2 Features Essential for a Workable ALGOL X". ACM SIGPLAN Notices: ALGOL Bulletin. ACM Digital Library Association for Computing Machinery. 26 (2). doi:10.1145/1139498.1139500. S2CID 38156680. Retrieved 2020-08-12.
  25. ^ Ross, Douglas T. (1962–2007). Douglas T. Ross Memorial Video Collection. Computer History Museum. Mountain View, California. Retrieved 2020-09-08.
  26. ^ Brackett, John; Ross, Douglas (2004-05-07). Oral history interview with John Brackett and Doug Ross. University Digital Conservancy. Charles Babbage Institute, University of Minnesota. Retrieved 2020-08-17.
  27. ^ Marca, David; McGowan, Clement (1988). SADT: Structured Analysis and Design Technique. McGraw-Hill. ISBN 978-0-0704-0235-5.
  28. ^ Integrated Computer-Aided Manufacturing (ICAM) Function Modeling Manual (IDEF0) (Report). Materials Laboratory, Air Force Wright Aeronautical Laboratories, Air Force Systems Command, Wright-Patterson Air Force Base. June 1981.
  29. ^ IEEE 1320.1-1998. IEEE Standard for Functional Modeling Language: Syntax and Semantics for IDEF0 (Report). Institute of Electrical and Electronics Engineers (IEEE). 1998.
  30. ^ FIPS PUB 183 Integration Definition for Function Modeling (IDEF0) (Report). National Institute of Standards and Technology. 1993.
  31. ^ a b c d Douglas T. Ross (1988). "From Scientific Practice to Epistemological Discovery". In: Software Development and Reality Construction. Springer-Verlag, 1991.
  32. ^ a b Douglas T. Ross (1977, revised 1999). "The Plex Tract"
  33. ^ "Douglas T. Ross". DBLP Computer Science Bibliography. Schloss Dagstuhl – Leibniz Center for Informatics GmbH; and University of Trier. Retrieved 2020-08-12.

External links[edit]