Sketchpad Айвена Сазерленда и сила случая
Евгений Лебеденко
Опубликовано 09 ноября 2012 года
В конце пятидесятых годов прошлого века руководство Массачусетского Технологического Института (MIT) передало университетскому городку вычислительную машину TX-0. Каждый студент и аспирант MIT получил право использовать TX-0 для любых целей раз в день в течение часа. Вряд ли кто-то подозревал, что из этого выйдет.
Без того компьютера, возможно, не появилась бы одна из первых компьютерных игр — Spacewar. Не будь Spacewar, молодой аспирант Айвен Сазерленд, вероятно, выбрал бы совсем другую тему для своей докторской диссертации. Тогда, скорее всего, не увидел бы свет и его Sketchpad — уникальный программно-аппаратный комплекс, оказавший огромное влияние на развитие систем автоматизированного проектирования и формирование базовых принципов графических пользовательских интерфейсов. История вычислительной техники пошла бы по иному пути.
Вычислительный «Вихрь»
В середине прошлого века MIT стал одним из центров, где совершенствовались американские системы противовоздушной обороны. В 1940 году на его базе была организована лаборатория сервомеханизмов под управлением профессора Гордона Брауна. Задача, стоящая перед лабораторией, была не из простых: реализовать взаимодействие корабельных радарных установок и бортовой артиллерии с компьютером. Кроме того, лётчики хотели получить универсальный авиасимулятор, который мог быть легко перенастроен под любой тип самолёта.
Аспирант Брауна Джей Форрестер быстро понял, что аналоговые вычислители, традиционно применяемые в этой области, недостаточно эффективны. А успешное применение для баллистических расчётов цифрового компьютера ENIAC только закрепило в нём это убеждение.
Трудность заключалась в том, что существовавшие тогда способы взаимодействия операторов с цифровыми вычислительными машинами решительно не годились ни для симуляции, ни для автоматизированного управления артиллерией. Оператор не мог получать результаты вычислений в режиме реального времени или быстро вводить информацию. Самые простые операции требовали длительной возни с перфокартами или перфолентами.
>Вычислительная машина Whirlwind
Чтобы преодолеть эти проблемы, была начата разработка интерактивной вычислительной системы Whirlwind («Вихрь»). Для своего времени это была невероятно мощная машина. Арифметический модуль Whirlwind состоял из 12500 электронных ламп и трудился на частотах 1 и 2 мегагерца, выполняя двадцать тысяч операций в секунду. Whirlwind обеспечивал параллельную обработку шестнадцатибитных данных, используя для этого тридцать две команды.
Для визуализации компьютерных данных решили применить хорошо зарекомендовавшие себя в радарных установках экраны на электронно-лучевых трубках. Чтобы указать координаты цели, оператор крутил рукоятки, расположенные вокруг дисплея. Whirlwind стал, вероятно, первым компьютером, использующим для взаимодействия с человеком графические образы.
>Дисплей Whirlwind имел немало общего с экраном радарной установки
В пятидесятые годы его вычислительная мощь стала основой SAGE (Semiautomatic Ground Environment) — автоматизированной системы ПВО, объединившей Whirlwind с радарными установками на обеих побережьях США. Из главного кампуса MIT занимавший целый этаж Whirlwind переехал в мозговой центр SAGE — лабораторию Линкольна.
Первые шаги САПР
Инженеры лаборатории Линкольна существенно усовершенствовали средства ввода-вывода Whirlwind. Дисплей, отображавший всего 256 точек, получил матрицу 64х64 точки. Оператору Whirlwind больше не приходилось запоминать координаты объектов и возиться с рукоятками ввода координат. Вместо этого он использовал «световой пистолет», которым можно было указать на дисплее нужный объект. Компьютер вычислял координаты светового пятна и по ним идентифицировал связанный с ним объект.
>Оператор использует световой пистолет
Whirlwind и его преемники, компьютеры TX-0 и TX-2, годились не только для управления системами ведения огня. В 1949 году лаборатории поручили разработку системы компьютерного управления фрезерным станком. Дело в том, что создание новых реактивных истребителей требовало изготовления компонентов корпуса с высочайшей точностью, которая была недостижима даже самыми квалифицированными фрезеровщиками.
Результатом работы учёных MIT стала представленная в сентябре 1952 года система ЧПУ, считывающая данные об обрабатываемой детали с перфоленты и управляющая трёхосевым фрезерным станком. Трудоёмкий процесс разработки и отладки программ-перфолент ЧПУ вскоре был полностью автоматизирован с использованием Whirlwind и TX-0. Эта технология автоматизации получила название APT (Automatically Programmed Tool) и фактически стала прародителем современных САПР.
>Алюминиевая деталь, выточенная под управлением APT III
Важнейшую роль в формировании программной части APT сыграл Дуглас Росс, одним из первых осознавший необходимость унификации описания обрабатываемых деталей и создания независимой от типа контроллера среды программирования.
Под руководством Росса были решены задачи программной унификации компонентов чертежа с использованием высокоуровневых операторов. Подобный подход позволил устранить непреодолимый ранее барьер между инженером-проектировщиком и компьютером, превращая последний из специализированного вычислителя в инструмент общего назначения.