| ||||||||||||
| Copyright © 2009. 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 83
4
Software
Software is an important area of computer technology shaping
the development of both new hardware and new computer appli-
cations. From a functional perspective, two principal categories of
software are applications software, which enables users to manipulate
data and to solve specific classes of problems, and operating systems,
which interface these applications to the computer and also provide
for system resource management and security as well as a number of
support functions, such as file management. For a given computer
hardware environment, a person will generally use one operating
system and one to many types of application software.
Software can also be viewed from the perspective of user type,
a perspective relevant to this analysis. In particular, most soft-
ware is either commercial—that is, intended for use in business
applications—or scientific and technical—that is, intended for use
in scientific, engineering, and other technical problem-solving appli-
cations that tend to be numerically and computationady intensive.
Software used to develop weapons systems, for example, falls in the
scientific and technical class, which is characterized by large and
powerful programs. Commercial software facilitates such activities
as text creation and editing, accounting, and funds transfer. It ranges
from generic applications support to inclustry-specific software.
83
OCR for page 84
84
GL OBA L TRENDS IN COMP UTER TE CHNOL O G Y
MAJOR TECHNOLOGY TRENDS
The software industry has been revolutionized by the arrival
of personal computers and the accompanying explosion of software
markets (see Figure 4.1~. This has shifted the emphasis of software
development from monolithic systems developed by large computer
companies toward small inter-operating software components devel-
oped by small specialty firms and some larger software houses. It
has also furthered the development of standards, resulted in vastly
better development tools, and created a greater focus on networking
and communications.
Commodity Market
The most significant recent development in computer software
has been the commoditization caused by the arrival of IBM and
Apple personal computers and their clones. Fifteen years ago there
were essentially no companies whose primary business was to develop
commodity software packages. Software was developed almost exclu-
sively in large organizations: large computer companies cleveloped
software systems that they shipped in packages with their hardware,
and other large organizations (e.g., banks, insurance companies, and
airlines) developed large application packages for their own internal
use. Software tended to be shipped only in small quantities and was
often bundled with hardware. In many cases software was given away
or sold very cheaply: it served chiefly as an inducement to buy the
hardware on which it ran.
Today the situation has changed in two major ways. First, the
widespread use of PCs has made it possible for software packages to
be distributed in enormous quantities. It is not uncommon for a pop-
ular software package today to have a million copies shipped, where
only a few years ago a thousand copies would have been considered
extraordinary. This proliferation of software has been associated with
a sizable increase in the number of naive users of computers and soft-
ware, in part because many specific applications (e.g., spreadsheets)
stimulate broader use of computers. A consequence of this trend
has been an increase in databases, themselves becoming commodi-
ties in some cases. Another consequence is a steady improvement in
the user interface, including increasing accommodation for images as
well as text. Second, there are now thousands of smaller companies
and individuals developing, marketing, and profiting from software.
OCR for page 85
SOFTWARE
.
:::::
~ i.....
....
~ ,. ,~
,. .....
::::::::::::::::
85
.....
....... ..... ~
......
..... ........................ ..........................................................................................................................................................
. . '''"'''''''''"'''''''''''''''''''''''''''''''"''''''''''''"''''"'''''''''''''"''''''''''''' - $
i. , ... .... .... ................. , , , , ..... ~ _ .......
~.. . ....
. ; ; ; ~ ~ .
..... . . . . .. . _
................... '''''''""""""'"""""""""""""""""""""""""'~ ~ ~ ~ -
it 11~! .
''ll"""''"""'"""""""""""""'""'"'""""""""''""''""""'"""""' ~ ~ .
· . ..... : : . ~ 3 _ _ .
: ~. .: ;; 'a 1 _ _
~; ~ ~ ~ 1 11 ~
i :.'.'. if_ ~ 1 _
' '.'.'.'.'.'' "''~. ~ , ·
~ A:
! ~ ~: . ~.
1 ~ hI ~
~ ~ ~.~, ~
i ~ ~ ~::~:. :~: ~ ~ ~:. : ::
1 ~ ~5, ~
~ ~ ~ ~ ~ . ~
1 ~ ~
. ~
j 3
~ ~ ~, ~. ~ ~
11 [ . ~
it _ ~ ~ ~
~ ~ ~.':~H'l'""''"'' ~
l ~ ~ ~ ~
........... ~,., 4~ ' ' _
, ,~.=,~.~.~.~ ,.,
1, . .,. ~__ .-
1~ ~1~1~.~.~..~ ~~ v
............ ~ ~ ' n''~'' _
, . ~ ~ ~
. - ~ ~ ~ - ~:
;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;:;;;; 3e ~ ; :;;;;; ;
. ::: : :::::~:~:~]
I..;;;;;;;;;.;;; ; ;; ;;;;;;;;;;;;;; ;;; ;;;;; ;; ;; ;; ;;;; ; ;;;; ;; ;;; ;;;; ;;;;; ;; ;;;; ;;;;; 51 ~ {] I] ;~H ail;;;;
: :: :::::::::: :::::::: :::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.
: -
.. : : .
oo
oo
-
u)
o
. ~
o
v
. -
to
t-:~:. . :: :.:::: :::::::.::::: :::::::::::::::::::::::::: : ~ a::-.: a: ~
~ .:: : :: ~. :.: ~: ~
of
JO
o
o
· -
u,
u,
.
.C
c)
~ -
oo
a)
-
u)
-
u)
. .
Q3 ~
~ v
I
~ an
OCR for page 86
86
GL OBA L TRENDS IN COMP UTER TECHNOL O G Y
Most of them clo not do any hardware development and may depend
entirely on software or related services for revenues.
A few years ago many people thought that it was not possible
to create a large profitable software company; today, companies like
Microsoft, Lotus Development, and Ashton-Tate show this thought to
be mistaken. Computer Associates, the largest producer of packaged
software, earned profits of $102 million in 1987, up from $11.4 million
in l9S4 (STutsker, 1988~. Even large computer manufacturers like
IBM and Hewlett-Packard have been restructuring their pricing and
product strategies so that software can become a revenue source by
itself instead of a Toss-leader to bolster hardware sales.
Standard Interfaces
The commoditization of the software market has been accompa-
nied by the emergence of standard interfaces at many levels. Fifteen
years ago there was very little agreement among vendors about any-
thing: each computer manufacturer had its own self-contained soft-
ware systems with proprietary interfaces and no compatibility with
any other manufacturer. Today there are dozens of wiclely accepted
de facto standards covering such elements as file formats, graph-
ics libraries (e.g., Macintosh QuickDraw and the X Window Sys-
tem), operating system interfaces (e.g., PC-DOS, UNIX, and OS/2),
page-formatting languages (Postscript), and network protocols (e.g.,
Ethernet, TCP/IP, and AppleTalk). In the realm of scientific and
technical software, the use of FORTRAN has brought about an ef-
fective standardization, so that it has been relatively easy to move
such software to a variety of machines. Increasing standardization
does not mean that there is complete compatibility across any and
ah systems, but rather that compatibility is growing; it is shaping
and shaped by trends in hardware and software.
Standarc! interfaces allow different companies to produce interop-
erable hardware and software components. This is important because
it no longer seems possible for any one organization to produce ah
of the software for a particular machine or environment. Attempts
to do so have contributed to product failures (e.g., Xerox's Star
and Apple's Lisa). Most recent systems have tended to be based
on and to provide standard interfaces, so that other manufacturers
can develop additional software to enhance the value of the system
to users. The openness of the IBM-PC hardware and software, and
the fact that those interfaces became standards, are key reasons for
OCR for page 87
SOFTWARE
87
the success of the PC. There is some ambivalence in industry toward
openness, however, because it diminishes the value and profitability
of proprietary designs by increasing opportunities for competition.
Software Components
An overall effect of the trend toward commoditization and stan-
dardization has been the development of a software components
business. Fifteen years ago software was typically distributed in
large, monolithic, do-everything systems. Today software is more
often marketed in small packages. Spreadsheets, word processors,
databases, page layout programs, compilers, network communica-
tion, and many other packages are all sold individually by different
vendors. Even subcomponents, such as input/output drivers, screen
managers, file access methods, and format converters (e.g., LOTUS
1-2-3 to DIF), are being marketed separately. The large volume
of potential shipments means that niche products can potentially
generate large revenues. When designed to existing standards, new
products can be used in existing systems with many other existing
software packages, so the new product's designers need not rede-
velop an entirely new software environment. The result is that small
organizations can turn new ideas into exciting niche products very
quickly.
Development Tools
Tools for software development, aimed p rim ariTy at the software
industry, have been one of the major beneficiaries of the software
components business. It is now possible to buy a modern language
development system with editor, compiler, linker, loader, symbolic
debugger, and run-time library for a few hundred dollars. New de-
velopment tools are being produced at a dizzying pace. The result
is that software technology is fueling itself: new tools shorten the
development cycle, which results in more application packages, in-
cluding better tools that further shorten the development cycle and
so on.
There is a trend toward integrating development tools into what
are referred to as software engineering environments. These envi-
ronments (examples from Europe are discussed below) combine the
process of specifying end-user requirements with the process of pro-
gramming. They affect software across the entire development cycle.
OCR for page 88
88
GL OBA L TR ENDS IN COMP UTER TE CHNOL O G Y
They may also help with maintenance, the error correction en cl up-
dating activities that can account for at least 50 percent of the
lifetime costs of a piece of software (Hall, 1987~.
It is difficult to gauge the full extent of progress in this area
because some of the best development tools are not available com-
mercially. They are developed by sophisticated companies, often but
not always in the computer industry, for their own use and competi-
tive advantage.
Distributed Systems
Another recent trend in software technology is toward distributed
systems. The arrival of personal computers and workstations encour-
aged networking, because without it each user would be isolated on
his or her own machine. Nowadays users expect machines to be
able to work cooperatively in a variety of modes ranging from mad!
and file transfer to shared network services for printing and filing.
Manufacturers without adequate networking software are finding it
increasingly difficult to compete (see Chapter 5~.
International Software
A final technology trend is toward international software (pro-
grams or systems that can be used with many different national
languages). This trend is still not weD established, but it appears
to be slowly taking hold. For example, there is at least one ma-
jor manufacturer working on an international version of the UNIX
operating system, and Lotus Development distributes software in
seven languages. In support of end-user needs around the world,
efforts are under way to provide for multinational syntax, multina-
tional messages and text, multinational conventions for date, time,
and currency, and multinational character sets. However, automatic
translation capabilities for software are not likely to be realized any-
time soon.
Integrated Systems
Apart from the trefoils in packaged software, there is still strong
demand for special, custom-developed software, typically to integrate
large systems of hardware and software. Such software has often been
developed in-house by users or by professional service firms (software
and systems houses) for firms that cannot or prefer not to develop
OCR for page 89
SOFTWARE
their own software. Examples
89
i
nclude air traffic control systems, air-
line reservation systems, factory automation systems, banking and
finance systems, a variety of military-related command and control
systems, and also smaller embedded systems such as medical scan-
ners and life-support systems. These systems involve processes that
take place and are controlled by computer systems more or less in real
time, with actions occurring at rates too fast for human intervention.
(See Appendix B for a discussion of computerized manufacturing
automation systems.) In addition to performing conventional com-
puting tasks, such systems are often useful to the degree to which
they can quickly and effectively integrate and respond to sensor in-
formation. The growth in systems integration software reflects the
increasing sophistication and complexity of many larger computer
systems.
Most integrated systems are quite large. A million lines of code
are not uncommon, and neither are price tags of $25 million or so.
These systems also tend to be produced in small quantities, ranging
from only one or two to tens of copies. In each case, the system is
customized.
Currently, the United States and Western Europe have major
production capabilities and markets for such systems, but competi-
tion is emerging from Japanese producers.
Key to the success- and possible transfer of this technology
are system building tools, methods, and know-how. The tooling
is seldom sold or delivered with the end product; systems com-
panies guard their tooling like "corporate jewels." The tools in-
clude performance simulations, interface specifications, configuration
management automation, cost collection and controls, job progress
completion tracking, programming environments (i.e., integrated
edit-compile-link-build-test-edit software tools), component testing,
subsystem integration and testing, system integration and testing,
real-environment parametric simulator testing, system installation
and testing, life-cycle operation, and maintenance support.
Integrated systems tend to have strong dual-use potential. For
example, U.S. command, control, and communication systems for
Olympics-level sporting competition management would require the
integration of high-speed redundant computer mainframes, local area
network communications, large-scare graphics displays, numerous
display consoles, complex operating systems, communications pro-
tocols, database management, and statistical computations. If used
by CMEA countries as a sporting system, such an integrated system
OCR for page 90
go
GLOBAL TRENDS IN COMPUTER TECHNOLOGY
wouIc3 pose little concern. However, with modification, it could also
be applied through dual use to military logistics, or military train-
ing and exercising. Preventing such use could be achieved through
administrative measures, such as by making a sale conditional on a
five-year service contract with the U.S. manufacturer and by provid-
ing none of the tools or documentation of its internal construction.
Such constraints would make it prohibitively expensive in time and
labor to reverse engineer the source code.
Given the clear strategic value of such systems to their customers,
there is an obvious need to establish appropriate controls when the
system has potential military importance; and many have some po-
tential military use. Because of the immense cost involved in the
development of such systems, manufacturers have instituted strict li-
censing controls for their dissemination. Moreover, they hardly ever
distribute the source code or the tools used to build such systems.
Artificial Intelligence
Artificial intelligence (AI) is the study of how machines can
be made to perform tasks of the kind that require the intelligence
of human beings. Making machines behave intelligently involves
programming them appropriately and providing them with a suitably
encoded database of facts about the domain in which they are to
work.
The American lead in Al science is probably larger than in most
fields of computer science; the most prominent Al researchers are
mostly American. In principle, the next major discoveries could be
made anywhere in the world, but in fact the conceptual advances have
mainly been made in the United States. The U.S. lead is based on an
early start in the 1950s and early support by the U.S. Department
of Defense via the Defense Advanced Research Projects Agency. An
American lead in computer technology was also important, because
good computers are important for AT research. However, for the past
10 years, the progress of A] science has been primarily limited by
conceptual difficulties rather than by hardware.
AI progress depends on a number of elements, such as languages
suitable for writing AT programs. Most languages have involved
dialects of LISP, but Prolog and its variants have more recently
become important.
A useful technology of "expert systems" has developed in the
OCR for page 91
SOFTWARE
91
last 15 years, and hundreds of companies worldwide, both compa-
nies needing the expert systems and specialist firms working under
contract, are involved in exploiting various aspects of it. For many
applications, expert systems have to be connected to databases and
other programs. Numerous specialized products exist for doing this,
especially for making connections to commercial systems based on
IBM technology. Fitting the expert system into the user's operations
can be a larger task than writing it. Both tasks involve interaction
with people possessing expert knowledge of the domain in question.
Commercial expert systems "sheds" have recently been devel-
oped that make possible more convenient development of expert
systems. This is important, because in expert systems, development
time and the ability to modify the system are the prime components
of cost.
Artificial intelligence is also concerned with development of com-
puter systems that have some capability to learn, process sensory
(e.g., vision and speech) information, control other kinds of machin-
ery (e.g., robots), and perform other cognitive functions.
BREAKTHROUGH POSSIBILITIES
Compared to some of the hardware areas, software appears much
less amenable to major breakthroughs. Advances equivalent to the
relentless exponential increase in component density that has oc-
curred for integrated circuits have not occurred arid are not antic-
ipated. Gains in software are likely to come slowly, if at all. This
situation is due, in part, to the relatively nonscientific process of soft-
ware generation (Computer Science and Technology Board [CSTB],
198Sa). Nonetheless, there appear to be at least four areas in which
breakthroughs are possible: concurrent programming, formal tech-
niques, nonprocedural languages, and encryption, which is discussed
later under the section on protectability.
Concurrent Programming
One of the trends in the design of high-performance computers
is increasing concurrency, that is, the use of several functional units
or processors, operating at the same time, to speed up the solution of
certain problems. Although there wiB be continuing advances in the
speed of individual processors, much more performance improvement
is possible if large numbers of processors can be applied concurrently
OCR for page 92
92
GLOBAL TRENDS IN COMPUTER TECHNOLOGY
to solve a problem. Current supercomputers, like the Cray machines,
have small degrees of parallelism, either in the form of pipelining
(e.g., in the Cray-l) or multiple processors (e.g., the Cray-2~. A few
examples of highly parallel machines are available today (like those
from Thinking Machines), and more examples are likely to appear in
the future. These machines are particularly important to scientific
and technical users.
Achieving the benefits of highly parallel machines depends on
being able to program them. Most existing software is written for a
single processor carrying out tasks sequentially. It is extremely cliffi-
cult to take a sequential program and subdivide it so that different
pieces may be executed concurrently on different processors. Some
application areas appear well suited to parallelism (e.g., weather anal-
ysis for a large area that could be divided into component regions),
while others do not appear to map conveniently onto concurrent ma-
chines (e.g., compilation or word processing). For parallel machines
to become widely used, new techniques must be developed for pro-
gramming them. The new techniques must be accompanied by new
development environments that allow efficient concurrent programs
to be produced quickly en c! easily.
Although this is an area of great importance and one in which
a breakthrough would have major significance to the computer field
as a whole, it is not at all certain that a breakthrough will occur.
Researchers have been working on this problem for at least 15 years
without impressive results. Highly concurrent programs have been
developed for a number of applications, but at great cost. The tools
that are available do not provide much assistance in writing parallel
programs. Overall, things Lo not seem much better today than they
did 15 years ago.
On the other hand, there are probably more researchers active in
the field of concurrent programming now than ever before, which will
increase the likelihood of a breakthrough. In addition, some recent
developments, like the Thinking Machines' work, Took promising,
although it is still too early to announce a major breakthrough. A
breakthrough in the area of concurrent programming could result in
widespread use of machines with 10 to 100 times more processing
power than would be available otherwise.
Formal Techniques
Another major focus of research is in the application of formal
methods to software development. Formal methods or techniques
OCR for page 93
SOFTWARE
93
are concerned with attaching exact meanings to programs so that
their behavior can be precisely (and mathematically) specified. The
most rigorous approach is program verification: proof of functional
equivalence between a piece of code and a specification of the code's
intended behavior, or between a specification and a set of require-
ments. Current research allows proofs between code and specification
for up to 10,000 lines of code, or between specification and require-
ments for up to 100,000 lines of specification, and the tools are
emerging from hand-craft to production quality. It is possible that
there may be major breakthroughs in this area by 1993-1995.
Even without proof of verification, formal techniques can be
applied to the development process, including, for example, rela-
tional calculus, object-oriented design, well-specified standards and
interfaces, and strongly typed languages such as Ada, Modula, and
Pascal. This trenct has the potential to increase productivity by re-
ducing the labor-intensive post~esign testing phase and the life-cycle
maintenance phase of software development. Semiformal techniques
are already being applied to varying degrees in many software devel-
opment organizations.
This area is similar to concurrent programming in that research
efforts have been under way for almost 20 years, with many disap-
pointments and a few modest results. It is possible that no major
breakthrough will be forthcoming. On the other hand, the technol-
ogy appears to be gradually maturing; there are estimates that as
much as 50 percent of ah software development will use formal tech-
niques within the next 10 years. If verification techniques become
widely and successfully used in the software industry, they could re-
sult in dramatic improvements in the reliability of software and also
in maintenance and testing costs.
Nonprocedural Languages
Some of the most exciting developments in software over the
past 10 years have consisted of new user interfaces and ways of
programming computers. Spreadsheet programs are probably the
best example of a successful new paradigm. They represent a totally
new way to manage and display information in a computer, unlike
anything that preceded them. Spreadsheets also provide a novel
programming "language" that is used to describe the relationships
between entries in the spreadsheet, so that a change in a single
entry can update many other entries automatically. This is a form
OCR for page 96
96
GLOBAL TRENDS IN COMPUTER TECHNOLOGY
Japan
The Japanese produce a large amount of software, primarily
through large software organizations within large companies. Some of
these organizations are structured and referred to as factories. Soft-
ware factories at Toshiba and elsewhere concentrate hundreds and
even thousands of programmers in single facilities, produce focused
products, and rationalize procedures in such areas as testing, gener-
ation, and reuse of standardized software components (Cusumano,
1987b).
Japanese software is primarily developed on a custom basis (U.S.
Congress, Office of Technology Assessment IOTA], 1987~. It tends
not to be sold on its own and is usually marketed only as part of
larger hardware-software systems. Much of the Japanese software
development effort appears to support large integrated systems for
applications, such as banking systems, nuclear power plants, and
process control. By concentrating on specific applications, Japanese
software producers increase opportunities for reusing software (OTA,
1987).
One reason why Japan has tended to have much higher levels of
software customization and fewer standardized packages is the slower
diffusion of microcomputers there as compared to the United States,
a factor that is clearly changing with time (Cusumano, 1987a). The
combination of reportedly higher programming productivity in Japan
with Tow levels of production for standardized products is noteworthy;
it suggests that Japanese entry into standardized product markets
could draw on a productivity advantage to achieve significant price
advantages, an expectation consistent with Japanese performance in
other markets.
It appears to be common for Japanese software developers to
work very closely with their customers and to guarantee the quality
of the software they produce. Such guarantees are unheard of in the
United States. While there is some question about just how good
Japanese software quality is, it appears that the Japanese have been
applying to software production approaches for quality assurance
and quality control that are similar to those used in their hard-goods
manufacturing operations.
Japanese concerns about access to U.S. software, such as UNIX
licenses, have led to the establishment of Japanese software research
labs in the United States from which technology is exported home.
Another countermeasure is to protect their domestic market by a
form of software registration. Though controversial, the Japanese
OCR for page 97
SOFTWARE
97
continue to explore copyright, trademark, or patent protection of
their software (]TECH Panel, 1984~.
The Japanese have not presented a significant challenge to U.S.
Or European software developments in terms of innovation. For exam-
ple, neither the Japanese Fifth-Generation Project nor its The Real-
Time Operating System Nucleus (TRON) project, both of which have
been publicized as high-investment, high-effort endeavors, appears to
have produced any major breakthroughs. The industry-government
Software Industrialized Generator and Maintenance Aids (SIGMA)
initiative launched in 1985 is considered by some observers to promise
significant progress in software productivity.
Western Europe
The West Europeans, especially the British, have a Tong his-
tory of software development. On the research side, the European
community has tended to focus more on theoretical and formal ap-
proaches than on practical system-building. British universities have
produced interesting systems work, but most research organizations
in Europe have not. For example, the Computer Laboratory at
Cambridge University has produced many interesting hardware and
software systems.
On the industrial sicte, much software development appears to
be carried out by large teams in large companies, for internal use.
Other large players include European computer and computer hard-
ware manufacturers such as ATcatel, Thomson, Siemens, and Nixdorf
(OTA, 1987~. There appear to be few software start-ups, perhaps
due to the lack of venture capital. Much customized software is pro-
duced through software and systems houses, such as Britain's Logica
and France's CAP Gemini Sogeti, which tend to be relatively large.
As in Japan, slower diffusion of PCs in Western Europe com-
pared with the United States contributes to slower growth of PC
applications and associated software. Also, the prominence of hard-
ware produced by U.S. companies contributes to the strength of U.S.
hardware vendors as well as independent U.S. software vendors in the
software arena. The prominence of U.S. hardware may explain why
there has been no leading non-U.S. commercial or scientific operating
system. The British, in particular, have sought to offset the economic
impact of this situation by encouraging local software development
by U.S. companies. The Irish have been particularly aggressive in
OCR for page 98
98
GL OBA L TR ENDS IN COMP UTER TE CHNOL O G Y
inviting and subsidizing investment by U.S. companies, in part to
counter emigration by skilled programmers.
There is evidence that the software situation is changing in Eu-
rope, albeit slowly. Countries like France, which used to be more
theoretically oriented, are becoming more practical. Some software
exports are beginning to occur, such as Prolog and software devel-
opment environments. In some countries smaller software companies
are forming. For example, in Italy there is quite a bit of internal de-
velopment of applications packages; however, the packages are user!
mostly within the country and are not often exported. Also, re-
ductions in intra-European trade barriers and other efforts to unify
Western Europe economically are expected to further European ac-
tivities in developing electronic data interchange (EDT) software and
possibly other types of on-line transaction processing software.
Of special interest is the emphasis in Western Europe on software
engineering. Europe has three noteworthy software environment de-
velopments. The first is a product called ISTAR that is sold by
Imperial Software Technology (IST), a spin-off company from Im-
perial College London. It is an example of an integrated project
support environment (IPSE). Several projects in the ESPRIT and
the now-defunct Alvey software programs are conducting research
in various theoretical issues related to IPSE. The overall goal is
to provide a common framework for distributed development that
includes procedures, formal methods, languages, and tools. The
second is the ESPRIT program's Portable Common Tool Environ-
ment (PCTE), which has been on the market since 1986. Lastly,
research programs based on applying formal mathematical methods
to software development for mathematically oriented applications,
including cryptography, and applications where safety is a critical
consideration, are beginning to appear. These efforts could result
in both higher productivity and higher product quality (see Appen-
dix C).
Other Countries
A number of other countries are attempting to become major
players in the software market, focusing at this time on volume pro-
duction of relatively standard or basic software rather than innovat-
ing. Julia, Malaysia, the People's Republic of China, and Taiwan are
among the countries that have targeted software as major national
· · .
priorities.
OCR for page 99
SOFTWARE
99
India, for example, is reportedly aiming for an annual software
production rate of $100 million per year, and its software exports
have been growing by 40 percent per year (Botelho, 1987~. It also
"exports," on a temporary basis, programmers to work on interna-
tional software conversion projects.
Several U.S. firms have transferred some of their software devel-
opment effort to newly industrializing Asian countries largely because
of their relatively low labor rates. For example, Digital Equipment
Corporation, Unisys, and Hewlett-Packard had established software
centers in Singapore by the mid-1980s, a situation made easy by
the use of English in the Singapore educational and industrial en-
vironments (Davis and Hatano, 1985~. The long-term role of these
countries in the software market is uncertain. Their prospects will
be affected by their lack of access to a number of resources, such as
the sophisticated hardware needed to develop the most sophisticated
software.
As consumers, the major OECD countries appear to dominate
the world software market. Through the mid-l9SOs, these countries
constituted well over 90 percent of that market (Organisation for
Economic Cooperation and Development [OECD], 1987~.
Is the United States Inherently Superior?
There is some evidence that the United States has fundamen-
tal cultural advantages for producing software. Innovative software
seems to spring from entrepreneurial environments consisting of a
small number of dedicated, creative, and uncontrolled individuals.
The ready availability of venture capita] and the U.S. societal struc-
ture as a whole seem to nurture such developments. Most of the
rest of the world appears to be more rigidly structured, with large
industrial organizations, little venture capital, and, often, no incen-
tives for entrepreneurs to try radically different approaches. Such
an environment does not seem conducive to making software break-
throughs. For example, the Japanese have been much less successful
in penetrating the software markets than they have been in other ar-
eas, in spite of a few highly visible projects like the Fifth-Generation
Project and TRON.
On the other hand, there is also evidence that the U.S. lead
in software will be threatened. Software development requires more
than creativity; once the initial idea has been generated, an enormous
amount of work is required to produce a reliable product. Software is
OCR for page 100
100
GL OBA L TRENDS IN COMP UTER TE CHNOL O G Y
most likely to be of high quality if it is developed in a structured en-
vironment by skilled craftsmen who carefully partition the work and
manage interfaces. Although the U.S. culture appears well suited to
generating creative ideas, it tends not to emphasize structure and
craftsmanship, which are essential in producing a software product.
Other countries with better organizational structure and craftsman-
ship (e.g., Japan) may find that they can take ideas from the United
States and produce better software products.
Furthermore, software is very labor-intensive. This makes it
possible for countries with relatively cheap labor, including most
of Asia, to compete effectively in the software markets. On the
other hand, Tow labor costs alone do not make a successful software
industry. More sophisticated software requires high levels of skill
not only in programming but in project management and product
marketing. This is especially true for packaged software (OECD,
1987).
PROTECTABILITY
It is extremely difficult to restrict the flow of software. It is too
widely available, too easy to replicate, and too easy to conceal. A
single 8-mm digital videocassette, small enough to fit into a shirt
pocket, can hold all of the sources and binaries to a major software
package representing thousands of person-years of effort. There is no
way to prevent packages from being carried and copied all over the
world.
Inhibition of copying has been a concern of software vendors
domestically and within CoCom countries generally. Vendors have
resorted to legal protection against copying (copyright, trade secret),
copy protect mechanisms, object-code-only (OCO) shipment prac-
tices, and, in some cases, use of proprietary compilers. One of the
best examples of the difficulty of protecting software is the decision by
several key software manufacturers (including Lotus Development)
not to copy-protect their disks. The previous copy-protection mech-
anisms were woefully inadequate and tended to alienate customers.
Instead, Lotus decided to rely on Tow pricing and honest customers,
under the assumption that most customers would prefer to pay a
few dollars rather than to make an illegal copy and risk trouble if
discovered.
Because of its low replication cost, software is harder to restrict
OCR for page 101
SOFTWARE
101
than hardware. For example, given a single diskette it is a rela-
tively easy task to make a thousand copies. Given a single personal
computer, it is much more difficult to make a thousand copies of the
computer, particularly given the advanced manufacturing techniques
and high-tech components used today. Thus, an approach that slows
the flow of hardware to an adversary might be effective because the
adversary would not be able to accumulate a large enough quantity
of the hardware to make it widely available. On the other hand, an
approach that slows the flow of software might not be effective unless
it prevented the adversary from getting even a single copy.
In summary, it does not appear feasible to completely cut off
the flow of software to the Soviet Union. Although the flow can be
slowed, CMEA countries can continue to replicate what they acquire.
Denial of Source Code
The usefulness of stolen software may be reduced by protecting
the source code more carefully than the executable binaries. Soft-
ware is of little use unless it can be adapted en c! supported. For
example, certain scientific and engineering applications might have
to be modified for the Soviets' particular environment and problems.
If these applications were distributed in executable binary form only
and the source code were protected carefully, it would be difficult for
the Soviets to adapt the programs to their needs. In addition, most
programs require ongoing support to fix bugs and add new features
(i.e., maintenance). If the source code becomes widely distributed,
it cannot be protected against illegal export. But if the source code
and documentation were protected, it would be difficult for CMEA
countries to maintain the software; they would probably have to con-
tinuaJ1y reacquire the programs from the West or work with inferior
products, which is in fact reported to have happened.
Unfortunately, it may be difficult to protect source code. Most
companies already attempt to protect their sources, but internal se-
curity is usually lax. It would be relatively easy for the Soviets to
obtain sources to important programs. This is especially true for
scientific and technical software, for which there has been a continu-
ing tradition of worldwide distribution of unclassified software, both
by individuals and by such centers as Argonne National Labora-
tory, CERN in Geneva, and the Computer Physics Communications
Library in Belfast, Northern {relend. Programs distributed within
the global scientific community can range from small subroutines
OCR for page 102
102
GL OBAL TRENDS IN COMP UTER TECHNOL OG Y
for calculating a simple mathematical function to whole systems for
complete calculations in a branch of high-energy physics or simi-
lar fields. Many scientific institutions, including some in CMEA
countries, subscribe to the software services provided by the above
centers.
Typically, such programs are distributed as source code. As a
result, there are no effective controls on their distribution, since a
recipient of the source code can easily modify it for his or her com-
puter. Given the extent and duration of this activity, mandating
general changes in the distribution system to meet potential national
security threats is likely to be considered unacceptable by the scien-
tific community.
Furthermore, the trend toward standards is coming to include
the distribution of sources as wed as binaries. For example, the X
Window System is distributed freely with sources. There are also
thousands of copies of the sources to the UNIX operating system
around the country, although they are all licensed by AT&T. These
important pieces of software are impossible to control now, although
it might be possible to restrict access to others. In many cases, access
may also be restricted by firms acting in their own interests, given
the environment in CoCom markets.
Another problem with source code protection is the trend to-
ward interchangeable library and subsystem components. The com-
ponents are often designed so that they can be adapted for use in
many different situations without accessing the source code, merely
by replugging or reconfiguring the components. For example, in-
creasing dependence on the C compiler for both systems control code
and applications provides a significant increase in the ability to cross
systems, decipher the intent of the platform usage, and eventually
replicate software for other environments. To the extent that a com-
ponent can be reconfigured dynamically, an adversary can adapt the
executable binary of the component to his needs without accessing
its source code.
Note that there is a related problem, the association of legal sales
of software with provision of maintenance services (i.e., the customer
does not have access to the source code but can commission the
adaptations needed). The maintenance and training associated with
direct sales can alone constitute considerable technology transfer.
OCR for page 103
SOFTWARE
103
Denial of Hardware
Given the difficulty of replicating hardware as compared to soft-
ware, the most elective way to prevent Western programs from being
used in Eastern-bloc countries may be to deny access to the comput-
ers on which to run the software. However, an export control policy
based only on denial of hardware would increase the incentive for the
Soviets to duplicate Western machines, and it would be undermined
in part by the increasing commoditization of computer hardware (see
Chapter 2~. Therefore, it would be most viable for the top-of-the-line
machines.
Widespread availability of a wide variety of software has already
motivated CMEA to mode! some local machines on DEC VAXs, in
particular (see Chapter 6~. While the VAX line is being continually
upgraded, DEC systems are designed for a high degree of inter-
changeability. Consequently, software intended for newer and faster
machines wiD run on older, slower machines. IBM operating system
software, by contrast, tends to change more with hardware advances.
The Soviets are starting to produce faster machines, but it will take
time before appreciable numbers are built (see Chapter 6~.
Protection of Software by Class
In general, the committee finds it impractical to devise a suitable
taxonomy covering all software. Nevertheless, it recognizes that the
transfer of some software to the Soviets wiD be more harmful to
national security than the transfer of other software. It supports
distinction among no more than three classes of software. The first
is software that has a compeDing and direct military importance to
the Soviets. A simulation model for nuclear explosions or advanced
avionics software are two examples in this class. Exports of software
(source and object code) in this class should be tightly controlled.
Unfortunately, there are no good discriminators available that
tell when a conventional piece of software mounted on standard hard-
ware achieves sufficient military importance as an integrated system.
The best discriminators involve a set of triggers that would deter-
mine what level of sophistication is involved in a given product and
its military relevance. Examples of triggers could be contract dollar
value (e.g., ad integrated systems costing more than $25 million) or
size (e.g., more than 200,000 lines of custom application code), or use
of certain sensors or peripheral devices (e.g., phased-array radar), or
OCR for page 104
104
GL OBAL TRENDS IN COMPUTER TECHNOLOGY
development by certain contractors. Such triggers could then be used
to help decide whether to issue an export license.
A second class is software tools that can be used to build software
of compelling military importance. The committee was divided on
how to handle this class. One view was that Al software in this
class should be subject to an export license, unless it is possible to
make finer distinctions within the class. The other view was that
this class of software should not be controlled except for export to
CMEA nations. Almost any software engineering package (especially
software for CAD, CAM, and CIM) could be construed to fall in
this class. Tight controls could have a substantial negative impact
on U.S. competitiveness, because software engineering efforts are
increasing in the West generally. A compromise approach could
support unencumbered sale of object code among CoCom countries
and specific licensing of source code for the use of the buyer (and
restrictions on transfers to other end-users). The third category is Al
other software; no export license should be required for this software,
among CoCom countries.
Encryption
The committee was divided on whether encryption wiB improve
the protectability of software. One view was that U.S. manufacturers
must develop hacker-proof mechanisms for preventing unauthorized
use of software, and that encryption techniques will lead to such
mechanisms by the mid-1990s. For example, it would be useful if
software could be linked to specific machines in a way that makes
vendor intervention necessary if the product is moved to another
machine. This would permit a vendor to export a copy of a program
to a foreign country while preventing the recipient from redistributing
to the Soviets (or to anyone else, for that matter). Another approach
currently being explored consists of a "potted" CPU and encryption
board such that clear text never appears outside the potted board.
Then all code and data are encrypted in the computer except when
executing. This also counters binary dump copies
The opposing view was that any mechanism that permits wide-
spread distribution, no matter how controlled that distribution ap-
pears to be, cannot be protected against theft by a dedicated op-
portent. For a package to be widely distributed, the authority to
grant access to that package must also be widespread (e.g., among
authorized distributors). But even such widespread authority could
OCR for page 105
SOFTWARE
105
be circumvented by one dishonest deafer who would make copies
for use in CMEA countries. Given the ease of duplicating software,
the primary impediment to the Soviet Union may be the difficulty
of acquiring the first copy. This situation may limit the value of
encryption as it is currently known for protecting software.
Summary of Protectability
In spite of the difficulties of protecting software, the committee
supports the concept of restricting exports to CMEA countries and
encouraging the protection of source code by vendors. Even if it is
relatively easy for the Soviets to acquire any given program, it would
take immense effort to acquire sources or even binaries for the thou-
sands of useful programs and application libraries that exist today.
The acquisition process would have to be repeated continually as new
programs become available or old ones are enhanced. Besides the ex-
pense of such efforts, it would be difficult to keep them secret. The
likely result is a steady lag of the Soviets behind the West in use of
state-of-the-art software. Without export controls, CMEA countries
would probably acquire more software more quickly, without much
commercial benefit to CoCom industry.
CONCLUSIONS
A major development has been the emergence of commodity soft-
ware associated with the proliferation of PCs. Commodity software
is cheap and widely available through retail channels.
Software is less amenable to breakthroughs than hardware, but
major advances are needed in software for parallel architectures.
Software development is becoming more systematized and more
like hardware development with software components, standardiza-
tion of interfaces, and improvements in tools that partially automate
the development process.
The United States is the world leader in software. One reason
appears to be the favorable U.S. environment for the small-scare,
creative, entrepreneurial efforts that most often lead to software
innovation. The United States should do everything possible to
further the export of U.S. software to friendly nations to protect U.S.
commercial leadership in this arena.
Software is intrinsically difficult to protect because it is easy
to carry and to copy. However, large packages for large systems, in
OCR for page 106
106
GL OBA L TR ENDS IN COMP UTER TE CHNOL O G Y
particular, may be less valuable to a thief than to a purchaser because
of the lack of reliable access to vendor support, maintenance, and
upgrades.
In some cases the usefulness of stolen software may be limited
through restrictions on the distribution of source cocle, which is
necessary for mollifying software, and through encryption.
The committee divided software into three principal classes for
purposes of control efforts. The first is software with a compelling
and direct military usefulness to CMEA countries, for which exports
should be tightly controlled. The second is software tools that could
be used to build software of compelling military significance, for
which some degree of control appears necessary. The third includes
all other software, which should be freely traded within the West.
Representative terms from entire chapter:
source code