Click for next page ( 14


The National Academies | 500 Fifth St. N.W. | Washington, D.C. 20001
Copyright © National Academy of Sciences. All rights reserved.
Terms of Use and Privacy Statement



Below are the first 10 and last 10 pages of uncorrected machine-read text (when available) of this chapter, followed by the top 30 algorithmically extracted key phrases from the chapter as a whole.
Intended to provide our own search engines and external engines with highly rich, chapter-representative searchable text on the opening pages of each chapter. Because it is UNCORRECTED material, please consider the following text as a useful but insufficient proxy for the authoritative book pages.

Do not use for reproduction, copying, pasting, or reading; exclusively for search engines.

OCR for page 13
RESEARCH AND DEVELOPMENT IN COMPl1113R SCIENCE Computer science is special among the sciences in that technological developments have tended to govern the overall direction of the field. Two technological achievements--the stored-program computer and the integrated circuit, both of them now old on the timescale typical of such developments--had implications so manifold that they have dominated the activities of practitioners in the field for many years and will continue to do so for years to come. At any given moment within a scientific or technological field, the relative weights of technological development and basic research depend on the richness of the consequences that flow from that field's key discoveries and inventions relative to the significant developmental directions that remain to be explored. As long as exploration remains incomplete, the field will find new application areas, and the background of pragmatic issues that ultimately shapes the pure researcher's mind-set will change rapidly in ways determined by the developmental researcher. This has been the situation of computer science throughout most of its roughly 35-year history. A succession of inventions--magnetic core, disc memory, and others--has triggered successive waves of development in computers. Above all, the invention of the transistor, its subsequent development into a variety of semiconductor devices, and the invention of the integrated circuit have released developments that are still driving the entire computer enterprise. The software side of computer development has also tended to be dominated by developmental research. By rapidly changing the economics of computing, advances in hardware technology have forced software developers to come to grips with a continually widening range of applications. For example, discs have led to data bases, communications technology has led to ARPANET, and VLSI technology is now leading to interest in parallel modes of computation. Moreover, applications pressures have pushed software designers into involvement with systems of ever-growing complexity, making the refinement of tools for the management of this complexity an abiding developmental concern of the software researcher. Computer science education and systems training have also been concentrated in the developmental area, in response to the central concerns of the marketplace. Systems training is what the average . 13

OCR for page 13
14 employer wants his new employees to have, it is what the average student wants to acquire, and it constitutes the bread-and-butter activity of nearly all university computer science departments. m e wealth of significant developmental activities at hand has tended to overshadow the work of the pure research community within computer science. Because theory has been so overshadowed, it is well to emphasize its contributions to computer science. First of all, theory gives insight into the capabilities and limitations of computers. Nonexistence results advise practitioners not to waste time in quests for absolutely optimal compilation or general verification of programs. Finer theoretical analysis often reveals how closely or in what cases some of these goals can actually be achieved. Proven bounds define objective standards of performance for algorithms and point out opportunities for improvement. In many cases, these theoretical hints have inspired vigorous searches for algorithms of remarkable efficiency. Finding their way into practice, these algorithms have on occasion solved efficiency problems decisively enough to allow simple uniform approaches to replace less effective systems designs. Theory tells us how to solve problems that would otherwise be out of reach and defines problems that would otherwise be overlooked. Theory also often provides generalizations that simplify computing and extend its reach. m e many industrial applications that fit within the core of well-understood computing can be promptly and reliably implemented. Second-order tools, such as program generators, which suggest themselves in these areas, can be built with confidence. mese truths are particularly apparent in the domain of scientific computing. Witness theoretically based developments such as linear programming, fast Fourier transform, and finite element techniques. There are other examples: complexity theory has given us combinatorial algorithms that help with geometric layout. m e theory of automata has given us fast search techniques applicable to bibliographic retrieval. Formal language theory has given us automatic consistency tests useful to language designers. Algebra has given us new cryptographic techniques. In spite of these important successes of theory, however, the predominant trend in computer science remains that of development. ORIGIN OF IDEAS The distinction between basic and developmental research blurs most completely at those fruitful moments when new fields of investigation and application spring up. In first identifying, defining, naming, and starting to unravel new fields, an investigator performs research that is both basic and developmental: basic because of its novelty and developmental because the practical impact of the new technique is immediately apparent. Only after an initial period of growth will the basic researcher turn his attention from initial discoveries to further challenges. At the same time, the developer, finding competition already in place, will begin to consider quantitative advantages carefully. Only then does the distinction between basic and developmental work arise.

OCR for page 13
The initial stirrings out of which new fields grow can be and have been felt first in either universities or industry. Its marketing organizations give industry a sensitivity to external applications that universities lack almost totally. Certain crucial, externally generated hints will therefore be felt in industrial development groups well before university researchers become aware of them. Such is the history of the data base concept, which was important in industrial circles years before it became a subject for the university researcher. The importance of object code efficiency was clear to industry from the start, and attempts to optimize it were central to one of the very first major industrial software research efforts--the development of FORTRAN. Important work on code optimization continued in industry for almost a decade before a series of papers by industrial researchers brought this subject to the active attention of the pure university researchers. On the other hand, in initiating certain types of developmental rather than basic lines of work, universities have arguable advantages. Industrial firms orient themselves strongly to established markets and may therefore be reluctant to commit themselves to developments that imply major changes in the way their customers are accustomed to doing things. In contrast, the university developer of an innovative system will often be his own intended customer and can push an innovation because introspection leads him to believe that it will facilitate some of his own, relatively advanced, activities. Forces of this kind played a role in the early history of time sharing, which was developed for local use at MIT at a time when the overwhelming tendency of commercial, and even scientific, computer users was to organize their work quite differently, in batch style. By building an initially expensive special system, and by making visible the increased level of user effectiveness that resulted from this reorganization of work, these MIT experiments (and also the Dartmouth work on BASIC) could whet the appetite of economically more powerful groups of computer users. Another example is the "spacewar. type of video game, which was an after-hours plaything of MIT systems programmers years before it became a billion-dollar amusement industry. MATURATION OF IDEAS AND APPLICATIONS As a new field stabilizes and comes to be guided by established general notions and principles, it begins to mature theoretically. Important problems of the field become formulated abstractly enough for questions of design optimality to be raised. Once perceived, questions about the possibility of fundamental improvements may be answered in the negative, after a clear theoretical understanding has been established that, given appropriate assumptions, certain fragments of established technique are not capable of improvement. On the other hand, such questions may fail of an answer, raising the suspicion that many improved techniques await discovery. The longer a significant question remains unanswered, the greater grows its fame among theorists, and the more attractive a target it appears for research.

OCR for page 13
16 Whereas only the largest industrial firms can devote research to difficult theoretical problems, such research is the central role of universities. On the other hand, universities do not have at their disposal developmental resources nearly comparable to those of industry. Since polish counts in the marketplace, it is often necessary to expend large amounts of resources on aspects of the system that are -entirely ancillary to a technological innovation: documentation, testing, distribution, response to problem reports, and support in a wide range of computer and device environments. An industrial organization will see such expenditure as a well understood kind of overhead, recoverable from the wide sale of a successful product. University researchers will have neither access to such levels of resources nor interest in these vital secondary areas. For sustained, multifaceted development demanding the careful establishment of supporting structures, as opposed to the exhilarating exploration of a single new idea, industry has decisive advantages over universities. Sufficient funding to sustain powerful technical support staffs for extended periods is generally not consistently available from granting agencies. Technological development that needs continuing support and can predictably yield a continuing return will have a better chance to succeed in industry. TRANSMISSION OF IDEAS Good theory codifies, synthesizes, and transmits ideas. It lives most comfortably in universities and plays a dominant role in the advanced curriculum of computer science. meory provides a common body of understanding that practitioners automatically employ in attacking technical tasks. In universities, researchers are encouraged to publish the results of their works and professors are accustomed to writing textbooks and monographs that marshal the major techniques of their field. In industry, however, documentation and publication tend to be regarded as secondary. The ambitious industrial researcher, striving for a competitive advantage in a fast-moving field, will generally not be motivated to invest the time necessary for this archiving function. If proprietary aspects of research become involved, the legal department of his firm may be much more concerned with preventing rather than facilitating publication. His factor has a considerable, and in some cases decisive, effect on the dissemination of technical information developed within industry, a point emphasized in a series of interviews with industrial research managers conducted in connection with the preparation of this report (see the Appendix). Many of these managers felt that the currently available means of protecting intellectual property--patents, copyrights, and trade secrets--were poorly matched to the needs of the computer industry. m ey believed that patent law gave the strongest protection, but it was seen to apply only in narrowly defined areas. Copyright protection is used, especially for software, but it is not a strong form of protection because there are almost no legal precedents to draw on for its successful use in the

OCR for page 13
17 computer area. Even conceptually, it is not clear how well copyrights can protect software. Copyright does not protect against the use of ideas, but only against the use of particular expressions of ideas; and the point of most software is to be used, not to be read. Thus most companies are forced to rely on secrecy as one of the primary means for protecting their ideas. But this tactic works against the need for maintaining an open research environment that is perceived at some of the larger corporations, where greater emphasis is placed on publishing. Even in those segments of the industry in which secrecy is practical, its effects can be quite detrimental. Developments in VLSI circuitry illustrate this point. Because many of the important ideas in the development of VLSI technology are process techniques that are not easily discovered from inspection of the product, and because legal protection was perceived to be inappropriate for this technology, the details of technical progress have been kept secret. Isolated from these independently developing bodies of knowledge, universities have not developed significant expertise in these areas. A shortage of adequately trained people is the result. In the long run, this state of affairs must prove harmful to innovation in America. When information is needed from universities, industry is more likely to hire university graduates or consultants than to encourage its employees to read academic publications systematically. When information needs to be transmitted internally, industry will tend to organize task forces or to transfer personnel rather than to provide textbooks or monographs. Over the long run, this failure to codify and to archive its technical knowledge probably works to the detriment of industry, or at least accentuates the dependence of industry on the university researchers who perform this function. If neither failures nor successes are adequately analyzed and archived, knowledge of what they have revealed will not be retained when the relevant technical groups are broken up and their key members moved to other positions. Once technical insights dissipate, nothing guarantees that complex future technical projects will be even as successful as past projects. Depending on reinvention from scratch, they may be worse. By and large, the work of academic codifiers prevents this from happening and pushes the generally available level of technology steadily forward. However, many useful technical ideas, especially in the systems area, may fail to reach publication and require rediscovery. Publication may justify support of university projects that fall technically below corresponding industrial efforts because such projects can give academics firsthand familiarity with the problems and methods, which they then document.

OCR for page 13