DAC-1, for ''Design Augmented by Computer'', was one of the earliest graphical
computer aided design systems. Developed by
General Motors
The General Motors Company (GM) is an American Multinational corporation, multinational Automotive industry, automotive manufacturing company headquartered in Detroit, Michigan, United States. It is the largest automaker in the United States and ...
,
IBM was brought in as a partner in 1960 and the two developed the system and released it to production in 1963. It was publicly unveiled at the
Fall Joint Computer Conference The Joint Computer Conferences were a series of computer conferences in the United States held under various names between 1951 and 1987. The conferences were the venue for presentations and papers representing "cumulative work in the omputerfield ...
in Detroit 1964. GM used the DAC system, continually modified, into the 1970s when it was succeeded by
CADANCE.
History
Genesis
GM was an early computer user, using
punched card
A punched card (also punch card or punched-card) is a piece of stiff paper that holds digital data represented by the presence or absence of holes in predefined positions. Punched cards were once common in data processing applications or to di ...
machines as early as 1952 for engineering analysis. In 1955 they moved their computing services into the new Data Processing department of GM Research Laboratories. In 1956, together with
North American Aviation
North American Aviation (NAA) was a major American aerospace manufacturer that designed and built several notable aircraft and spacecraft. Its products included: the T-6 Texan trainer, the P-51 Mustang fighter, the B-25 Mitchell bomber, the F ...
, they developed the first "official"
batch processing
Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
for IBM systems,
GM-NAA I/O
The GM-NAA I/O input/output system of General Motors and North American Aviation was the first operating system for the IBM 704 computer.
It was created in 1956 by Robert L. Patrick of General Motors Research and Owen Mock of North Americ ...
. In 1958 they were one of the earliest users of IBM's new
FORTRAN compiler.
[''Origin'', pg. 41]
In June 1958 GM Research started a program to better understand the problems and potential improvements in the
industrial design
Industrial design is a process of design applied to physical Product (business), products that are to be manufactured by mass production. It is the creative act of determining and defining a product's form and features, which takes place in advan ...
process.
[ The team found that each step of the process -from initial conception and body styling through engineering design and finally to detailed parts drawings- used different types of diagrams. Each division within the company had to have their own drawing departments to support them. Time was being lost, and errors introduced, when the diagrams moved from one department to another and had to be re-drawn into the local format. Even the task of looking up the diagrams in the engineering libraries represented a significant amount of time. When modifications were made to drawings, this process repeated itself.
Convinced that automation was a solution to at least some of these problems, in 1959 Donald Hart tasked the Data Processing department of GM Research to start developing a system to store diagrams for rapid retrieval and simple modifications.][''Origin'', pg. 42] The idea was that the diagrams would be digitized into the computer, displayed interactively to allow rotations, scaling and projections, and then printed on demand. Lookups would be handled via punched card
A punched card (also punch card or punched-card) is a piece of stiff paper that holds digital data represented by the presence or absence of holes in predefined positions. Punched cards were once common in data processing applications or to di ...
queries, which would allow operators to quickly retrieve documents for manipulation into whatever local format the user needed, and then print it. Repetitive queries could be automated simply by saving the card stack.
Prototype
The Data Processing department had already been experimenting with an IBM 704
The IBM 704 is a large digital mainframe computer introduced by IBM in 1954. It was the first mass-produced computer with hardware for floating-point arithmetic. The IBM 704 ''Manual of operation'' states:
The type 704 Electronic Data-Pro ...
computer displaying points on the IBM 780 display which were recorded to 8 mm film. One early use was plotting traffic simulations.[ However, the displays were not based on ]storage tube
Storage tubes are a class of cathode-ray tubes (CRTs) that are designed to hold an image for a long period of time, typically as long as power is supplied to the tube.
A specialized type of storage tube, the Williams tube, was used as a main mem ...
s, so the images disappeared shortly after they were drawn. In order to keep the image on the screen, the program had to be put into a loop, continually refreshing the display. While this was happening the computer could not be used for other tasks. Although it was suitable for demonstration purposes, a real-world system would need additional hardware to offload this task from the CPU.
Another problem was printing the diagrams. GM solved this problem by using an approach developed by Boeing
The Boeing Company () is an American multinational corporation that designs, manufactures, and sells airplanes, rotorcraft, rockets, satellites, telecommunications equipment, and missiles worldwide. The company also provides leasing and product ...
, replacing the milling head of a computerized milling machine with a ball-point pen and connecting the inputs of the mill to the 704 computer. To address the extremely limited amount of memory available on the 704, they broke the diagrams down into 32-by-32-inch squares, which could be plotted with enough accuracy that they could be loaded up as separate tiles and still line up perfectly when plotted as part of complete diagrams. A set of rollers were added to allow the plotter to move a single piece of paper around the drawing surface on demand, meaning that the paper did not have to be cut into pieces. The paper was delivered in rolls, allowing diagrams to be any length.[
The final problem was to convert the existing diagrams, on paper, into computer data. The solution was to re-print the diagrams onto clear acetate and place them in front of the 780 display. The computer then moved the display's dot across the screen, where it would be periodically occluded by the lines on the acetate. A ]photomultiplier A photomultiplier is a device that converts incident photons into an electrical signal.
Kinds of photomultiplier include:
* Photomultiplier tube, a vacuum tube converting incident photons into an electric signal. Photomultiplier tubes (PMTs for sho ...
tube noticed these drops in output and recorded them. Since diagrams consist largely of whitespace and a few lines, a simple raster scan would be too time-consuming. Instead, when the program noticed a line it would scan a circle of points around the last hit, attempting to find the line again. The system allowed the digitizing of 6,000 points a second.[''Origin'', pg. 43] The output was a set of cubic polynomials that described the line smoothly.
DAC-1
The system, known as Digital Design, was demonstrated and improved throughout 1959. In order to avoid confusion over the term "digital", which at that time was most closely associated with fingers and not computing, the name changed to DAC-1.[ By the summer it was clear the basic idea was feasible. In August, the team was given the go-ahead to start work with IBM to purchase an ]IBM 7090
The IBM 7090 is a second-generation transistorized version of the earlier IBM 709 vacuum tube mainframe computer that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member of the IBM 700/7000 ser ...
computer and develop commercial versions of the display hardware.
The production system had to not only manipulate existing drawings, but also be capable of modifying them in the computer. Although the computer would not normally be used to produce new artwork, once the diagrams were scanned into the system, changes could be made without going through the entire scanning process again.
Once digitized, additional software could be used to convert the lines into a 3D shape. This was groundbreaking research at the time, and generated a flurry of research papers. Once converted, the diagrams could be output into the APT
Apt. is an abbreviation for apartment.
Apt may also refer to:
Places
* Apt Cathedral, a former cathedral, and national monument of France, in the town of Apt in Provence
* Apt, Vaucluse, a commune of the Vaucluse département of France
* A ...
numerical control
Numerical control (also computer numerical control, and commonly called CNC) is the automated control of machining tools (such as drills, lathes, mills, grinders, routers and 3D printers) by means of a computer. A CNC machine processes a pi ...
language for direct output on milling machines. This would allow a design team to sketch out their ideas, put them into the system and clean them up, and then have the milling systems produce a physical model.
IBM partnership
In July 1960 IBM presented GM with a formal development contract for a "Graphic Expression Machine", or "Project GEM".[''Origin'', pg. 44] The system was hosted by the 7090, IBM's then-standard large business offering, partnered with two new channel controller
In computing, channel I/O is a high-performance input/output (I/O) architecture that is implemented in various forms on a number of computer architectures, especially on mainframe computers. In the past, channels were generally implemented with cus ...
s for the yet-to-be-released IBM 1301
IBM manufactured magnetic disk storage devices from 1956 to 2003, when it sold its hard disk drive business to Hitachi. Both the hard disk drive (HDD) and floppy disk drive (FDD) were invented by IBM and as such IBM's employees were responsible fo ...
hard disk
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with magnet ...
system, and a custom controller to drive multiple graphical terminals. Output from the terminals could be sent to a plotter, 35 mm slide film.[''Origin'', pg. 53] IBM estimated the system would be installed within 18 months after signing the contract. GM accepted the offer in November 1960.[''Origin'', pg. 45]
Development took longer than expected. While the 7090 was being installed at GM Research in Warren, MI
Warren is a city in Macomb County in the U.S. state of Michigan. The 2020 Census places the city's population at 139,387, making Warren the largest city in Macomb County, the third largest city in Michigan, and Metro Detroit's largest suburb.
T ...
, the GM teams were given use of one of IBM's own 7090s in Kingston, NY
Kingston is a city in and the county seat of Ulster County, New York, United States. It is north of New York City and south of Albany. The city's metropolitan area is grouped with the New York metropolitan area around Manhattan by the United ...
. As the original production date grew closer the number of GM employees traveling to NY became a serious budget problem, which was addressed when GM rented a Convair
Convair, previously Consolidated Vultee, was an American aircraft manufacturing company that later expanded into rockets and spacecraft. The company was formed in 1943 by the merger of Consolidated Aircraft and Vultee Aircraft. In 1953, it ...
aircraft for ferry flights between the two sites. A more serious problem was the scanner system, and a joint GM-IBM team was able to finally address the issues.[''Origin'', pg. 46]
The system was given a full demonstration run at IBM's Kingston site in December 1962. The demonstrations were so well attended that bleacher
Bleachers (North American English), or stands, are raised, tiered rows of benches found at sports fields and other spectator events. Stairways provide access to the horizontal rows of seats, often with every other step gaining access to a row ...
s were set up so that all of the attendees could see the terminal screen. The high usage demands during the demos eventually led to the disk system crashing.[ The production DAC-1 system went live in Warren in April 1963.][ At the time the 1301 was not ready, so an ]IBM 1401
The IBM 1401 is a variable-wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing unit record equipment for processing data stored on pu ...
and IBM 1405
IBM manufactured magnetic disk storage devices from 1956 to 2003, when it sold its hard disk drive business to Hitachi. Both the hard disk drive (HDD) and floppy disk drive (FDD) were invented by IBM and as such IBM's employees were responsible fo ...
were used instead.[
DAC-1 was one of the earliest production CAD systems to enter use, only the ]Itek
Itek Corporation was a United States defense contractor that initially specialized in camera systems for spy satellites and various other reconnaissance systems. In the early 1960s they built a conglomerate in a fashion similar to LTV or Litto ...
built Digigraphics Digigraphics was one of the first graphical computer aided design systems to go on sale. Originally developed at Itek on the PDP-1 as EDM (''Electronic Drafting Machine''), the efforts were purchased by Control Data Corporation and ported to their m ...
system beat it, albeit to the extent of a single machine before it was taken over by Control Data Corporation
Control Data Corporation (CDC) was a mainframe and supercomputer firm. CDC was one of the nine major United States computer companies through most of the 1960s; the others were IBM, Burroughs Corporation, DEC, NCR, General Electric, Honeywel ...
.
In November 1963, DAC-1 was used to create a model of a trunk lid in a straight-through manner. An original sketch was read in, cleaned up on the terminal, converted into 3D and then output to a milling machine
Milling is the process of machining using rotary cutters to remove material by advancing a cutter into a workpiece. This may be done by varying direction on one or several axes, cutter head speed, and pressure. Milling covers a wide variety of d ...
.[''Origins'', pg. 53]
Alpine
With the successful delivery of DAC-1, IBM turned to commercializing the system in "Project Alpine". The results of Alpine were the IBM 2250
The IBM 2250 Graphics Display Unit was a vector graphics display system by IBM for the System/360; the Model IV attached to the IBM 1130.
Overview
The IBM 2250 Graphics Display Unit was announced with System/360 in 1964. A complete 2250 III sys ...
graphics terminal, 2280 film recorder and 2281 film scanner. Unlike the DAC-1's 7090, the Alpine products were all aimed for use with the newly announced IBM 360
The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applica ...
series of computers. The graphics terminal was quite successful and IBM became a major CAD vendor. The film printer and scanner found little use among customers that were moving to all-digital workflows, and were later withdrawn as supported products.[
]
End of DAC
DAC had always been intended to be a sort of "large area experiment", not a production system. As an experimental system, DAC was extremely successful, but the designers were well aware that additional development would be needed to make it really useful. In 1967 the CAD project was officially ended. By this point IBM had long abandoned the 7090 series for the 360, and was already working on its replacement, the IBM System/370
The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path f ...
. DAC was moved from Research to Fisher Body, but being outdated it was later donated to the University of Michigan.[''Origins'', pg. 54]
When polled, team leaders within the project universally pointed to the batch-oriented operating system as the primary impediment to a truly interactive design system, with computer performance and a hierarchical file system as secondary concerns. This led to the MCTS system, "Multiple Console Time Sharing System
The Multiple Console Time Sharing System (MCTS) was an operating system developed by General Motors Research Laboratories in the 1970s for the Control Data Corporation STAR-100 supercomputer. MCTS was built to support GM's computer-aided design ...
", a version of Multics
Multics ("Multiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of t ...
adapted for their own use, which they developed on the CDC STAR-100 computer.[
]
Description
Operating system
The DAC-1 system included its own custom operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
, known, as was typical at the time, simply as "monitor". Monitor was based on the earlier batch processing systems developed at GM and IBM, but fed in the batches not from punched cards, but from the attached channel controllers instead. Terminals that had to exchange information with the host computer would place data in the controller for relay, which would cause an interrupt. The host machine would service the interrupt by copying the data from the terminal into the batch monitor, which would run it as if the input had come from a card stack. The DAC program consisted of a variety of small programs which were called by the batch monitor. Their output was then copied back to the terminals as if they were printers. Users who were not actively interacting with the terminals at any given time automatically gave up their time to other users.[ Although the term was not in widespread use at the time, the DAC-1 system was thus an early example of a ]time-sharing system
In computing, time-sharing is the sharing of a computing resource among many users at the same time by means of multiprogramming and multi-tasking.DEC Timesharing (1965), by Peter Clark, The DEC Professional, Volume 1, Number 1
Its emergence a ...
.
Unlike traditional batch systems, where operators manually scheduled workflows for fastest possible access to resources, DAC-1's workload would be unpredictable. This led to potential situations where one request could take a device offline for servicing, changing tapes for instance, only to have the next request data from that device. Although no general solution to the problem was found, the programmers invested considerable effort in ensuring that all of the modules needed for a particular operation could be loaded in a single "clump".[
The original 7090 had a single 32 kbyte bank of memory. In order to improve performance, the DAC-1 software was left in the core, isolated in one of two 16 kbyte logical banks. The other 16 kbytes held the batch monitor and an interrupt controller that drove it. With the introduction of the 7094, the two programs were separated into their own 32 kbyte physical stores.][ This left little room for user programs and data. After the DAC-1 was first installed, the original 7090 was relegated to other tasks and was replaced by an ]IBM 7094
The IBM 7090 is a second-generation transistorized version of the earlier IBM 709 vacuum tube mainframe computer that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member of the IBM 700/7000 ser ...
-II. In addition to being faster, this machine was equipped with two 32 kbyte core memory
Core or cores may refer to:
Science and technology
* Core (anatomy), everything except the appendages
* Core (manufacturing), used in casting and molding
* Core (optical fiber), the signal-carrying portion of an optical fiber
* Core, the central ...
stores, an unusual arrangement. The two banks allowed DAC to have an entire 32 kbytes to itself.
Programming
Programming on the DAC system was in IBM's FORTRAN IV compiler, but it quickly became clear that a language with graphics primitives would be highly desirable. GM started with an existing ALGOL 58
ALGOL 58, originally named IAL, is one of the family of ALGOL computer programming languages. It was an early compromise design soon superseded by ALGOL 60. According to John Backus
The Zurich ACM-GAMM Conference had two principal motives in pro ...
derivative from the University of Michigan
, mottoeng = "Arts, Knowledge, Truth"
, former_names = Catholepistemiad, or University of Michigania (1817–1821)
, budget = $10.3 billion (2021)
, endowment = $17 billion (2021)As o ...
, MAD (''Michigan Algorithm Decoder''), adding to it and creating their own version, NOMAD. NOMAD also included the ability to allow code to run anywhere in memory, which was very important, especially on the earlier machine with limited memory. Over 90% of the DAC system was written in NOMAD.[''Origin'', pg. 48]
A similar language was also developed for the special task of running on the channel controllers. The new language was named "Maybe", because it was not clear whether or not it would work. Maybe turned into a joint effort between GM and the University of Michigan, and was indeed used on the production system.[
The DAC-1 system also included a custom language intended for the users, not the programmers. DGL, for descriptive geometry language" was a simple ]domain-specific language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging f ...
that contained a number of basic geometrical operators and variable assignment. Users could write programs in DGL and input them into DAC using punched cards. The result were new modules that the user could call within the interactive environment.[
]
Terminals
DAC had been designed with a workflow in mind; paper and pencil sketching, digitizing on the reader, minor manipulation on the terminals, and then printing or modeling. In spite of it being the centerpiece of the operation, the graphics terminal was given little thought during the design process.[''Origin'', pg. 49] Performance issues limited diagrams to about 1,000 vectors; at this point the refresh time became so slow the display would become difficult to use due to flickering.
The IBM design used a capacitance screen with a metal pencil for input, providing a directly read X and Y coordinate.[ The basic system was similar to modern ]touch screen
A touchscreen or touch screen is the assembly of both an input ('touch panel') and output ('display') device. The touch panel is normally layered on the top of an electronic visual display of an information processing system. The display is often ...
systems like the iPhone, but not sensitive enough to detect a finger and instead required a wired conductor to complete the circuit. The pencil replaced the light pens because it was much faster to decode; a light pen had to wait for a pulse of light when a vector was being redrawn and then work its way through the list of vectors to find out which one was selected.
In use it was quickly discovered that holding the pen to the vertical monitor screen was extremely tiring, so the idea of using the terminal for input was abandoned. The GM team later visited Douglas Engelbart
Douglas Carl Engelbart (January 30, 1925 – July 2, 2013) was an American engineer and inventor, and an early computer and Internet pioneer. He is best known for his work on founding the field of human–computer interaction, particularly ...
's lab where they saw the first computer mouse
A computer mouse (plural mice, sometimes mouses) is a hand-held pointing device that detects two-dimensional motion relative to a surface. This motion is typically translated into the motion of a pointer on a display, which allows a smooth c ...
, and based future projects on this device instead.[
All of the terminals were connected to a single controller, and in turn to the 7090 via its Channel C input. Channel A and B were used to control ]magnetic tape
Magnetic tape is a medium for magnetic storage made of a thin, magnetizable coating on a long, narrow strip of plastic film. It was developed in Germany in 1928, based on the earlier magnetic wire recording from Denmark. Devices that use magne ...
drives, and Channel D controlled the 1301 disk.
References
Notes
Bibliography
*
* Technical Information Department, "Design Augmented by Computers - The General Motors DAC-1 System", ''Search'', General Motors Research Laboratories, October 1964
* Devere, G. S., Hargreaves, B. and Walker, D. M., "The DAC-1 System", ''Datamation'', Volume 12 Number 6 (June 1966), pp. 37–47
* J.M. Bookston, "The DAC-1 Procedure for Interpolating Surfaces Through a Network of Intersecting Space Curves," Research Report CT-48, General Motors R&D Center, 1968
* David Weisberg
"The First Commercial CAD System"
2006
Further reading
, contains images and videos of DAC-1
{{refend
Computer-aided design software
General Motors
IBM software