Implications of hardware advances for software development
Authors: A. I. Wasserman
Venue: Proceedings of the 10th international conference on Software engineering (1988)

During the past few years, advances in hardware technology have significantly changed the nature of software development. In the 1970's, the model of software development environments changed from batch processing to time sharing, with all software developers connected to the time-sharing system via terminals. This model of computing has changed in the 1980's from time sharing to distributed processing. Software developers now have their own personal computers, which is connected to other computers over a local area network. Leading software engineering organizations have developed computing environments based around engineering workstations, such as those manufactured by Sun Microsystems, Apollo Computer, Digital Equipment Corporation, Hewlett-Packard, and others, the current estimate is that approximately 50,000 such workstations are being used for software development, and this number is growing rapidly. These software development environments are based upon a distributed network of workstations, connected by a local area network, such as an Ethernet or DECnet. Individual workstations may be &ldquo;diskfull&rdquo; or diskless, with one or more workstations acting as file servers, where a distributed file system, such as NFS or RFS, provides all users will access to files. Once the system is configured, the combination of the local area network and the distributed file system supports file location transparency. These workstations support windowing systems as well, allowing users to have several active windows concurrently performing tasks. New window systems, such as MIT's X Windows and Sun's NeWS, support host/client processing, so that windows on the client machine can be used to execute window-based applications on the host. The combination of the local area network with the distributed window system supports &ldquo;execution transparency,&rdquo; so that the user need not be aware of the processor on which a task is executed, as long as all of the resources needed for execution of the task are available. Of course, the distributed file system is an essential part of the necessary support for execution transparency. As this model evolves, the computing environment will grow in terms of the number of users on the network, the volume of traffic on the local area network, and the volume of data to be stored. Advances in hardware technology are needed to support the evolution of this model of computing. This panel session addresses some of these requirements for future distributed software development environments. Among the topics to be discussed are: What are the price/performance characteristics of future workstations? Where will today's personal computers, such as the IBM PC and the Macintosh, fit into this computing environment? What are the expected uses of increased workstation computing power? What are the limitations of current local area network technology? What are the characteristics of emerging high performance local area networks? How can optical disk technology be used in computing environments? What are the implications of distributed window systems and distributed file systems for future distributed computing environments? What are the expected costs and benefits for software development organizations? Anthony West of Sun Microsystems, Inc., will discuss aspects of future workstations, including Sun's high performance processor work and their SPARC architecture. Such processors already provide 7 MIPS of desktop computing power, figure that will increase sharply in the next few years. W.R. Franta of Network Systems, Inc., will discuss the Ethernet and its successors, including emerging technology that offers a bandwidth that is 100 times greater than that available with the Ethernet. Koichi Ogawa of Fujitsu Laboratories will discuss optical disk systems and their use for mass storage. The panel will then discuss the ways in which such mass storage can be used in a distributed software development environment.