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 8
INDUSTRY AND THE UNIVERSITY IN NINE SUBAREAS OF COMPUTER SCIENCE
1. SYSTEMS SOFTWARE
Successive waves of development have led to improvements in the
reliability of hardware, reductions of costs and economies of scale,
development of large-capacity random-access storage, and minicomputers
and microcomputers and the distributed computing networks associated
with them. Each of these developments has altered the focus and
direction of systems software.
Though the university contribution to
this area was initially quite strong, the increasing functional
complexity demanded by the marketplace has progressively transferred
dominance in systems software innovation to industry. Universities have
played various roles in systems software, including (1) demonstrating
new systems concepts, (2) providing analysis, codification, and under-
standing of existing systems, (3) developing better algorithms and
protocols for improved systems, and (4) building new systems.
Universities have been very successful at doing (2) and {3~. A lack of
contact with field requirements has limited university successes in
(4), but the increasing availability of smaI1 machines may provide an
opportunity for university work to have a greater impact in that area.
. _ _
. . .
, _ ~ , ~ .
2. INTEGRATED CIRCUITS
Industry has shown leadership in the development of integrated
circuits. In fact, industry has dominated this development-oriented
and capital-intensive area of technological innovation. Today, very
large scale integrated (VSLI) circuits have become so complex that
systems for automating the design of VLSI circuits have become
necessary. Universities have made important contributions is this
area. The present trend of increased involvement of universities in
practical aspects of the VLSI industry shows great promise for
providing new research perspectives but also may contain the risk of
financial overcommitment.
8
OCR for page 9
9
3. THEORETICAL RESEARCH
m eoretical research explores the mathematical limits of the power of
computing techniques. Theory provides structures that codify,
synthesize, and transmit ideas. It also provides standard problem
approaches and a conceptual vocabulary for developing and communicating
those approaches. Although industrial contributions to theory have
also been substantial, universities have played the leading role in the
development of theoretical computer science. Compiler writing,
reviewed in more detail in the next section {4), furnishes good
examples of the codifying role of theory in an essentially pragmatic
area; e.g., formal techniques for syntactic analysis of high-level
languages, begun in the 1960s, have become a major influence on
language development.
m e theory of encryption, which has had a very practical impact on
national security, is another example of the practical impact of
theory. m ere are many examples of special techniques and algorithms
that have made significant contributions to performing computing tasks
efficiently. These examples, including linear programming, fast
Fourier transform, finite element techniques, data-compression
techniques, sorting algorithms, and others, drive home the importance
of careful theoretical consideration of the nature of computing tasks
and the ultimate limitations of each of there techniques available for
dealing with them. Theoreticians have played an important role in
making ideas of this kind available, intelligible, and useful to
programmers.
4. COMPILER WRITING
Compilers are needed for the generation of machine code because of the
prohibitively large number of man-hours that would otherwise be
required for manual program construction. Although the first efforts
took place in industry spurred by pragmatic considerations, theoretical
contributions from the university community to the art of compiler
development have attained a substantial influence on practice. These
contributions include formal syntax analysis, techniques for efficiency
improvement through code optimization, and global program analysis
using graph-theoretical techniques. Refined algorithms developed by
university theoreticians are beginning to have an impact on practical
_
compiler design. As an examule. register allocation procedures. which
_ , _
are crucial to the production of high-efficiency code, have come from
the connection of the register allocation problem with the well-known
graph-coloring problem, and thus the extensive mathematical literature
on that apparently abstruse topic has had practical applications. The
general trend is toward a more extensive use of systematic,
theoretically based methods. Ultimately, this development may allow
much compiler construction to be handled systematically.
.
OCR for page 10
10
5. ARTIFICIAL INTELLIGENCE
When algorithmic methods cannot be found for solving problems, adaptive
strategies can be used to seek solutions. The extension and
application of these so-called weak methods form part of the substance
of the field known as artificial intelligence (AI). Because AI holds
forth the possibility of simulating the process of understanding and
intelligent response in machines, it has attracted much public
interest. Research in AI has focused on such topics as
.
how to encode knowledge
how to make inferences from data
how to analyze visual scenes
how to understand and generate speech or text
how to model problem solving
Most of this research has been done at a few university centers with
substantial federal funding. But corporate AI research is growing
stronger. Although they are byproducts of its central thrusts, some of
the most important contributions of AI to computer science and
industrial computing have been the invention of new programming
techniques. Examples include time sharing and list processing.
Domestic industry has been, and to some extent remains, skeptical of
the AI field. The Japanese, by contrast, plan to invest $100 million
in a fifth-generation computer project having a strong AI focus.
6 . ROBOTIC S
In this area, the goals of artificial intelligence and the needs of the
marketplace come together. Industry took the lead early on in
robotics, but progress was slow until the MIT and Stanford groups began
applying the approaches of artificial intelligence to the robotics
problem. m e savings in processor cost realized through the development
of microprocessors encouraged continued industrial interest in the
1970s. Industrial investment in robotics is now increasing rapidly. A
number of university robotics laboratories have been established, with
industry now building up large robotics activities of its own and also
playing an important role in supporting university developments. To
accelerate progress, well-structured university-industry cooperation
will be necessary. The research issues that need to be addressed by
work in robotics are broad and include geometry, dynamics, image
processing, and software.
Close collaboration between industry and universities can help give
industry the mathematical skills required for work in this field and
can help universities to find the capital resources and engineering
capacity that they will need.
OCR for page 11
11
7. SCIENTIFIC COMPUTING
Large-scale computing is very important for modeling and understanding
problems in climate, aerodynamics, high-energy and solid-state physics,
chemistry, and numerous other fields. For example, medical imaging
devices such as computerized axial tomographic {CAT) scanners would not
be practical without powerful small computers using sophisticated
image-reconstruction algorithms. Research in scientific computing is
dominated by work in universities, although there are also important
efforts in a few industrial computing and government laboratory centers.
Improving the precision and fineness of detail with which large
physical systems can be modeled often requires large increases in
computing power, and this demand for increased scientific computing
power has been an important factor in motivating innovations in large
machine architecture. But expertise in the theory of the problem to be
solved is usually necessary to find practical approaches to large-scale
scientific computing problems. Thus, to carry out such computations,
expertise in both the relevant science and numerical techniques is
required. This makes it important that scientific computing facilities
be organized to promote effective interaction among scientists and
experts in computer science. But trends in the organization of
computing centers over the past decade have not promoted the desirable
increased opportunity for experimentation in basic numerical
techniques. This has impeded the production of adequate trained
manpower in this field. The results of university research in
scientific computing are disseminated to only a special group drawn
from disciplines other than computer science. This lack of focus also
impedes the production of adequately trained manpower in this field.
Two steps could alleviate these problems. First, a new model
program in large-scale scientific computing at one or two universities
could be created with strength in both scientific comDutina and
_ _ , ~ _ _ , _ _
· . _
numerical analysis. Second, ways should be sought to promote access
for scientific computing groups to the most powerful computer
facilities available.
8 . RESEARCH IN DATA PROCESSING
The term data processing has historically been associated with business
applications, but the usage of the term has now broadened to include
more general computer-based information retrieval systems. Data
processing accounts for the greatest proportion of institutional
computer use measured by computer-hours. As organizations become more
complex and requirements for documentation, reporting, and management
information become more demanding, the complexity of data processing
systems will continue to grow.
However, little basic research, especially university research, has
been devoted to this area. A list of major developments in the field
would include high-level programming languages such as COBOL, data base
management systems, decision support systems, and a variety of
application development systems that facilitate development of data
i
OCR for page 12
12
processing application programs. All these developments originated in
field practice rather than from universities or industrial research
centers. For example, COBOL, in wide use for business applications,
was developed by a diverse group of hardware vendors. An exception to
the general statement that only limited research has been devoted to
the problems of data processing is data base management, which is one
area where the work of such industrial research centers as the IBM San
Jose Laboratory and the Computer Corporation of America has recently
attracted university interest and involvement. Aside from this,
university-based theoretical work has made its most notable contribution
to data base technology in the development of advanced data access
structures such as the B*-tree. Interestingly, the B*-tree descends
from a collaboration of two researchers, one from industry and one from
academe.
Continuing interchange between researchers and practitioners must
be fostered to promote continued productive development in data
processing. m is is the only way in which university researchers can
be made aware of the constantly shifting foci of attention in this
dynamic field.
9. SOFTWARE DEVELOPMENT
The cost of developing software has been widely recognized as a problem
for many years, especially in industry, which has taken the lead in
developing software to meet certain practical needs. m e productivity
of programmers is rising only very slowly, while software efficiency
and reliability continue to be subjects of concern in industry.
Although significant advances have come over the last 30 years from
research in the science of programming, much more must be done to
improve the productivity of programmers and the reliability of programs.
The concepts that have thus far aided programmer productivity include
high-level languages, interactive computing environments, disciplined
approaches such as structured programming, and related management
methodologies. Continued progress will come from both industrial and
university research laboratories. As in the past, developments will
come from attempts to solve real problems. Much of the development
will need to be done with experimental hardware that may appear
uneconomical but that will become practical as costs are reduced
through high-volume production and technological breakthroughs.
Enhanced progress can come from (1) increased contact between
researchers and real-world software development problems, (2)
revitalization of experimental computing facilities, and {3) support of
experiments with software productivity tools. Such steps promote the
conditions that naturally foster progress in software development.
Representative terms from entire chapter:
data processing