Росс, Дуглас Т.
Дуглас Тейлор Росс
- Дата рождения
- 21 декабря 1929 года
- Место рождения
- Китай
- Род деятельности
- учёный в области информатики
Награды и премии
Мемориальная премия Жозефа Мари Жаккара
Премия за выдающийся вклад (Общество инженеров-технологов)
Дуглас Тейлор «Даг» Росс (англ. Douglas Taylor "Doug" Ross; [Нет даты!]) — американский учёный в области информатики и председатель совета директоров компании SofTech, Inc[1]. Известен как автор термина САПР (система автоматизированного проектирования) и создатель языка программирования APT для станков с числовым программным управлением.
Биография[править]
Росс родился в Китае, где его родители работали медицинскими миссионерами. Вырос в США в городе Канандейгуа[2]. В 1951 году с отличием окончил Оберлинский колледж, получив степень бакалавра наук в области математики. В 1954 году получил степень магистра наук по электротехнике в Массачусетском технологическом институте (MIT). Позже начал работу над докторской диссертацией в MIT, но не завершил её из-за высокой загруженности на посту руководителя группы компьютерных приложений института[3].
В 1950-е годы участвовал в проекте MIT по созданию компьютера Whirlwind I. В 1969 году основал компанию SofTech, Inc., которая стала одним из первых поставщиков пользовательских компиляторов для Министерства обороны США (языки JOVIAL, Ada и Pascal). Росс читал лекции на кафедре электротехники и информатики MIT и носил звание почётного председателя. Ушёл на пенсию из SofTech, проработав президентом компании с 1969 по 1975 год, после чего занял пост председателя совета директоров. Поздние работы Росса были посвящены разработанной им псевдофилософии, получившей название Plex.
Среди его наград — Мемориальная премия Жозефа Мари Жаккара от Общества числового программного управления (1975 год), Премия за выдающийся вклад от Общества инженеров-технологов (1980 год) и звание почётного инженера года от Совета инженеров долины Сан-Фернандо (1981 год)[3]. Кафедра электротехники и информатики MIT учредила в его честь должность доцента по разработке программного обеспечения имени Дугласа Т. Росса. Также его именем названа медаль Берлинского кружка (научного форума по разработке продуктов).
Деятельность[править]
Росс внёс вклад в проект компьютера MIT Whirlwind I, который первым начал отображать текст и графику в реальном времени. Он считается создателем языка Automatically Programmed Tools (APT), управляющего станками с числовым программным управлением. Также он ввёл термин CAD для систем автоматизированного проектирования.
Проект Whirlwind в MIT[править]
Росс пришёл в MIT осенью 1951 года[4] в качестве ассистента преподавателя на математическом факультете. Его жена Пэт работала «вычислителем на калькуляторе Марчанта» в Лаборатории Линкольна до того, как она официально взяла на себя управление компьютером Whirlwind I. Её группа использовала аналоговый корреляционный компьютер Лаборатории сервомеханизмов, созданный Норбертом Винером. Устройство имело шарико-дисковые интеграторы и рычаги для ручного построения кривых на ленте по данным радиолокационного шума. При работе машины переменные в уравнениях представлялись вращением валов. Они соединялись с механическими перьями, которые вычерчивали точную кривую. Эта кривая давала графическое решение задачи. В июне 1952 года Росс устроился на летнюю работу в Лабораторию сервомеханизмов, где занимался оценкой бортовых систем управления огнём и анализом спектральной плотности мощности.
Первый язык программирования, разработанный Россом, предназначался для группы из шести-восьми студентов, выполнявших роль «компьютера». Ему предложили использовать Whirlwind для своих исследований. В то время Whirlwind имел ровно один килобайт (1024 слова) 16-битной памяти. Росс самостоятельно научился программировать на нём летом 1952 года. Его магистерская диссертация была посвящена вычислительным методам преобразования Фурье.
Automatically Programmed Tool[править]
Росс работал над многочисленными проектами в секретной комнате Whirlwind системы противовоздушной обороны SAGE на мысе Код и на авиабазе Эглин (ERA 1103). Около 1954 года он написал первую программу для ручного ввода графики в компьютер. По его словам, это была «одна из немногих написанных мной программ, которая заработала с первого раза»[5]. Военно-воздушные силы США были заинтересованы в продолжении проектов MIT по стандартизации числового программного управления станками.
Начиная с 1956 года, MIT получил контракт на новую программу числового программного управления. Основное внимание уделялось автоматическому программированию трёхмерных деталей для 3- и 5-осевых станков. Росс отмечал, что его работа с радиолокационными векторами привела к определению траекторий инструмента как пространственных кривых в APT II. Лаборатория сервомеханизмов получала спонсорскую поддержку ВВС на разработку аппаратного и программного обеспечения для числового и адаптивного управления, систем автоматизированного проектирования, компьютерной графики и программной инженерии. Это сотрудничество продолжалось почти 20 лет[6]. В 1957 году последний из трёх первоначальных научных ассистентов Росса, Сэм Маца[7], перешёл в IBM для разработки AUTOPROMT (трёхмерной производной APT). Позже, в 1967 году, Маца вместе с Энди Ван Дамом стал соучредителем SICGRAPH при ACM.
Проект APT был в основном завершён в феврале 1959 года. Он имел статус произведения федерального правительства США и был передан в общественное достояние[8][9][10]. Наследие этой работы используется в программах числового программного управления XXI века.
Системы автоматизированного проектирования[править]
По завершении проекта APT I Росс и Джон Фрэнсис Рейнтжес дали интервью научному репортёру MIT Роберту С. Вудбери. Общественность проявляла значительный интерес к растущей сложности станков с числовым программным управлением. В интервью Росс продемонстрировал фотографию векторного изображения с экрана дисплея в виде диснеевского персонажа, соединённого в координатном пространстве с каноническим гномоном[11].
В последующие годы были завершены влиятельные арифметические элементы APT. Широкое сотрудничество, начатое в проекте APT, повторилось при создании системы автоматизированного проектирования Automated Engineering Design (AED). Росс иногда неформально называл её The Art of Engineering Design или ALGOL Extended for Design.
Ранние специалисты отрасли автоматизированного проектирования и производства посещали MIT для обмена опытом. Росс организовал множество конференций по стандартизации для Американского национального института стандартов (ANSI) и Ассоциации производителей оборудования для бизнеса (BEMA, ныне Совет индустрии информационных технологий)[12][13]. В следующем десятилетии он усовершенствовал свою философию проектирования систем[14]. Росс стал одним из основателей Общества промышленной и прикладной математики (SIAM).
Электротехника и информатика в MIT[править]
Росс участвовал в разработке международных стандартов в области программирования и информатики. Он был активным участником Международной федерации по обработке информации (IFIP) и членом Рабочей группы IFIP 2.1 по алгоритмическим языкам и исчислениям. Эта группа определяла и поддерживала языки программирования ALGOL 60 и ALGOL 68. В 1968 году Росс преподавал в MIT курс программной инженерии. Он участвовал в учредительной конференции НАТО по программной инженерии в Гармише (Германия) с 7 по 11 октября 1968 года[15][16]. Многие пользователи проектов MIT создавали свои системы на базе AED. Последующие версии языка моделирования System Dynamics (Dynamo), созданного Джеем Райтом Форрестером, были написаны на AED-0 (расширенной версии ALGOL 60, разработанной Россом) и использовались до 1980-х годов.
Росс написал единственный известный компилятор ALGOL X с использованием системы AED-0[17][18].
Работа SofTech над бортовыми и другими инструментальными системами включала создание инструментов разработки программного обеспечения. К концу 1970-х годов в этих встроенных системах начали использоваться микропроцессоры, такие как 8086. Система Pascal Калифорнийского университета в Сан-Диего (UCSD p-System, см. UCSD Pascal) была разработана в 1978 году для предоставления студентам единой операционной системы на различных машинах, включая мини-компьютер PDP-11. Версии p-System свободно распространялись среди пользователей. Внимание Росса к p-System привлёк разработчик из филиала в Сан-Диего. Росс посетил UCSD и высоко оценил работу колледжа по созданию системы, родственной его разработкам AED. SofTech лицензировала p-System и в 1979 году создала дочернюю компанию Microsystems. Инструменты компиляции, динамической загрузки и связывания SofTech помогли сделать p-System мощной средой разработки. UCSD p-System использовалась на IBM PC, Apple II и других машинах на базе Zilog Z80, MOS Technology 6502 и Motorola 68000. Позже Росс приобрёл компьютер Terak 8510/a на базе PDP-11, принадлежавший Кену Боулзу. В настоящее время эта машина находится в коллекции Музея истории компьютеров[19].
Методология структурного анализа и проектирования[править]
Как создатель методологии структурного анализа и проектирования (SADT), Росс стал одним из первых разработчиков методов структурного анализа. В 1970-е годы вместе с другими сотрудниками SofTech, Inc. он помог преобразовать SADT в метод IDEF0 для набора методов анализа и проектирования IDEF программы ВВС США Integrated Computer-Aided Manufacturing (ICAM)[20].
Он входил в рабочую группу IEEE IDEF0, которая в 1998 году выпустила стандарт IEEE Icam DEFinition for Function Modeling (IDEF0)[21]. Этот стандарт заменил FIPS PUB 183[22], отменённый в 2002 году.
Plex[править]
В конце 1950-х годов в Лаборатории сервомеханизмов MIT Росс разработал структуру данных, подобную записи, которую он назвал plex. Представленный в его статье 1961 года «Обобщённый метод манипулирования символами и численных расчётов», plex состоял из блоков фиксированного размера. Эти блоки содержали элементы данных, элементы связи (указатели на другие plex), поля флагов и указатели на подпрограммы. Росс предложил plex как альтернативу двухэлементной ячейке списка языка LISP. Он утверждал, что сущности, требующие более двух компонентов, лучше представлять напрямую, а не в виде деревьев из двухкомпонентных ячеек.
Айвен Сазерленд использовал plex для представления данных в своей диссертации 1963 года по системе Sketchpad. В ней он поблагодарил «сотрудников Лаборатории электронных систем [MIT], в частности Дугласа Росса», за «помощь и советы по n-компонентным элементам»[23]. Алан Кэй позже называл Sketchpad одним из главных факторов, повлиявших на его разработку языка Smalltalk и создание термина «объектно-ориентированное программирование»[24].
В середине 1960-х годов Росс работал в комитете ALGOL 68 вместе с Чарльзом Энтони Ричардом Хоаром. В предисловии 2003 года к переизданию диссертации Сазерленда Блэквелл и Родден отмечают, что работа Росса над plex повлияла на статью Хоара 1966 года «Обработка записей» и его последующие идеи об абстрактных типах данных. Эти идеи, в свою очередь, были использованы Уле-Йоханом Далом и Кристеном Нюгором при разработке языка Simula[25]. Сам Росс позже описывал концепцию plex как основу своей системы Automated Engineering Design (AED), которую он характеризовал как «первый язык с типами и сложными структурами данных».
Структурный анализ Росса вырос из его «философии решения проблем», которую он назвал Plex в конце 1950-х годов[26]. В более поздние годы это стало для него навязчивой идеей. В 1980-е годы он свёл к минимуму свою роль в SofTech, чтобы сосредоточиться на развитии Plex[26] в широкую псевдофилософию, затрагивающую эпистемологию, онтологию и философию науки[27]. Росс написал множество материалов о Plex[26], выступал с лекциями на конференциях и провёл неудачный семинар в MIT в 1984 году[27]. Однако он не смог найти аудиторию, которой, по его мнению, заслуживал Plex. К концу 1980-х годов он считал «невыносимым бременем ответственности»[26] быть его единственным сторонником и пророком.
Публикации[править]
Росс написал десятки статей и отчётов[28]. Некоторые из них:
- Ross, Douglas Taylor; Ward, John Erwin Investigations in computer-aided design for numerically controlled production. — Electronic Systems Laboratory, Electrical Engineering Department, Massachusetts Institute of Technology, 1968.
- Ross, Douglas T. Structured Analysis (SA): A Language for Communicating Ideas // IEEE Transactions on Software Engineering. — 1977. — том 3. — № 1. — С. 16–34. — DOI:10.1109/TSE.1977.229900
- Software Engineering. — Academic Press.
Примечания[править]
- ↑ Source Software: Practice & Experience archive. — Vol. 37. — С. 691.
- ↑ Marquard, Bryan (Globe staff). Doug Ross, 77; developed important computer language, The Boston Globe (2007 год).
- ↑ 3,0 3,1 Douglas T. Ross – Chairman Emeritus, Ret., SofTech, Inc.; Lecturer, Electrical Engineering and Computer Science, MIT. Massachusetts Institute of Technology (January 8, 2000). Проверено 22 июля 2026.
- ↑ Doug Ross, A Personal View of the Personal Work Station: Some Firsts in the Fifties. Association for Computing Machinery Video Presentation.
- ↑ Ross, Doug (1989), «Retrospectives 1: The early years in computer graphics», SIGGRAPH 89 Proceedings, сс. 27–28, DOI 10.1145/77276.77279
- ↑ Ross, Douglas T. Papers on automatic programming for numerically controlled machine tools // MIT. — 1958.
- ↑ ACM SIGGRAPH: History of the Organization // ACM SIGGRAPH. — The Association for Computing Machinery.
- ↑ Ross, Doug (21 February 1984), «oral history oh065», babbage inst
- ↑ Douglas T. Ross. APT System Volume 1 General Description of the APT System, 1959.
- ↑ D. T. Ross CBI oral history http://conservancy.umn.edu/handle/107611
- ↑ MIT Science Reporter: "Automatically Programmed Tools". Massachusetts Institute of Technology.
- ↑ Ross, Douglas T. Computer-Aided Design: A Statement of Objectives MIT USAF 8436-TM-4. Massachusetts Institute of Technology. Проверено 22 июля 2026.
- ↑ Stotz, Robert H. Specialized Computer Equipment for Generation and Display of Three Dimensional Curvilinear. Electronic Systems Laboratory, Massachusetts Institute of Technology (March 1963). Проверено 22 июля 2026.
- ↑ Software Development and Reality Construction. — Berlin: Springer-Verlag. — С. 60–70.
- ↑ Haigh, Thomas (August 2010), Dijkstra's Crisis: The End of Algol and Beginning of Software Engineering, 1968-72, <https://www.tomandmaria.com/tom/Writing/DijkstrasCrisis_LeidenDRAFT.pdf>. Проверено 22 июля 2026.
- ↑ Software Engineering: Report on a conference sponsored by the NATO Science Committee. — Brussels: Scientific Affairs Division. — С. 32, 41, 44, 57, 95, 96, 98, 99, 121, 124, 127, 151, 216.
- ↑ Ross, Douglas T. An Algorithmic Theory of Language (AB26.2.2). Massachusetts Institute of Technology (October 1966). Архивировано из первоисточника 26 июня 2013. Проверено 12 августа 2020.
- ↑ Ross, D. T. AB26.2.2 Features Essential for a Workable ALGOL X // ACM SIGPLAN Notices: ALGOL Bulletin. — ACM Digital Library Association for Computing Machinery, 1967. — том 26. — № 2. — С. 1–49. — DOI:10.1145/1139498.1139500
- ↑ Douglas T. Ross Memorial Video Collection.
- ↑ '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
- ↑ 'IEEE 1320.1-1998. IEEE Standard for Functional Modeling Language: Syntax and Semantics for IDEF0', Institute of Electrical and Electronics Engineers (IEEE), 1998
- ↑ 'FIPS PUB 183 Integration Definition for Function Modeling (IDEF0)', National Institute of Standards and Technology, 1993
- ↑ Sutherland, Ivan E. (1963), «Sketchpad: A Man-Machine Graphical Communication System», Massachusetts Institute of Technology, <https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.html>. Проверено 22 июля 2026.
- ↑ The Second ACM SIGPLAN Conference on History of Programming Languages. — С. 69–95. — DOI:10.1145/154766.155364
- ↑ Шаблон:Cite tech report
- ↑ 26,0 26,1 26,2 26,3 Douglas T. Ross (1988). "From Scientific Practice to Epistemological Discovery". In: Software Development and Reality Construction. Springer-Verlag, 1991.
- ↑ 27,0 27,1 Douglas T. Ross (1977, revised 1999). "The Plex Tract"
- ↑ Douglas T. Ross. Schloss Dagstuhl – Leibniz Center for Informatics GmbH; and University of Trier. Проверено 22 июля 2026.
Одним из источников, использованных при создании данной статьи, является статья из википроекта «Рувики» («ruwiki.ru») под названием «Росс, Дуглас Т.», расположенная по адресу:
Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC-BY-SA 4.0 и более поздних версий. Всем участникам Рувики предлагается прочитать материал «Почему Циклопедия?». |