DEC FUSE: building a graphical software development environment from UNIX tools

Richard O. Hart, Glenn Lupton · Digital technical journal · 1995

Laboratories in 1969 and rapidly grew more popular, first within Bell Labs, then at universities and, since the early 1980s, at commercial enterprises. One reason cited for its success is that it is a good operating system for programmers.1 The wealth of simple tools and the ability to combine them easily into new tools provides an attractive environment for software development. Projects organize their development processes around the capabilities of UNIX tools like sccs for version control and make for application building. Developers build project-specific tools using UNIX commands in shell scripts and have become proficient in the use of tools like the dbx debugger and the emacs and vi editors.2 Developers have also become accustomed to commands for text manipulation (sed, awk), searching (grep), and comparing (diff), and the use of these in combination with other commands to do special tasks. In the late 1980s, workstations came into common use for software development. Workstations provided additional compute power and were capable of displaying complex graphics and providing point-and-click interfaces. The UNIX tools and shell environment, designed around character-cell video terminals and hard-copy devices, did not make effective use of these workstation capabilities. Different tools and a different approach to combining them were needed to provide an effective workstation-based development environment that would take advantage of the additional compute power available to workstation users and the graphical interfaces available using the X Window System.3 In this paper, we define the characteristics of some integrated software development environments designed to take advantage of modern UNIX workstations. We describe the DEC FUSE product as an example of one of these environments and present two methods used to create the DEC FUSE product. With the first method, we show how tools are built as graphical user interfaces (GUIs) on top of existing UNIX commands. Then, we show how messaging enables these tools to work together. We present trade-offs and design alternatives for each method.

Read the paper · More papers on PaperTik