Software Innovations for the Texas Instruments Explorer Computer
Total Page:16
File Type:pdf, Size:1020Kb
Software Innovations for the Texas Instruments Explorer Computer HARRY R. TENNANT, MEMBER, IEEE, ROGER R. BATE, MEMBER, IE EE, STEPHEN M. COREY, LAWRENCE DAVIS, PAUL KLINE, LAMOTT G. OREN, MALIPATLOLA RAJINIKANTH, RICHARD SAENZ, DANIEL STENGER, MEMBER, IEEE, AND CRAIG W. THOMPSON Invited Paper Explorer is a LISP Machine from Texas Instruments. Its software starts with a vast body of software developed at MIT. Texas Instru ments has stabilized that software and added more packages and utilities. Th is paper describes certain innovations in Texas Instru ment's software for the Explorer. Tl's software innovations were in two areas: increasing the learn ability of this sophisticated system and adding software compo nents as an aid to prototypers and software developers. Learning aid innovations are embodied in Suggestions Menus and the Uni versal Command Loop. Software component innovations are em bodied in the Universal Command Loop, the Graphics Window System and Graphics Editor, the Relational Table Manager, and the Menu-Based Natural Language Interface. The innovations repre sented are of two kinds: innovations in concept (Suggestions Menus, Universal Command Loop, and Menu-Based Natural Language In terface) and innovations in design (Graphics Window System, Rela tional Table Manager). I. INTRODUCTION Fig. 1. Th e Texas Instruments Explorer computer is de signed for creating and running LISP software. The hardware The Texas Instruments Explorer computer is a high-capa features a large high-resolution bit-mapped display, a mouse bility personal computer. It is intended for rapid proto pointing device, and a keyboard with many special keys. typing and development of software by expert programmers software that was conceived and developed at Tex as Instru and for other interactive applications such as VLSI design, ments for the Explorer. command, and control systems and artificial intelligence Tl's software extensions for the Explorer were made in applications. Explorer, as shown in Fig. 1, has a large high two categori es: 1) learning aids to enable users to acquire resolution bit-mapped display, a mouse pointing device, and maintain mastery over significant portions of this large and a keyboard with many special keys in addition to the system (e.g., there are over 10000 functions in the syste m) usual keys of a computer keyboard. It is an unusual com and 2) component software which programmers can in puter for several reasons, two of which are that 1) all the tegrate into their own applications, thus reducing develop software on the Explorer is w ritten in LISP and 2) there is a ment time and increasing the quality and effectiveness of great deal of software available on the machine (20 to 40 software prototypes. Mbytes), most of which is devoted to software develop The approaches taken by programmers using LISP Ma ment and interactive systems. chines are often strikingly different from the approaches The Explorer is based on the LISP Machine designed at they had used before. We give two examples taken from MIT [1), [2), and a large part of the software on it was first the experience of researchers in the Texas Instruments written at MIT [3], [4). This paper will describe the novel Computer Science Laboratory. Manuscript received january 22, 1985; revised May 15, 1985. A. "This Is Exa ctly What I Want" The authors are with the Computer Science Laboratory, Central The Equipment Croup of Texas Instruments (EC), the Research laboratories, Texas Instruments, Inc., Dallas, TX 75266, USA. division that makes military products, had been talking with 0018-9219/85/1 200-1771$01 00 ©1 985 IEEE PROCEEDINGS OF THE I EEE, VOL. 73, NO. 12, D EC EMBER 1985 1771 a customer about a large command and control system. The The natural language-graphical interface-database dem customer was requiring a natural language interface to a onstration was possible to construct in such a short time for database, a technology which the EG did not have at the two reasons: we had many of the large components needed time. They contacted us in the Computer Science labora for it and the development environment allowed us to tory of Tl (CSL) to help them w ith the natural language readily stick the pieces together. Most of the programming interface. EG described the problem to CSL, and we set up environment features came from the work of the LI SP an appointment for a demonstration of our natural lan Machine implementors at M IT. The component software guage interface capabi lity for the next day. used for this demonstration, the graphics window system, Th e request was for a natural language interface, but the the graphics editor, the relational database, the natural problem seemed amenable to a spatial interface to a data language interface, and the natural language interface gen base as well. One of the researchers spent a couple of erator, were all software components deve loped at Tl, which hours w ith the graphics editor creating a demonstration of w ill be described below. database access through a graphical interface. The next day, the people from EG were interested in both the graphics B. Debugging an Algorithm Visually and the natural language, and w ith their knowledge of the domain and our knowledge of the technologies, we worked A new member of CSL, previously a Pasca l and Fortran out an integration of the two approaches. EG built a data programmer, was assigned to learn to use LI SP Machines. base that w as realistic for the domain, we generated a He decided to learn by implementing a new approach to natural language front-end to that database. two-dimensional bin-packing. The most complicated part O ne of the uses of the system was to locate airports and of the system he wrote was a routine that would take a list fuel depots. The database recorded the latitude and longi of rectangles to be packed in a space and pack them there, tude coordinates of these items. O ne way to query the in list order. There were two requirements on that routine: database was to ask for all airports between, say, 41° and it needed to be fast, and it needed to produce a relative ly 43° North latitude and between 47 ° and 47.356° West dense packing. Routines that were clever enough to pro longitude. By integrating our graphics w indow system with duce good packings tended to take a good deal of time, the natural language capability, a map would pop up when and fast routines tended to produce bad packings. The the user needed to specify a location. He could then programmer compared several packing algorithms, search o utline the region of interest on the map with his mouse (a ing for one that would strike a balance between these two pointing device). Th e latitude and longitude coordinates of goals. the box would then be inserted textually into the natural Early on, the programmer decided to display the packing language query. Hence, the demonstration used graphical process as it placed the rectangles, and this decision turned query where appropriate and t extual (i.e., natural language) out to be a good one. Using the object-oriented program query where appropriate, even within the scope of one ming style, he created a graphical display aid in an afternoon. question. The results of database queries could also be He elaborated and refined it over the next two afternoons, displayed either graphically (e.g., the requested airports so that it showed the movement of the rectangles as they would appear on a map) or in tabular form. w ere being packed, in animated fashion. Th e effect as Two weeks from the time of the original contact be recta ngles moved along the edge of the packed area to tween EG and the customer, the customer was in the lab in their final positions and others slid in beside was " just like CSL personally using the demonstration system. He liked it. real life." The nature of the various packing routines could He gave us one of our best recommendations, " This system be grasped immediately by eye, w hereas it would have is so easy, I'd let a general use it." He also said, while he taken hours with printout. was using the demonstration system, " This is exactly what 1 In another five afternoons, he tried out twelve variations want," a nice thing to hear before the proposal had been on his packing algorithms, each suggested by the behavior w ritten. (TI got the contract.) of the ones preceding. At one point, he was working on Fig. 2. Partial results of a bin-packing algorithm. The algorithm maximized contact wi th the walls of the packing area, so we find the center being left open. The programmer did not appreciate this consequence of the algorithm until he saw it happen with graphical debugging tools. 1772 PROCEEDINGS O F THE IEEE , VO L. 73, N O . 12, DECEMBER 1985 algorithms that moved each new rectangle around the A. The Need for Learning A ids existing "skyline" of packed rectangles, finding the place The LI SP M achine, as developed at M IT, is a magnificent ment that max imized the length of its perimeter in contact workstation for a highly skilled programmer, an expert user w ith the rectangles already placed. Th e w all s of the packing of the machine. A great number of commands are available area were counted in computing the perimeter length con through single keystroke invocation, maximizing the rate of tacting the existing structure, and this led to an interesting flow of commands from the use r into the machine.